在 R 循环中查找选择(k,n)中的组合
Posted
技术标签:
【中文标题】在 R 循环中查找选择(k,n)中的组合【英文标题】:Find combinations in choose(k, n) in a R loop 【发布时间】: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 循环来循环使用任何给定的 n
和 k
,而不是这样写出来?
【问题讨论】:
choose()
是矢量化的,所以你可以只做sum(choose(5, 0:5))
。
【参考方案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
【讨论】:
以上是关于在 R 循环中查找选择(k,n)中的组合的主要内容,如果未能解决你的问题,请参考以下文章
从 C 中的递归函数中枚举并返回从二维数组中的 n 项中选择 k 的所有组合
编程算法,java,组合:求出n个数中取出k个数的组合,编程终于成功了!!!!需要的自己参考一下哈,哈哈