在R中查找四分位数


33

我在学习R的同时正在阅读统计教科书,并且在以下示例中遇到了绊脚石:

在此处输入图片说明

看完之后,?quantile我尝试使用以下方法在R中重新创建它:

> nuclear <- c(7, 20, 16, 6, 58, 9, 20, 50, 23, 33, 8, 10, 15, 16, 104)
> quantile(nuclear)
   0%   25%   50%   75%  100% 
  6.0   9.5  16.0  28.0 104.0 

鉴于文本和R具有不同的结果,我收集到R在第一和第四四分位数的计算中利用了中位数。

题:

在计算第一和第三四分位数时是否应包括中位数?

更具体地说,教科书或R是否具有此正确性?如果教科书中有此正确说明,是否有办法在R中正确实现?

提前致谢。

r  quantiles 

6
这里有几个线程讨论了可以计算或估计分位数的多种方式。这是一个具有权威性答案的网站,但可以通过搜索我们的网站来获取其他答案。简而言之,您的教科书似乎提出了一种非标准的四分位数计算方法,但是quantile类型1、2和6会针对此特定大小的数据集重现它们。 没有一种R方法与您的教科书相对应。(人们对这篇文章的质量
感到好奇

@whuber感谢您的评论,这对我很有帮助,因为我担心我还没有技术背景来准确区分不同类型的quantile功能。

@whuber:这显然是非标准的(可能在书中的某处提到过),但并非直觉。您认为这在数学上是错误的吗?
Michael M

6
ñ

1
R使用九种不同的分位数定义(默认情况下,它使用定义7)。请参阅?quantile
Glen_b-恢复莫妮卡

Answers:


43

您的教科书很困惑。 很少有人或软件通过这种方式定义四分位数。(这会使第一个四分位数太小,而第三个四分位数又太大。)

quantile函数R实现了九种不同的计算分位数的方法!要查看其中的哪个(如果有的话)对应于此方法,让我们从实现它开始。从描述中,我们可以先编写数学算法,然后编写R

  1. X1个X2Xñ

  2. 对于任何数据集,中位数是中间数量的数值(当数值为奇数时)。否则,当数值为偶数时,它是两个中间值的平均值。 Rmedian函数对此进行计算。

    =ñ+1个/2X+Xü/2üX=-1个ü=+1个ü

  3. X一世一世X一世一世ü

这是一个实现。它可以帮助您在本教科书中进行练习。

quart <- function(x) {
  x <- sort(x)
  n <- length(x)
  m <- (n+1)/2
  if (floor(m) != m) {
    l <- m-1/2; u <- m+1/2
  } else {
    l <- m-1; u <- m+1
  }
  c(Q1=median(x[1:l]), Q3=median(x[u:n]))
}

例如,的输出quart(c(6,7,8,9,10,15,16,16,20,20,23,33,50,58,104))与文本一致:

Q1 Q3 
 9 33 

让我们使用所有十种方法来计算一些小型数据集的四分位数:九种方法R和教科书的方法:

y <- matrix(NA, 2, 10)
rownames(y) <- c("Q1", "Q3")
colnames(y) <- c(1:9, "Quart")
for (n in 3:5) {
  j <- 1
  for (i in 1:9) {
    y[, i] <- quantile(1:n, probs=c(1/4, 3/4), type=i)
  }
  y[, 10] <- quart(1:n)
  cat("\n", n, ":\n")
  print(y, digits=2)
}

当你运行这个检查,你会发现,教科书价值不认同任何的的R输出对所有三个样本量。 (意见分歧的模式在第三阶段的周期中持续存在,这表明无论样本数量多大,问题仍然存在。)

9.528


3
非常感谢您提供如此详尽的答案,并为我提供了自行完成工作并评估不同方法的工具。我现在将其解雇,并详细介绍一些事情。

2

在统计领域(我教过,但我不是研究者)中,四分位数的计算尤其模棱两可(在某种程度上,分位数不一定是正确的)。这背后有很多历史,部分原因是使用四分位间距(IQR)(对于异常值不敏感)作为检查或替代标准偏差的使用(或滥用)。它仍然是一个公开竞赛,用于计算Q1和Q3的三种独特方法是合规的。

通常情况下,Wikipedia文章都会提供合理的摘要: https ://en.m.wikipedia.org/wiki/Quartile Larson和Farber文字与大多数基本统计资料文字一样,使用的是Wikipedia文章中描述的“方法1。“ 如果我按照上述说明进行操作,则r使用“方法3”。您必须自己决定哪种方法适合您自己的领域。


你说得好(+1)。但是,鉴于“方法1”的参考文献是TI-83计算器和Excel(众所周知的缺乏可信度),因此该方法存在明显偏差,并且计算起来并不比Tukey的铰链难得多,似乎很难证明或推荐使用它。
Whuber
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.