0

我有一个数字向量,x。我想找到最少 y% 的元素sum(x)。这样做的好方法是什么?

例如,假设

 x<-c(4,10,3,12,3,1,5,9,1,2,20,4)

sum(x)= 74。因此,构成总和至少 30% 的元素的最少数量是 2,因为 {20} 占总和的 27%,而 {20, 12} 占 46%。

4

1 回答 1

1

也许:

 min(which(cumsum(rev(sort(x))) > sum(x)*.3))
#[1] 2

sort以递增顺序返回,而您希望以递减顺序返回,因此需要rev或类似的东西。which将返回 2 之后的所有位置,因此需要min.

于 2013-09-28T17:54:46.917 回答