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, 31, 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 - 找到所有可能的数字组合,限制组合长度的主要内容,如果未能解决你的问题,请参考以下文章

数字组合

如何(廉价)计算 n 个可能元素的所有可能的长度-r 组合

2985:数字组合

2985:数字组合

找到至少大小为 k 到 n 的所有组合

#DP# ----- 数字组合