问题描述
我不太擅长R语言,并且正在尝试将这段代码组合在一起,但我不太希望这样做。我真的很感谢任何帮助!
我想在ggplot箱图中的各个方面中的治疗组之间执行TukeyHSD测试。不过,目前,我的图形在图形中的所有方框图中都应用了一个TukeyHSD,这导致了如图所示的大量分组:
正如我提到的,最好让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))