[英]ggplot2; how to draw group mean lines of two different groups in a categorical variable
我有一組以下數據;
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)
V1包含兩個分類變量P1和P2,其中有兩個子類別G1和G2。 我喜歡做的是用G1和G2的平均線生成圖,但上面的代碼給出了分類變量P1和P2的平均值。
我真的很感激你的幫助。
謝謝。
將color=V1
移動到ggplot()
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.