2016-03-16 61 views
3

我有以下一組數據;ggplot2;如何在分類變量中繪製兩個不同組的組平均線

V1 V2 V3 
1: G1 P1 82.7 
2: G2 P1 64.6 
3: G2 P1 81.2 
4: G2 P1 95.3 
5: G1 P1 80.0 
6: G2 P1 NA 
7: G2 P1 65.0 
8: G1 P1 83.8 
9: G1 P1 88.0 
10: G1 P1 66.9 
11: G1 P1 56.8 
12: G1 P2 65.1 
13: G2 P2 57.7 
14: G2 P2 60.4 
15: G2 P2 18.6 
16: G1 P2 41.2 
17: G2 P2 47.0 
18: G2 P2 37.1 
19: G1 P2 18.8 
20: G1 P2 47.9 
21: G1 P2 40.0 
22: G1 P2 54.3 

我通過使用ggplot2做了以下繪圖;

ggplot(a,aes(x=V2,y=V3))+ 
    geom_jitter(aes(group=V1,color=V1,na.rm=T), position =position_jitterdodge())+ 
    stat_summary(fun.y="mean",geom="crossbar", 
      mapping=aes(ymin=..y.., ymax=..y..), width=1) 

enter image description here

V1包含兩個範疇變量,P1和P2,並在其中,有兩個子類別,G1和G2。我想要做的是用G1和G2的平均線生成圖,但上面的代碼給出了分類變量P1和P2的均值。

我真的很感謝這方面的幫助。

謝謝。

回答

2

移動color=V1ggplot()aes()到有橫杆不同的顏色和ALDO添加postion_dodge()stat_summary()

ggplot(a,aes(x=V2,y=V3,color=V1))+ 
    geom_jitter(aes(group=V1,na.rm=T), position =position_jitterdodge())+ 
    stat_summary(fun.y="mean",geom="crossbar", 
       mapping=aes(ymin=..y.., ymax=..y..), width=1, 
       position=position_dodge(),show.legend = FALSE) 

enter image description here

相關問題