我有以下格式的交易数据框:
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}
我正在寻找转换这些数据的最佳方法。请注意,对于每个客户,我们可能有多个交易,每个交易可能包含多个项目。感谢。
答案 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}