0

数値ベクトル がありますx。の少なくとも y% を構成する要素の数が最も少ないものを見つけたいと考えていますsum(x)。これを行うための良い方法は何ですか?

たとえば、

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

sum(x)= 74. したがって、{20} が合計の 27% を構成し、{20, 12} が 46% を構成するため、合計の少なくとも 30% を構成する要素の最小数は 2 です。

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 に答える