如何将事务数据的data.frame转换为R中的序列数据?

时间:2015-11-07 20:31:22

标签: r

我有以下格式的交易数据框:

item   transactionID  customerID
 A           1            1
 B           1            1
 B           2            2
 C           3            1
 A           4            3

我想将其转换为以下格式并将其存储在文本文件中,以便稍后使用arulesSequences包进行分析:

CustomerID  SequenceID   Size   items
    1            1        2     {A,B}
    1            2        1      {C}
    2            1        1      {B}
    3            1        1      {A}

我正在寻找转换这些数据的最佳方法。请注意,对于每个客户,我们可能有多个交易,每个交易可能包含多个项目。感谢。

2 个答案:

答案 0 :(得分:1)

这个解决方案怎么样?

y <- 10
fibvals <- numeric(y)
fibvals[1] <- 1
fibvals[2] <- 1
for (i in 3:y) { 
   fibvals[i] <- fibvals[i-1]+fibvals[i-2]
    if (i %% 2) 
  v<-sum(fibvals[i])
}
v

答案 1 :(得分:1)

aggregate的基础解决方案:

with( inp, aggregate(item, 
                     list(transactionID =transactionID, customerID =customerID), 
                     function(item) c(Size=length(item), 
                                      items=paste0("{",paste0(item,collapse=","), "}"))))

  transactionID customerID x.Size x.items
1             1          1      2   {A,B}
2             3          1      1     {C}
3             2          2      1     {B}
4             4          3      1     {A}