【问题标题】:Find combinations in choose(k, n) in a R loop在 R 循环中查找选择(k,n)中的组合
【发布时间】:2022-01-17 07:38:55
【问题描述】:

我需要找到一组中所有可能组合的总和。例如:

sum(choose(5, 0),

    choose(5, 1),

    choose(5, 2),

    choose(5, 3),

    choose(5, 4),

    choose(5, 5))

可以使用 for 循环来循环使用任何给定的 nk,而不是这样写出来?

【问题讨论】:

  • choose() 是矢量化的,所以你可以只做sum(choose(5, 0:5))

标签: r loops for-loop statistics


【解决方案1】:

如果您想为多个n 执行此操作,您可以使用sapply

setNames( sapply( 1:10, function(x) sum( choose( x, 0:x ) ) ), 1:10 )
   1    2    3    4    5    6    7    8    9   10 
   2    4    8   16   32   64  128  256  512 1024

或者使用for 循环

res <- vector(l=10)
for(i in 1:10){ res[i] <- sum( choose( i, 0:i ) ) }
res
 [1]    2    4    8   16   32   64  128  256  512 1024

【讨论】:

    【解决方案2】:

    你可以使用

    > sum(choose(5, 0:5))
    [1] 32
    

    或者只是申请binomial sums

    > 2^5
    [1] 32
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2015-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      相关资源
      最近更新 更多