r-难以理解Q1计算



假设我们有以下数据集(长度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,49105,….287]的中值,长度14->Q1=[178+185]/2=181.5
  • Q3"quot"[329362,…,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中的默认方法是";类型7";,给出183.25(summary中的值打印精度略低,因此显示为183.2(

最新更新