我需要使用 8 个变量来获取总和等于 100 的所有组合,这些变量可以按 10 的增量步长取 0 到 100 之间的任何值。(即 0、10、20 ... 100)
下面的脚本就是这样做的,但是效率非常低,因为它创建了一个巨大的数据集,我想知道是否有人有更好的方法来做到这一点。
x <- expand.grid("ON" = seq (0,100,10),
"3M" = seq(0,100,10),
"6M" = seq(0,100,10),
"1Y" = seq(0,100,10),
"2Y" = seq(0,100,10),
"5Y" = seq(0,100,10),
"10Y" = seq(0,100,10),
"15Y" = seq(0,100,10))
x <- x[rowSums(x)==100,]
Edit --
回答 Stéphane Laurent 的问题
结果应该是这样的
ON 3M 6M 1Y 2Y 5Y 10Y 15Y
100 0 0 0 0 0 0 0
90 10 0 0 0 0 0 0
80 20 0 0 0 0 0 0
70 30 0 0 0 0 0 0
60 40 0 0 0 0 0 0
50 50 0 0 0 0 0 0
(...)
0 0 0 0 0 0 10 90
0 0 0 0 0 0 0 100