You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言:如何用tapply获取分组数据的90%分位数

如何通过tapply按分组仅计算90%分位数?

你当前用z <- with(tab, tapply(y, x, quantile))得到的是默认的0%、25%、50%、75%、100%分位数集合,想要只获取90%分位数的话,只需要给quantile函数指定probs参数即可——这个参数就是用来定义你要计算的分位数概率值的。

修改后的代码如下:

z <- with(tab, tapply(y, x, quantile, probs = 0.9))

如果之后需要计算多个特定分位数(比如同时要50%和90%),只需要给probs传一个概率向量就行,比如:

z <- with(tab, tapply(y, x, quantile, probs = c(0.5, 0.9)))

用你提供的tab数据框测试的话,运行第一行代码会得到这样的结果:

1       2       3       4 
0.0950 0.3330 0.3240 0.2460 

每个值对应分组x=1到x=4的90%分位数。

内容的提问来源于stack exchange,提问作者Ph.D.Student

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:19:41