如何为ggplot2 boxplot中的各个方面运行和注释单独的TukeyHSD?

问题描述

我不太擅长R语言,并且正在尝试将这段代码组合在一起,但我不太希望这样做。我真的很感谢任何帮助!

我想在ggplot箱图中的各个方面中的治疗组之间执行TukeyHSD测试。不过,目前,我的图形在图形中的所有方框图中都应用了一个TukeyHSD,这导致了如图所示的大量分组:

my current plot

正如我提到的,最好让TukeyHSD在单独的“ Depth”深度上运行,然后将其分离为“ 0”,“ 5”和“ 30”。可以通过修改我一直在使用的代码来做到这一点吗?

data1 <- read.delim(file="clipboard")

data1$Treatment <- as.factor(data1$Treatment)
data1$Depth <- as.factor(data1$Depth)

model<- aov(MBC~Treatment*Depth,data=data1)
model
library(emmeans)
library('multcomp')
cld_dat = as.data.frame( cld(emmeans(model,~Depth*Treatment),Letters = letters ) )

ggplot(data1,aes(x=Treatment,y=MBC,fill=Treatment)) +
  geom_boxplot() + 
  ylab("MBC") +
  ggtitle("Melinis") +
  facet_wrap(~Depth,ncol=3) +
  geom_text(data = cld_dat,aes(y = 140,label = .group))

如果可能的话,还有一个问题:我如何将另一个y变量“ CB”添加为第二行,与我拥有第一行变量“ MBC”的方式相同?

谢谢您的任何建议!

        Treatment Depth    MBC        CB

解决方法

如果我正确理解哪个因素具有这些方面的水平,那么您需要的是

 cld(emmeans(model,~ Treatment | Depth))

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...