我被要求手动计算该数据的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。如果你只是被要求计算第一个和第三个四分位数,你应该得到预期方法的指导。