【发布时间】:2017-02-06 12:29:15
【问题描述】:
我有一个包含两列的表格,即id 和item:
df <- data.frame(id=c(1,1,2,2,2,2,3,3,3,4,4,4,4,4),item=c(1,2,3,1,2,3,4,1,2,3,1,2,1,2))
我想为每个id 找到 3 个项目的最频繁组合(顺序无关紧要)。所以基本上,n 选择r 其中n = number of items within id 和r = 3。每个 id 的项目数量各不相同 - 有些超过 3 个,有些则更少。
我是 R 新手,阅读了有关 combn 和 expand.grid 的信息,但我不知道如何在我的情况下使用它们(在每个 id 中工作)。
“Find most frequent combination of values in a data.frame”是我找到的最接近的问题。
编辑:基于示例的预期答案是组合“1、2、3”,它出现在 id 2 和 4 中。
【问题讨论】:
-
请将基于示例数据的预期结果添加到您的问题中
-
n choose r不会返回一个数字吗?您可以使用@Stephen 回答group_by(id)找到每个id的项目数。您是否要考虑 3 个数字的所有排列,并显示n choose r可能性中出现频率最高的一个?
标签: r combinations