我需要测试每个因素的“比索”值(见下面的复制代码)。一个因素是否达到“比索”总和的 50%,每个因素的值应粘贴到一个新对象“结果”中,否则,R 应评估哪个因素具有“比索”的最低聚合值,并考虑下一列中的因子再次汇总“比索”。基本上,此过程将最低得分的因素替换为下一个因素。该过程应该重复,直到一个因素超过 50% 的阈值。所以我的问题是,我从哪里开始?
set.seed(51)
Data <- sapply(1:100, function(x) sample(1:10, size=5))
Data <- data.frame(t(Data))
names(Data) <- letters[1:5]
Data$peso <- sample(0:3.5, 100, rep=TRUE)
它应该像
If your first two rows are:
a b c d e peso
8 2 3 7 9 1
8 3 4 5 7 3
9 7 4 10 1 2
10 3 4 5 7 3
What would you like for the total?
Totals_08 = 4
Totals_09 = 2
Totals_10 = 3
etc?
因此,因子 8 获得了更大的份额 4/(4+2+3) = 0.4444444,但在 a 轮中没有达到 50% 的阈值。因此,我需要更多的东西:重复聚合,但现在考虑“b”列中的因子 7 而不是“a”列中的因子 9,因为它在第一轮中获得了最低的聚合值。