R 数字百分比分布的区间查询

R 数字百分比分布的区间查询,r,data-science,histogram,distribution,R,Data Science,Histogram,Distribution,假设我们有以下一系列的值 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)。我有兴趣提出一个函数,该函数取一个序列和百分比,并返回那些要求百分比的区间范围 例如:query(Series=c(10,10,10,10,10,

假设我们有以下一系列的值

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)
。我有兴趣提出一个函数,该函数取一个序列和百分比,并返回那些要求百分比的区间范围

例如:
query(Series=c(10,10,10,10,10,10,14,14,22,22,28),Pct=91)
应该返回
c(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


这并不能产生你想要的输出,你要么找到22到28之间的中点,要么把它四舍五入到一个合适的桶大小进行绘图。这是对这两个点之间的分位数进行线性插值,即22是10/11分位数(90.9090…%)28是100%。91%是22.06。

如果您的装箱宽度为
5
,可能这将接近您的目标(类似于


如果您的binning width为
5
,可能这将接近您的目标(类似于


也许简单解释一下为什么分位数函数会解决OP的问题?当然,我认为OP只是想指向正确的方向,但最好是说几句话…也许简单解释一下为什么分位数函数会解决OP的问题?当然,我认为OP只是想指向正确的方向,但它更好说几句话。。。
> 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