数字百分比分布的区间查询
Interval Query for a Percent Distribution of Numbers
假设我们有以下一系列值
10,10,10,10,10,10,14,14,14,22,22,28
根据直方图,我们从四个箱子中的给定系列中得到以下数量的值,如:
9:[10,15)
0:[15,20)
2:[20,25)
1:[25,30)
很明显,9/12(75%) 的值位于 [10,15] 区间内; 11/12(91%) 的值位于区间 [10,25)
内。我有兴趣想出一个函数,它接受一个系列和百分比,returns 那些被问到的百分比所在的区间范围。
例如:query(Series=c(10,10,10,10,10,10,14,14,14,22,22,28), Pct=91)
应该returnc(10,25)
。我对 R 有点陌生,如果有人能指出我这个任务的内置函数或为我提供一个实现将会有所帮助。
提前致谢
quantile(c(10,10,10,10,10,10,14,14,14,22,22,28),c(0,0.91))
这并没有完全产生您想要的输出,您已经找到了 22 和 28 之间的中点,或者您已经将它四舍五入到适当的桶大小以进行绘图。这是对这两点之间的分位数进行线性插值,即 22 是第 10/11 分位数 (90.9090...%),28 是 100%。 91% 在 22.06 出来。
如果您的装箱宽度为 5
,也许这会接近您的目标(类似于 的回答)
> 5*ceiling(quantile(c(10,10,10,10,10,10,14,14,14,22,22,28),c(0,0.91))/5)
0% 91%
10 25
假设我们有以下一系列值
10,10,10,10,10,10,14,14,14,22,22,28
根据直方图,我们从四个箱子中的给定系列中得到以下数量的值,如:
9:[10,15)
0:[15,20)
2:[20,25)
1:[25,30)
很明显,9/12(75%) 的值位于 [10,15] 区间内; 11/12(91%) 的值位于区间 [10,25)
内。我有兴趣想出一个函数,它接受一个系列和百分比,returns 那些被问到的百分比所在的区间范围。
例如:query(Series=c(10,10,10,10,10,10,14,14,14,22,22,28), Pct=91)
应该returnc(10,25)
。我对 R 有点陌生,如果有人能指出我这个任务的内置函数或为我提供一个实现将会有所帮助。
提前致谢
quantile(c(10,10,10,10,10,10,14,14,14,22,22,28),c(0,0.91))
这并没有完全产生您想要的输出,您已经找到了 22 和 28 之间的中点,或者您已经将它四舍五入到适当的桶大小以进行绘图。这是对这两点之间的分位数进行线性插值,即 22 是第 10/11 分位数 (90.9090...%),28 是 100%。 91% 在 22.06 出来。
如果您的装箱宽度为 5
,也许这会接近您的目标(类似于
> 5*ceiling(quantile(c(10,10,10,10,10,10,14,14,14,22,22,28),c(0,0.91))/5)
0% 91%
10 25