【发布时间】:2013-08-21 06:19:22
【问题描述】:
我有一个不同用户 (USER) 的数据框。每个用户都有不同的物品(ITEM):
USER DATE ITEM
A 1 alpha
A 1 beta
A 1 gamma
A 2 alpha
A 2 gamma
A 4 beta
A 4 gamma
B 1 alpha
B 1 beta
...
对于不同长度的项目的不同组合,我想统计具有特定组合的用户数。
输出应该是这样的:
amount_of_users combination_of_items
2 (alpha,beta)
1 (alpha,gamma)
1 (beta,gamma)
1 (alpha, beta, gamma)
如果用户有项目 alpha,任何 2-,3-,4-项目组合,他应该出现,因为他清楚地得到了该项目与其他项目 - 但仍然在同一天。
更新: 正如 DWin 正确指出的那样,我不清楚我试图实现什么。 让一个用户拥有项目:alpha,beta,gamma。然后这个用户应该被添加到它的任何子集的每个计数中,这意味着组合 (alpha,beta) (beta,gamma) (alpha,gamma) 和最后 (alpha, beta, gamma) 都得到 count+1。
与此同时,我想,对于我的主要目标(我想看看,最突出的项目是什么,被添加到特定的项目中,例如 alpha),我可以使用 table 和 colSums 来计算用户数量,请找到我非常糟糕的解决方案,但指出项目,被添加最多。
levels(x$TARGETGROUP)[c(8,15:17,39,41,57,58,61)] <- c("HOME")
levels(x$TARGETGROUP)
dings <- table(x[,1],x[,3])
str(dings)
#i saw, that the 8th column contains item I needed.
haeuf <- colSums(dings[dings[,8]!=0, ])
【问题讨论】:
-
请根据此输入发布您期望的示例输出。
-
让我换个说法:对于您提供的 7 行数据,预期的输出是什么?
-
对不起,你是对的,日期还是固定的。
-
当您键入“这些其他项目中出现最多的项目”时,您是什么意思。我看到多个项目并且没有计数。那么“最频繁”的ITEM是如何记录的呢?
-
好吧,我不太明白这个问题。输出清楚地表明,最常用的组合是 (alpha, beta),这意味着用户在 alpha 旁边获取的项目是 beta。
标签: r count combinations