分位数的值之和

时间:2015-03-27 13:24:00

标签: r quantile

我有一个简单的问题。是否有一个函数可以生成一组预定分位数的值之和?

假设我有一个带有100个值的矢量example.data

我运行quantile(example.data, seq(0,1, by = 0.1))我得

0%   10%   20%   30%   40%   50%   60%   70%   80%   90% 
0.040 0.090 0.186 0.227 0.336 0.450 0.584 0.670 0.730 0.832 
 100% 
1.000 

对于每个分位数,我希望看不到截止点,而是每个分位数中的情况值的总和。在分位数中是否有参数,或包含此类参数的类似函数?

非常感谢......

2 个答案:

答案 0 :(得分:2)

quantile为您提供分位数,而不是分位数内的值的总和:这些是根本不同的东西。

但是,您可以使用cutsplit来获得所需的结果:

q = quantile(x, seq(0, 1, by = 0.1))
cuts = cut(x, q)
values_per_quantile = split(x, cuts)
sums = sapply(values_per_quantile, sum)

答案 1 :(得分:1)

尝试:

tapply(example.data,findInterval(example.data,quantile(example.data, seq(0,1, by = 0.1))),sum)