【发布时间】:2015-08-05 09:30:36
【问题描述】:
考虑下图中的公式,其中 j 和 n 是固定整数。很明显,n 不可能很大。我正在考虑使用 n=10。关键特征是从 n 中找到所有不同的 j 管 (i_1 R有没有简单的方法来实现这一点?有人可以帮我吗?
【问题讨论】:
标签: r algorithm sum combinations
考虑下图中的公式,其中 j 和 n 是固定整数。很明显,n 不可能很大。我正在考虑使用 n=10。关键特征是从 n 中找到所有不同的 j 管 (i_1 R有没有简单的方法来实现这一点?有人可以帮我吗?
【问题讨论】:
标签: r algorithm sum combinations
这只是combinations,从n中选择j不考虑顺序。当然,组合元素到i1...ij的映射需要对它们进行排序(为了满足约束i1 ij),但这实际上是@987654322 @ 默认返回结果:
jtubes <- function(j,n) combn(n,j);
jtubes(3,5);
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 1 1 1 1 1 1 2 2 2 3
## [2,] 2 2 2 3 3 4 3 3 4 4
## [3,] 3 4 5 4 5 5 4 5 5 5
combn() 将结果作为矩阵返回,每列一个组合,但您可以通过一次调用 t() 将其更改为每行。
【讨论】: