假设我们有以下数据集(长度为24):
x <- c(30L, 49L, 105L, 115L, 118L, 148L, 178L, 185L, 196L, 210L, 236L, 236L,
278L, 287L, 329L, 362L, 366L, 399L, 430L, 434L, 451L, 451L, 477L, 488L, 508L,
531L, 533L, 542L)
如果我们计算五数汇总: 最小值是 30,最大值:542,中值:(287 + 329)/2 = 308...这是最简单的部分!
- Q1 是子集 [30, 49,105,....287] 的中位数,长度为 14 --> Q1 = [178 + 185]/2 = 181.5
- Q3 """"[329,362,...,542] = [451 + 451]/2 = 451
现在,如果我们使用函数 summary(dataset)
检查它……我们得到:
Min. 1st Qu. Median Mean 3rd Qu. Max.
30.0 183.2 308.0 309.7 451.0 542.0
为什么我们得到不同的 Q1? summary
函数如何计算 Q1?
最佳答案
有(至少)九种 方法来计算分位数:参见?quantile
。对于这个数据集,9 种方法产生了 6 个独特的结果:9 种方法中有 2 种给出了 181.5 的答案......
res <- sapply(1:9, function(t) quantile(x, 0.25, type=t))
names(res) <- 1:9
sort(res)
## 1 3 4 6 8 9 2 5
## 178.0000 178.0000 178.0000 179.7500 180.9167 181.0625 181.5000 181.5000
## 7
## 183.2500
R 中的默认方法是“type 7”,它给出 183.25(summary
中的值打印精度略低,因此显示为 183.2)。
关于r - 努力理解 Q1 计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64789753/