arulesSequences を使いこなすには、前処理で適切なデータフレームへの変換が必要です。
容易に使えるように以下のようなラッパーをかませて使いたいところです。
文字列はfactor, 数値はdiscretizeでfactorに変換
シーケンスはすべてfactorでないとなりません。
df$str <- factor(df$str)
df$num <- discretize(df$num)
eventIDは昇順のIDとして付与
通常eventIDになりそうなIDがついているデータはそうは無いので、row_number()を使ってシーケンシャルなIDをつけましょう。
例として seqIDでシーケンスのIDが定められたすでに時刻などでソートされたデータについて、eventIDとsequenceIDを付与する方法を示します。
df <- df %>% group_by(seqID) %>%
mutate(eventID = row_number()) %>%
arrange(eventID) %>%
{ mutate(ungroup(.), sequenceID = group_indices(.)) }%>%
arrange(sequenceID)
全部数値にするのはかなり面倒で間違いやすいですが、このライブラリが許容しないので致し方ないです。
value 列も必要になるので、あとで追加しておきます。
ファイルで行って来い(汗)
Rのライブラリに多いのですが、カスタムデータセット形式のbuilderが、入力としてファイルしか取れないです。
正直、うんざりですが、これも仕方ないですねorz
write.table(df, "./temp.csv", sep = ",", row = F, col = F)
os <- read_baskets("./temp.csv", sep = ",", info = c("sequenceID", "eventID"))
こんなuglyなコードはhelperとして関数化しておきたいところです。。。