从n中选择k distinct并增加索引

时间:2015-08-05 09:30:37

标签: r algorithm sum combinations

考虑下图中的公式,其中j和n是固定的整数。很明显,n不能很大。我正在考虑使用n = 10。关键特征是从n中找出所有不同的j管(i_1 <...&lt; i_j)。有没有一种简单的方法可以在R中实现这一目标,好吗?有人可以帮帮我吗? photo

1 个答案:

答案 0 :(得分:3)

这只是combinations,从j选择n而不考虑订单。当然,将组合元素映射到 i 1 ... i j 将需要对它们进行排序(为了满足约束 i 1 &lt; ...&lt; i j ),但这实际上是怎样的combn()默认返回结果:

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()即可将其更改为每行。