分位数函数的意外输出

时间:2017-03-07 21:09:10

标签: r quantile percentile

对于以下代码,我希望看到每个数字(1-25)在4个不同的百分位值下出现4次。然而,在百分位数28和56处,结果不如预期。第28百分位数应为7,第56百分位数应为14。

> quantile(1:25, seq(0,1,0.01), type=1)
  0%   1%   2%   3%   4%   5%   6%   7%   8%   9%  10%  11%  12%  13%  14%  15%  16%  17%  18%  19%  20%  21%  22%  23%  24%  25%  26%  27%  28% 
   1    1    1    1    1    2    2    2    2    3    3    3    3    4    4    4    4    5    5    5    5    6    6    6    6    7    7    7    8 
 29%  30%  31%  32%  33%  34%  35%  36%  37%  38%  39%  40%  41%  42%  43%  44%  45%  46%  47%  48%  49%  50%  51%  52%  53%  54%  55%  56%  57% 
   8    8    8    8    9    9    9    9   10   10   10   10   11   11   11   11   12   12   12   12   13   13   13   13   14   14   14   15   15 
 58%  59%  60%  61%  62%  63%  64%  65%  66%  67%  68%  69%  70%  71%  72%  73%  74%  75%  76%  77%  78%  79%  80%  81%  82%  83%  84%  85%  86% 
  15   15   15   16   16   16   16   17   17   17   17   18   18   18   18   19   19   19   19   20   20   20   20   21   21   21   21   22   22 
 87%  88%  89%  90%  91%  92%  93%  94%  95%  96%  97%  98%  99% 100% 
  22   22   23   23   23   23   24   24   24   24   25   25   25   25 

如果我们使用不同大小的向量,相同(和更多)百分位数值将不正确。

第7,第14,第28,第55和第56百分位值的另一个例子是错误的:

> quantile(1:100, seq(0,1,0.01), type=1)
  0%   1%   2%   3%   4%   5%   6%   7%   8%   9%  10%  11%  12%  13%  14%  15%  16%  17%  18%  19%  20%  21%  22%  23%  24%  25%  26%  27%  28% 
   1    1    2    3    4    5    6    8    8    9   10   11   12   13   15   15   16   17   18   19   20   21   22   23   24   25   26   27   29 
 29%  30%  31%  32%  33%  34%  35%  36%  37%  38%  39%  40%  41%  42%  43%  44%  45%  46%  47%  48%  49%  50%  51%  52%  53%  54%  55%  56%  57% 
  29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   56   57   58 
 58%  59%  60%  61%  62%  63%  64%  65%  66%  67%  68%  69%  70%  71%  72%  73%  74%  75%  76%  77%  78%  79%  80%  81%  82%  83%  84%  85%  86% 
  58   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   82   83   84   85   86 
 87%  88%  89%  90%  91%  92%  93%  94%  95%  96%  97%  98%  99% 100% 
  87   88   89   90   91   92   93   94   95   96   97   98   99  100 

这是什么原因?这是一个错误吗?

2 个答案:

答案 0 :(得分:1)

我认为你说答案“不正确”是错误的。请记住,这是基于ECDF意味着它是一个经验结果而不是理论结果,而9种不同的方法只是在不能使用经验结果而是需要使用某种方法进行插值等时该怎么做。如果我们采用1到25之间的整数并计算传统的累积分布,那么使用你的第一个例子我们ge

Values Freq Percent Cum. Percent  
 1      1    4       4           
 2      1    4       8           
 3      1    4       12          
 4      1    4       16          
 5      1    4       20          
 6      1    4       24          
 7      1    4       28          
 8      1    4       32          
 9      1    4       36          
 10     1    4       40          
 11     1    4       44          
 12     1    4       48          
 13     1    4       52          
 14     1    4       56          
 15     1    4       60          
 16     1    4       64          
 17     1    4       68          
 18     1    4       72          
 19     1    4       76          
 20     1    4       80          
 21     1    4       84          
 22     1    4       88          
 23     1    4       92          
 24     1    4       96          
 25     1    4       100 

因此,每个观测值代表您样本的4%。 28和56有什么共同之处?它们都是4的倍数,它们是唯一两个它们也代表值的“分位数范围”的下边界的地方。所以他们被推高了。我认为类型2实际上最能说明这一点。

a<-quantile(y, seq(0,1,0.01), type=1)
b<-quantile(y, seq(0,1,0.01), type=2)
c<-quantile(y, seq(0,1,0.01), type=3)
quantiles<-data.frame(a,b,c)
quantiles[1:30,]

      a    b  c
0%    1  1.0  1
1%    1  1.0  1
2%    1  1.0  1
3%    1  1.0  1
4%    1  1.5  1
5%    2  2.0  1
6%    2  2.0  2
7%    2  2.0  2
8%    2  2.5  2
9%    3  3.0  2
10%   3  3.0  2
11%   3  3.0  3
12%   3  3.5  3
13%   4  4.0  3
14%   4  4.0  4
15%   4  4.0  4
16%   4  4.5  4
17%   5  5.0  4
18%   5  5.0  4
19%   5  5.0  5
20%   5  5.5  5
21%   6  6.0  5
22%   6  6.0  6
23%   6  6.0  6
24%   6  6.5  6
25%   7  7.0  6
26%   7  7.0  6
27%   7  7.0  7
28%   8  8.0  7
29%   8  8.0  7
30%   8  8.0  8
31%   8  8.0  8
32%   8  8.5  8
33%   9  9.0  8

类型3出现在具有奇数/偶数事物的不同星球上。

答案 1 :(得分:0)

有不同的计算分位数的方法可以给出稍微不同的答案。您使用的是类型1.类型3或4给出了您期望的答案。

有关详细信息,请参阅.content { margin-top: -10px; }

?quantile