【问题标题】:Choose k distinct and increasing index from n从 n 中选择 k 个不同且递增的索引
【发布时间】:2015-08-05 09:30:36
【问题描述】:

考虑下图中的公式,其中 j 和 n 是固定整数。很明显,n 不可能很大。我正在考虑使用 n=10。关键特征是从 n 中找到所有不同的 j 管 (i_1 R有没有简单的方法来实现这一点?有人可以帮我吗?

【问题讨论】:

    标签: r algorithm sum combinations


    【解决方案1】:

    这只是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() 将其更改为每行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      • 2017-11-23
      • 2021-08-10
      • 1970-01-01
      • 2015-10-19
      • 1970-01-01
      相关资源
      最近更新 更多