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