我不理解multcompView中的函数multcompletters中的字母顺序。根据文档,它应该是根据组的平均值。在下面的例子中,中间的组得到了c(来自abc),并且应该得到了b。这是一个bug吗?
require(multcompView)
# Data
datacol <- c(21.1,20.2,21.8,20.9,23.3,21.1,20.2,21.8,20.9,23.3,19.8,16.4,
16.9,16.0,17.6,17.5,16.9,13.3,18.0,17.6,13.5,12.2,15.2,15.1,15.2,14.0)
# Group
faccol <- c(rep(c(1,2),each=10),rep(3,6))
# Combined Dataframe
tukeyset <- data.frame(datacol,as.factor(faccol))
colnames(tukeyset)[2] <- "faccol"
# Tukeytest
tukeyres <- TukeyHSD(x=aov(lm(datacol~faccol,data=tukeyset)))
Tlevels <- tukeyres$faccol[,4]
multcompLetters(Tlevels) # WRONG ORDER, even reversed
# Boxplot
boxplot(tukeyset$datacol~tukeyset$faccol)
# adding the labels
text(x=c(1,2,3),y=c(aggregate(data=tukeyset,datacol~faccol,mean)$datacol),
labels=as.character(multcompLetters(Tlevels,reversed=TRUE)$Letters)[order(names(multcompLetters(Tlevels,reversed=TRUE)['Letters']$Letters))])发布于 2021-04-29 19:30:55
哦,不,刚刚遇到了这个问题!花了2个小时终于把它弄清楚了!
您不能调用multcompLetters。它会给你一个完全错误的顺序。
您必须使用multcompLetters2、multcompLetters3或multcompLetters4。
另一个非常重要的一点是你必须将你的输入数据集转换成一个数据帧,而不是! Tibble不适用于这一点。
https://stackoverflow.com/questions/52533259
复制相似问题