如何计算R中的百分位?

时间:2013-03-11 00:22:14

标签: r

在R帮助help(quantile)中,您可以看到

Type 7 m = 1-p.  p[k] = (k - 1) / (n - 1).  In this case, p[k] =mode[F(x[k])]. 
This is used by S.

现在,我有一个例子:

w<-c(75,64,47.4,66.9,62.2,62.2,58.7,63.5,66.6,64,57,69,56.9,50,72.0)  
sort(w)  
[1] 47.4 50.0 56.9 57.0 58.7 62.2 62.2 63.5 64.0 64.0 66.6 66.9 69.0 72.0 75.0  
quantile(w)  
   0%   25%   50%   75%  100%   
47.40 57.85 63.50 66.75 75.00  

如何使用7型公式获得结果?

1 个答案:

答案 0 :(得分:2)

我在确定答案是否正确时遇到了一些麻烦:

> quantile(w, type=7)
   0%   25%   50%   75%  100% 
47.40 57.85 63.50 66.75 75.00 

我的问题是,分位数的默认值是type = 7,你已经有了这个结果。如果你查看quantile.default的代码,有一个type = 7的部分:

        index <- 1 + (n - 1) * probs
        lo <- floor(index)
        hi <- ceiling(index)
        x <- sort(x, partial = unique(c(lo, hi)))
        qs <- x[lo]
        i <- which(index > lo)
        h <- (index - lo)[i]
        qs[i] <- (1 - h) * qs[i] + h * x[hi[i]]