2013-03-27 175 views
18

我可以使用R彙總函數來獲取最小值,最大值和百分位數(25,75)。如何用R總結得到第n百分位數?

我如何使用總結來獲得統計數據中的第90百分位和第99百分位的任意分位數?

+1

我不認爲你可以。使用'分位數'功能。 – Arun 2013-03-27 13:06:13

+1

您可以創建自己的'summary'函數,從代碼'getS3method('summary','default')'開始,並更改以'qq < - stats :: quantile(object)'開頭的三行來輸出分位數你想.. :) – 2013-03-27 14:19:00

回答

34

使用quantile功能

quantile(x, c(.90, .99)) 

例子:

> 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 
+7

使用'quantile()'時要小心 - 因爲默認值可能不會給你你所期望的。例如,'quantile(x,0.99)'可能大於'max(x)'。閱讀[documentation](https://stat.ethz.ch/R-manual/R-devel/library/stats/html/quantile.html)中的「type」參數。注意:這應該是一個評論,但我沒有代表。 – 2015-10-21 15:58:17