我有一个向量Vec
具有这些值:
1721
979
366
299
675
1456
我正在努力寻找一种方法来获得以下组合n
(我最初想做的是n=2
) 值的总和等于 2020 年。
在示例中,很容易将其视为 1721 和 299 2020 年之和,但我的数据更长,我想概括为n
值,以便我有一个函数,可以在其中设置向量和值来选择数字组合(可以是 2,3,5,..)。我的输出是c(1721,299)
.
您可以获得输入数字的所有组合combn()
,它返回一个矩阵,其中组合是列。因此,您只需计算每一列的总和,看看哪一列等于您的目标。
Vec <- c(1721,
979,
366,
299,
675,
1456)
n <- 2
all_combinations <- combn(Vec,n)
all_combinations[,colSums(all_combinations) == 2020]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)