R 如何为ggplot2箱线图中的各个面运行和注释单独的TukeyHSD?

R 如何为ggplot2箱线图中的各个面运行和注释单独的TukeyHSD?,r,ggplot2,facet,tukey,R,Ggplot2,Facet,Tukey,我不是很擅长R,我正在尝试整理这段代码,但这段代码并不是我想要的。我真的很感激在这方面的任何帮助 我想在我的ggplot-boxplots中的各个方面对治疗组进行TukeyHSD测试。但目前,我的图在图中的所有箱线图中应用了一个TukeyHSD,这导致了大量分组,如图中所示: 正如我提到的,最好让TukeyHSD分别在单独的深度分隔的“0”面、然后是“5”面、然后是“30”面上运行。这可以通过修改我一直使用的代码来实现吗 data1 <- read.delim(file="cl

我不是很擅长R,我正在尝试整理这段代码,但这段代码并不是我想要的。我真的很感激在这方面的任何帮助

我想在我的ggplot-boxplots中的各个方面对治疗组进行TukeyHSD测试。但目前,我的图在图中的所有箱线图中应用了一个TukeyHSD,这导致了大量分组,如图中所示:

正如我提到的,最好让TukeyHSD分别在单独的深度分隔的“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))

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

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

这个问题有几个问题。首先,它是不可复制的。见此并修改Q。第二个问题是数据;查看该图表明,您希望将多个因子级别(分类变量)塞进一个图中。你可以做你想做的事情,但是你必须对数据进行预处理,比如把几个因子级折叠成一个公共因子级。查看用于将多个绘图组合成单个绘图的
gridExtra
包。请提供生成数据集的代码!此解决方案在所有24个组中应用一个Tukey测试。我想我现在意识到的是,我之前所做的是正确的,Tukey分别应用于每个方面,只是字母没有在每个方面的“a”处重新开始,而是继承了前一个方面的字母序列。主要是我想把各个方面分开,这样他们就不会混合Tukey测试和字母序列了。我的回答是在每组中进行单独的Tukey比较。您所做的是对所有治疗和组的组合进行一次Tukey比较。您可以对这些结果进行分析,但这不会改变我们所做的统计比较。是的,当你按照我的方式做时,这些字母在每个小组中都会重复使用。如果您不想这样做,则必须在cld调用之后以编程方式移动分组。FWIW,我碰巧认为cld分组是一种非常糟糕的总结比较的方式,因为它们强调的是非发现(没有发现显著性)而不是发现。我建议你考虑PWP()作为辅助情节,然后离开。您的箱线图中的分组字母。
 cld(emmeans(model, ~ Treatment | Depth))