2015-06-21 25 views
1

我已經生成了下面顯示的barplot,並且正在嘗試添加錯誤欄。我使用了兩列數據來生成沿着x軸顯示的條。是否可以使用標準偏差/標準誤差值將誤差線添加到x軸上的這兩個數據集中的每一個數據集,如果是這樣,我該怎麼做?我已經添加了一些原始數據和代碼來幫助理解,並且一直試圖使用箭頭函數來添加錯誤欄,但是我沒有弄清楚兩個是爲了吸引還是不吸引酒吧。如何在包含兩個數據集的barplot上生成錯誤欄?

在此先感謝您的幫助。

Species   Not attracted Number attracted 
Atlantic cod  92   0 
Haddock    0   0 
Whiting    0   0 
Haddock    0   0 
Whiting    0   0 
Atlantic cod  2   0 
Haddock    0   0 
Whiting    0   1 

meanMNAtt <- tapply(MaxN$Number.attracted, list(MaxN$Species), mean) 
sdMNAtt<- tapply(MaxN$Number.attracted, list(MaxN$Species), sd) 
meanMNnotAtt <- tapply(MaxN$Not.attracted, list(MaxN$Species), mean) 
sdNA <- tapply(MaxN$Not.attracted, list(MaxN$Species), sd) 

MN_mean <- matrix(c(0.02083333, 0.89583333, 1.41666667, 2.770833, 1.083333,  0.125000), 2, 3, byrow = TRUE, dimnames = list(c("Attracted", "Not Attracted"), c("Atlantic cod", "Haddock", "Whiting"))) 

MN_sd <- matrix(c(0.1443376, 1.9267389, 2.5751127, 13.3372612, 2.8346889, 0.3927535), 2, 3, byrow = TRUE, dimnames = list(c("SD_Att", "SD_NAtt"), c("Atlantic cod", "Haddock", "Whiting"))) 

SDPlot <- barplot(MN_mean, beside=TRUE, ylim=c(0, 5), xlab="Species", ylab="Attraction at MaxN", axes=TRUE, las=1, col = c("Black", "Gray60")) 

回答

0

你的陰謀後,添加它使用segments

segments(x0=SDPlot, y0=MN_mean-MN_sd, x1=SDPlot, y1=MN_mean+MN_sd, lwd=2) 

如果您還想水平端:

segments(x0=SDPlot-0.1, y0=MN_mean-MN_sd, x1=SDPlot+0.1, y1=MN_mean-MN_sd, lwd=2) 
segments(x0=SDPlot-0.1, y0=MN_mean+MN_sd, x1=SDPlot+0.1, y1=MN_mean+MN_sd, lwd=2) 
+1

感謝您的幫助jeremycg – Brooke

相關問題