2015-02-07 51 views
-1

我有一個數據幀,只包含每個組的平均值與顯式數字定義標準偏差爲每個組(上限和下限)。這是數據框:與ggplot2一個很好的boxplot與多個因素和明確定義的標準差

dat <- read.table(text = ' 
    mean dist  group  lower  upper rev.lower factor 
-4.058047 0 P -4.096849 -4.019245 -4.096849 dd 
-4.001524 0 Ps -4.040326 -3.962722 -4.040326 dd 
-3.956972 0 P -4.028551 -3.885393 -4.028551 tt 
-4.050114 0 Ps -4.121694 -3.978535 -4.121694 tt 
-2.859591 0 P -2.955156 -2.764026 -2.955156 aa1 
-3.017559 0 Ps -3.113124 -2.921994 -3.113124 aa1 
-3.094085 0 P -3.196434 -2.991736 -3.196434 aa4 
-3.265121 0 Ps -3.367470 -3.162772 -3.367470 aa4 
-4.283909 0 P -4.352606 -4.215213 -4.352606 ba1 
-4.344173 0 Ps -4.412870 -4.275477 -4.412870 ba1 
-4.594736 0 P -4.664228 -4.525243 -4.664228 bh2 
-4.545442 0 Ps -4.614935 -4.475950 -4.614935 bh2 
-4.843653 0 P -4.925350 -4.761957 -4.925350 g6 
-4.492781 0 Ps -4.574478 -4.411085 -4.574478 g6 
-4.072374 0 P -4.205603 -3.939145 -4.205603 gx 
-3.742987 0 Ps -3.876216 -3.609758 -3.876216 gx',head=T, fill=T) 

我嘗試這樣做:

ggplot(dat, aes(factor(factor), value)) + geom_boxplot(aes(fill=factor(group))) 

它的工作原理,但我不能確定如何繪製下限和上限SD

爲每個組中的每個因素。請告知我如何可以繪製這個...

千恩萬謝

+0

我不認爲你想_boxplot_但_barplot_。箱形圖是帶有從第一至第三四分位數的框以及分數和第一四分位數以及第三四分位數和最大值之間的線的圖形。使用geom_bar()代替 – xraynaud 2015-02-07 18:58:52

回答

1

嘗試添加

your_barplot + geom_errorbar(aes(ymax=upper, 
           ymin=lower), 
          position=position_dodge(0.9), 
          data=dat) 
+0

謝謝,它確實有效,但它仍然很難理解圖表:/你能否告訴我們如何讓這個盒子從平均值填充到標準差?也許也可以將盒子並排而不是彼此放在一起。非常感謝! – user3287491 2015-02-07 12:13:12

+0

很高興它可以工作。我沒有完全明白你的問題。你可以顯示你想要的輸出和示例文件嗎?您可能會考慮接受sdv問題的答案,並針對其他問題開放一個新問題,以便用戶可以幫助您更好地關注特定問題和更新問題。 – efrem 2015-02-07 12:28:09