找到等于R中的和的四个数字的所有组合

时间:2015-06-18 01:21:42

标签: r

是否有更有效的方法来确定总和特定值的4个数字的所有可能值。我已经使用了以下内容,但是如果我将它扩展到每组10个以上,那么4个组就会效率低下

Grid <- expand.grid(a=seq(0, 100, 10), b= seq(0,100,10), c= seq(0,100,10), d=seq(0,100,10))
Grid$total <- apply(Grid, 1, sum)
Grid[Grid$total==100,]

我的真实应用,数字将是等于1的百分比,并将按不少于5的间隔进行调整

1 个答案:

答案 0 :(得分:2)

我确定有很多解决方案,这里有一个partitions库,

library(partitions)
restrictedparts(10, 4, include.zero = FALSE)

# [1,] 7 6 5 4 5 4 3 4 3
# [2,] 1 2 3 4 2 3 3 2 3
# [3,] 1 1 1 1 2 2 3 2 2
# [4,] 1 1 1 1 1 1 1 2 2

这将是总和为10的整数(不包括0)。