R - 找到所有可能的数字组合,限制组合长度
Posted
技术标签:
【中文标题】R - 找到所有可能的数字组合,限制组合长度【英文标题】:R - find all possible combinations of numbers WITH constraints on combination length 【发布时间】:2020-07-28 16:14:46 【问题描述】:假设您有以下数字向量:
1, 2, 3, 4, 5
我想找到组合长度为 3 的所有可能的数字组合。这些组合不能重叠,即 1, 2, 3
与 1, 3, 2
相同,并且只有其中一个应该出现在输出中!
所以,答案是:
1, 2, 3
1, 2, 4
1, 2, 5
1, 3, 4
1, 3, 5
1, 4, 5
2, 3, 4
2, 3, 5
2, 4, 5
3, 4, 5
这只是一个简单的例子,实际上我有一个长度为 10000 的向量,我需要找到长度为 8000 的所有组合。你会使用什么代码在 R 中生成这些组合?
【问题讨论】:
combn(1:5, 3)
谢谢!这行得通。直到现在才听说过这个功能。
尽管来自 10,000 个值的向量的长度为 8,000 的组合的数量是巨大的(大约 exp(5000)
)。
请查看 RcppAlgos
@chinsoon12 谢谢!那行得通,我设法用comboIter(1:10000, 8000)
做到了
【参考方案1】:
@chinsoon12 建议使用包RcppAlgos
。我对其进行了调查,发现以下工作:
comboIter(1:10000, 8000)
【讨论】:
以上是关于R - 找到所有可能的数字组合,限制组合长度的主要内容,如果未能解决你的问题,请参考以下文章