我有一个简单的问题。是否有一个函数可以生成一组预定分位数的值之和?
假设我有一个带有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
对于每个分位数,我希望看不到截止点,而是每个分位数中的情况值的总和。在分位数中是否有参数,或包含此类参数的类似函数?
非常感谢......
答案 0 :(得分:2)
quantile
为您提供分位数,而不是分位数内的值的总和:这些是根本不同的东西。
但是,您可以使用cut
和split
来获得所需的结果:
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)