2016-11-16 66 views
5

下,上四分位數中的R

X=c(20 ,18, 34, 45, 30, 51, 63, 52, 29, 36, 27, 24) 

隨着boxplot,我試圖繪製quantile(X,0.25)quantile(X,0.75) 但這不是真的在箱線圖相同的上,下四分位數中的R

boxplot(X) 
abline(h=quantile(X,0.25),col="red",lty=2) 
abline(h=quantile(X,0.75),col="red",lty=2) 

enter image description here 你知道爲什麼嗎?

+0

btw,'boxplot'返回一個可以根據需要使用的對象:'bX = boxplot(X); abline(h = bX $ stats [c(2,4),1],col =「red」,lty = 2)' –

回答

7

框的值被稱爲鉸鏈,可能與四分位數一致(按quantile(x, c(0.25, .075))計算),但計算方式不同。

?boxplot.stats

兩個「鉸鏈」是在第一和第三四分位數的版本,即,靠近位數(X,C(1,3)/ 4)。鉸鏈等於奇數n的四分位數(其中n爲<-長度(x))並且對於偶數n是不同的。鑑於四分位數僅等於n %% 4 == 1(n = 1 mod 4)的觀測值,鉸鏈另外對n %% 4 == 2(n = 2 mod 4)也是這樣,並且在兩個中間否則有意見。

要查看這些值具有奇數個觀察一致,嘗試以下代碼:

set.seed(1234) 
x <- rnorm(9) 

boxplot(x) 
abline(h=quantile(x, c(0.25, 0.75)), col="red") 

enter image description here

3

的差異起因於位數的定義的模糊性。沒有一種方法是嚴格正確或不正確的 - 當它們與特定數據點不完全一致並且必須進行插值時,估計分位數(例如偶數個數據點)的方法有簡單的不同方法。有點令人不安,boxplotquantile(等功能,提供了彙總統計)使用不同的默認方法來計算位數,雖然這些默認設置可以使用type =爭執纏身的quantile

我們可以在行動中更清晰地看到這些差異通過看一些不同的方式來產生R.

位數統計

兩個boxplotfivenum給出相同的價值觀:

boxplot.stats(X)$stats 
# [1] 18.0 25.5 32.0 48.0 63.0 
fivenum(X) 
# [1] 18.0 25.5 32.0 48.0 63.0 

boxplotfivenum,下(上)四分位數相當於數據的下(上)半的中位數(包括完整數據的中位數):

c(median(X[ X <= median(X) ]), median(X[ X >= median(X) ])) 
# [1] 25.5 48.0 

但是,quartilesummary做的事情不同:

summary(X) 
# Min. 1st Qu. Median Mean 3rd Qu. Max. 
# 18.00 26.25 32.00 35.75 46.50 63.00 

quantile(X, c(0.25,0.5,0.75)) 
# 25% 50% 75% 
# 26.25 32.00 46.50 

這一點,從boxplot結果和fivenum之間的差異取決於功能數據之間如何插值。 quartile嘗試通過估計累積分佈函數的形狀進行插值。據?quantile:從在probs x中的供給元件在 概率一個或兩個階統計基於 基礎分佈分位數的

位數返回的估計。採用按照類型選擇的Hyndman和Fan(1996)中討論的 中的九個分位數算法之一。

的九種不同的方法quantile全部細節採用估計數據的分佈函數可以在?quantile發現,也過於冗長全額這裏重現。需要注意的重要一點是,9種方法取自Hyndman和Fan(1996)推薦的類型8. quantile使用的默認方法是類型7,由於與S兼容的歷史原因。 我們可以看到使用由位數不同的方法提供四分位數:

quantile_methods = data.frame(q25 = sapply(1:9, function(method) quantile(X, 0.25, type = method)), 
      q50 = sapply(1:9, function(method) quantile(X, 0.50, type = method)), 
      q75 = sapply(1:9, function(method) quantile(X, 0.75, type = method))) 
#  q25 q50 q75 
# 1 24.0000 30 45.000 
# 2 25.5000 32 48.000 
# 3 24.0000 30 45.000 
# 4 24.0000 30 45.000 
# 5 25.5000 32 48.000 
# 6 24.7500 32 49.500 
# 7 26.2500 32 46.500 
# 8 25.2500 32 48.500 
# 9 25.3125 32 48.375 

在其type = 5提供四分位數的相同的估計值一樣boxplot。但是,當有奇數個數據時,它將與boxplot統計數據一致。

我們可以根據是否有奇數或偶數數據自動選擇類型爲5或7來顯示此作品。盒形圖在下面顯示位數爲數據集具有1至30個值,與boxplotquantile給予相同的值奇數和偶數N個圖像:

layout(matrix(1:30,5,6, byrow = T), respect = T) 
par(mar=c(0.2,0.2,0.2,0.2), bty="n", yaxt="n", xaxt="n") 

for (N in 1:30){ 
    X = sample(100, N) 
    boxplot(X) 
    abline(h=quantile(X, c(0.25, 0.5, 0.75), type=c(5,7)[(N %% 2) + 1]), col="red", lty=2) 
} 

enter image description here


海德門,RJ和範,Y.(1996)統計包中的樣本分位數,美國統計學家50,361-365