R:得到三个数字加起来为 100 的所有组合

程序猿 阅读:11 2024-05-29 10:23:45 评论:0

我有三个变量:X、Y 和 Z。我想找到所有 X、Y 和 Z 的组合加起来等于 100。X、Y 和 Z 只能取 [0,100] 之间的值。输出应该看起来像这样:

  X   Y   Z   Sum 
100   0   0   100 
 99   1   0   100 
 99   0   1   100 
 98   2   0   100 
 98   1   1   100 
 98   0   2   100 

等等……

关于如何获得所有可能的组合有什么建议吗?

请您参考如下方法:

另一种方法(可能对大量数据更有效)是

df <- do.call(rbind, lapply(0:100, function(i) data.frame(x=i, y=0:(100-i)))) 
df$z <- 100-df$x-df$y 


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号