如何解决如何在ggplot2条形图中显示Tukey事后测试的显着比较?
Competitor disturbance Group MT CVt
1 M P A 17.416667 63.39274
2 M P A 11.055556 91.32450
3 M C N 13.928571 78.11438
4 B C N 13.500000 61.20542
5 B T E 12.700000 48.11819
6 B T E 27.250000 63.44356
我制作了一个GLMM(mMT1),它具有3个预测变量(竞争者,干扰和群体),1个响应(MT)和1个随机因子(物种,示例数据集中未显示)。
在拟合和检查模型之后,我用包emmeans计算了ls均值:
ls_MT <- emmeans(mMT1,pairwise~disturbance*Competitor*Group,type="response")
并进行了事后测试:
post_MT <- emmeans(mMT1,transform="response",component="cond",list(~disturbance|Competitor|Group,~Competitor|Group|disturbance,~Group|disturbance|Competitor))
pairs(post_MT)
最后,我根据ls的均值和se制作了带有ggplot2的条形图。
ggplot(ls_MT,aes(x=disturbance,fill=Competitor,y=response))+
geom_bar(stat="identity",position=position_dodge())+
facet_grid(cols=vars(Group))+labs(y = "log10(MT)")+
scale_color_manual(values=c("#2ca02c","#d62728"))+
geom_errorbar(aes(ymin=ls_MT$lower,ymax=ls_MT$upper),width=.2,position=position_dodge(.9))+
theme_light()
目前,我正在努力解决两件事:
-
如何在图表上注释事后测试的比较结果?我已经看到,有几个函数可以执行单独的测试(例如
stat_compare_means
)并绘制这些结果,但是我找不到Tukey事后测试的解决方案。另一个解决方案可能是添加geom_signif(map_signif_level = c(" * * * "=0.001," * * "=0.01,"*"=0.05),comparisons = list(c("P","C"),c("P","T"),c("C","T"))
但是将每个干扰(P,T,C)的B和M(竞争对手)值合并在一起。在这种情况下,我实际上想比较P,T和C中的B和M。甚至更好的是,如何指定要显示事后结果的小节?例如,我想将A-T-B与E-T-B等进行比较。
我希望我足够清楚,并且我将非常感谢任何可以提供帮助的人! :))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。