我想知道我是否可以使用函数“TukeyHSD”来执行“aov()”模型与一个因子(例如,GROUP)和一个连续协变量(例如,AGE)的所有成对比较。我做了例如:
library(multcomp)
data('litter', package = 'multcomp')
litter.aov <- aov(weight ~ gesttime + dose, data = litter)
TukeyHSD(litter.aov, which = 'dose')
我得到一条这样的警告信息: 警告信息: 在复制中(粘贴(“〜”,xx),data = mf):忽略非因子:gesttime
此过程是否正确?警告信息的含义是什么? “TukeyHSD”是否适用于非常不平衡的设计?
另外,上面和下面的流程有什么区别吗?
litter.mc <- glht(litter.aov, linfct = mcp(dose = 'Tukey'))
summary(litter.mc)
最好,苏
答案 0 :(得分:0)
没有区别。 TukeyHSD()
只是更想要告诉你潜在的问题。请注意,这是一条警告消息,而不是错误,这意味着结果可能不是您所期望的,但它们仍然会被返回,因此您可以自己判断。
至于它意味着什么,它意味着它所说的:非因子变量被忽略。请记住,您正在比较组之间的差异,并且使用因子进行分组,因此所有因素都是TukeyHSD()
关注的。在您的情况下,您明确告诉函数只关心dose
,这是因素,因此警告可能会被视为过于谨慎。
避免警告的一种方法是将gesttime
转换为一个因子,因为它只包含四个级别,所以这样做是有道理的。
data('litter', package = 'multcomp')
litter$gesttime <- as.factor(litter$gesttime)
litter.aov <- aov(weight ~ gesttime + dose, data = litter)
TukeyHSD(litter.aov, which = 'dose')