如何为成对的 TukeyHSD 生成紧凑的字母显示

How to generate a compact letter display for pairwise TukeyHSD

我在为我的结果生成紧凑的字母显示时遇到问题。 我已经 运行 一个方差分析,然后是 Tukey 的 HSD 来生成每对的 p 值,但我不知道如何(或者如果可能吗?)为这些 p 值分配字母以显示哪些对是重要的来自彼此。

csa.anova<-aov(rate~temp*light,data=csa.per.chl) summary(csa.anova) TukeyHSD(csa.anova)

这 运行 是我需要的测试,但我不知道如何为每个 p 值分配字母以显示哪些对是重要的。

您需要先安装 multcomp 包。它可以计算 Tukey HSD 测试和 returns 具有 summaryplot 方法的对象。该包还有一个函数(cld)打印"compact letter display."作为例子我们可以使用R自带的鸢尾花数据集:

library(multcomp)
data(iris)
iris.aov <- aov(Petal.Length~Species, iris)
iris.tukey <- glht(iris.aov, linfct=mcp(Species="Tukey"))
cld(iris.tukey)
#     setosa versicolor  virginica 
#        "a"        "b"        "c" 

我无法使此代码工作:

data("iris")
iris.aov<-aov(Petal.Length~Species,iris)
iris.tukey<-glht(iris.aov,linfct=mcp(Species="Tukey"))

这是触发的错误:

Error in glht(iris.aov, linfct = mcp(Species = "Tukey")) : could not find function "glht"

查找更多详细信息here

mod <- lm(Sepal.Width ~ Species, data = iris)

mod_means_contr <- emmeans::emmeans(object = mod,
                                    pairwise ~ "Species",
                                    adjust = "tukey")

mod_means <- multcomp::cld(object = mod_means_contr$emmeans,
                           Letters = letters)

library(ggplot2)

ggplot(data = mod_means,
       aes(x = Species, y = emmean)) +
  geom_errorbar(aes(ymin = lower.CL, 
                    ymax = upper.CL), 
                width = 0.2) +
  geom_point() +
  geom_text(aes(label = gsub(" ", "", .group)),
            position = position_nudge(x = 0.2)) +
  labs(caption = "Means followed by a common letter are\nnot significantly different according to the Tukey-test")

reprex package (v2.0.0)

于 2021-06-03 创建