一个数字向量,x,有多少元素确定总和的y%

时间:2013-09-28 17:36:19

标签: r

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

例如,假设

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

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

1 个答案:

答案 0 :(得分:1)

也许:

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

sort按递增顺序返回,并且您希望按降序排列,因此需要rev或等效的内容。 which会在2之后返回所有位置,因此需要min