繁体   English   中英

GGPLOT2; 如何在分类变量中绘制两个不同组的组平均线

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM