假设您有一个包含两列的数据框 - TransactionId 和 ItemId,它看起来像这样
A a
A b
A c
A e
B a
B d
B e
ETC
并且您想将其表示为一个矩阵,如下所示:
a b c d e f
A 1 1 1 0 1 0
B 1 0 0 1 1 0
ETC
最优雅的做法是什么?我听说过 model.matrix,但确实相信它仅适用于每个事务单行的数据。
井架
假设您有一个包含两列的数据框 - TransactionId 和 ItemId,它看起来像这样
A a
A b
A c
A e
B a
B d
B e
ETC
并且您想将其表示为一个矩阵,如下所示:
a b c d e f
A 1 1 1 0 1 0
B 1 0 0 1 1 0
ETC
最优雅的做法是什么?我听说过 model.matrix,但确实相信它仅适用于每个事务单行的数据。
井架
您可以使用 arules 包中的 read.transactions 函数:format="single"
数据 <- read.transactions("YourDataset.csv", format = "single", sep=",", cols = c(1,2))
然后,您可以使用“as”函数格式化数据集,如下所示:
如(数据[1:5],“列表”)
作为(数据[1:5],“矩阵”)
作为(数据[1:5],“ngCMatrix”)
这里有一些教程:
http://zoo.cs.yale.edu/classes/cs445/misc/mar13lae08.pdf
http://www.inside-r.org/packages/cran/arules/docs/nitems
希望有帮助。
卡里姆