Server Epoch A B C D E
1 C301 1420100400 1 0 1 0 0
2 C301 1420100700 0 0 0 0 0
3 C301 1420152000 0 1 0 0 0
4 C301 1420238100 1 1 1 0 0
5 C301 1420324500 1 1 1 1 1
我需要帮助将上面的矩阵变成篮子或交易形式(与包arulesSequences中的cSpade算法一起使用),这样矩阵中的每个“1”都是一个交易项。即,输出看起来像这样:
Server Epoch #items Items
C301 1420100400 2 A C
C301 1420152000 1 B
C301 1420238100 3 A B C
C301 1420324500 5 A B C D E
我写了一个很长的功能,但它不是非常有效且非常耗时。它需要跨大型数据集进行扩展。感谢您的帮助
答案 0 :(得分:1)
您可以尝试melt
和reshape2
的{{1}}组合。融化数据集后,将等于aggregate
的值隔离为1
和Server
。要对列中的变量求和,我们使用Epoch
和length
作为项目列表:
toString