2014-03-05 60 views
3

我已經包含在我的boxplot缺口至於下面的代碼:如何修改boxplot的這個凹槽錯誤?

> boxplot(dframe1$High.calcium..diet, dframe1$Low.calcium.diet,   # The basic boxplot command 
+ varwidth = FALSE,      # width of boxes represents sample size 
+ notch = TRUE,       # add a notch indicating 95% confidence intervals 
+ names = c("High Calcium diet", "Low Calcium diet"),      # labels the different boxes 
+ col=c("violet", "light green"),   # colours the different boxes 
+ xlab = "Diet",     # adds an x-axis label 
+ ylab = "parathyroid hormone per 100 ml blood",  # adds a y-axis label 
+ cex.lab = 1.6,       # adjusts the size of the axis labels 
+ cex.axis = 1.3,       # adjusts the size of the axis numbering 
+ las = 1) 
Warning message: 
In bxp(list(stats = c(12.7, 14.4, 16.2, 18.25, 23.1, 15.1, 40.2, : 
    some notches went outside hinges ('box'): maybe set notch=FALSE 
> 

不過,我收到警告如上,但我不希望設置notchFALSE,因爲我想的槽口。我將如何解決這個問題?

這是與它去的數據:

High calcium diet Low calcium diet 
14.5 52.7 
18.2 44.4 
15 125 
14.3 66.4 
25.7 23.3 
17.3 88.3 
23.1 38.8 
16.2 42.9 
12.7 15.1 
18.3 41.6 
13.2 53.2 
+0

我可能會通過尋找啓動在「盒子」的鉸鏈範圍內 –

+0

@koekenbakker,我會張貼作爲答案。你也可以指出,如果OP不關心醜陋的缺口,只是想擺脫警告,他們可以使用'?suppressWarnings' ... –

+0

這裏沒有什麼可以修復的,它只是告訴你一些缺口在箱子外面。但是沒有什麼不對,這只是你的數據產生的。 –

回答

5

這意味着,置信區間(即,凹口的尺寸)大於四分位數間距(IQR)放大。缺口的大小取決於您的數據:+/-1.58 IQR/sqrt(n)請參閱?boxplot.stats

如果您拍攝較大的樣本(增加n),則缺口的大小可能會減小。

您也可以決定繪製沒有凹槽的箱型圖,並手動將標記添加到您的置信限度。

無缺口創建箱線圖:

boxplot(dframe1, notch=F, ylim=c(0,125)) 

檢索兩列的置信區間在數據幀:

ci_high = boxplot.stats(dframe1[,1], do.conf=T)$conf 
ci_low = boxplot.stats(dframe1[,2], do.conf=T)$conf 

添加這些陰謀:

points(x=c(1,1), y=ci_high, col=2, pch=8)  
points(x=c(2,2), y=ci_low, col=2, pch=8) 
+0

謝謝Koekenbakker,:)但我該如何手動添加它們? – user3069564