如何为成对的 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 具有 summary
和 plot
方法的对象。该包还有一个函数(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 创建
我在为我的结果生成紧凑的字母显示时遇到问题。 我已经 运行 一个方差分析,然后是 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 具有 summary
和 plot
方法的对象。该包还有一个函数(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 创建