TukeyHSD或在R,ANCOVA中的glht

时间:2017-11-04 02:39:09

标签: r posthoc tukeyhsd

我想知道我是否可以使用函数“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)

最好,苏

1 个答案:

答案 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')