r-计算产生意外结果的向量的分位数



我被要求手动计算该数据的IQR

-1400-1000-0600 0400 1000 1700 2300 2600 3300 3700 4400 4600 7500 7700 13500 18500

结果是

MEDIAN 3.300
1 QUARTILE 1
3 QUARTELE 7
Q3-Q1=IQR=7-1=6

R.也证实了我的结果

x <- c(-1.400,-1.000,-0.600,0.400,1.000,1.700,2.300,2.600,3.300,3.700,4.400,4.600,7.000,7.500,7.700,13.500,18.500)
summary(x)
#   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
# -1.400   1.000   3.300   4.424   7.000  18.500 

问题是他们期望的是这个值。

1块0.7
3块7.25
IQR=6.55

有人能解释一下发生了什么吗?我的误判或误用在哪里?

R中的quantile函数实现了9种不同的计算分位数的方法。您可以通过执行?quantile来了解这些方法,并通过执行以下操作在向量上测试它们:

t(sapply(1:9, function(i) quantile(x, c(0.25, 0.75), type = i)))
#>          25%      75%
#>  [1,] 1.0000 7.000000
#>  [2,] 1.0000 7.000000
#>  [3,] 0.4000 7.000000
#>  [4,] 0.5500 6.400000
#>  [5,] 0.8500 7.125000
#>  [6,] 0.7000 7.250000
#>  [7,] 1.0000 7.000000
#>  [8,] 0.8000 7.166667
#>  [9,] 0.8125 7.156250

您可以看到您的方法是1、2或7(R的默认值是方法7(;预期的";答案是方法6。如果你只是被要求计算第一个和第三个四分位数,你应该得到预期方法的指导。

相关内容

  • 没有找到相关文章