如何使用R摘要获得第n个百分位数?

Sat*_*ish 26 r

我可以使用R汇总函数来获得最小值,最大值和百分位数(25,75).

如何使用汇总来获得摘要统计数据中第90百分位数和第99百分位数等任意分位数?

Jil*_*ina 44

使用quantile功能

quantile(x, c(.90, .99))
Run Code Online (Sandbox Code Playgroud)

例:

> set.seed(1)
> x <- rnorm(100)
> summary(x)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-2.2150 -0.4942  0.1139  0.1089  0.6915  2.4020 
> quantile(x, c(.25, .50,  .75, .90, .99))
       25%        50%        75%        90%        99% 
-0.4942425  0.1139092  0.6915454  1.1810651  2.1749017 
Run Code Online (Sandbox Code Playgroud)

  • 使用`quantile()`时要小心 - 因为默认值可能无法满足您的期望.例如,`quantile(x,0.99)`可能大于`max(x)`.阅读[文档]中的"type"参数(https://stat.ethz.ch/R-manual/R-devel/library/stats/html/quantile.html).注意:这应该是一个评论,但我没有代表. (10认同)