【问题标题】:TukeyHSD or glht in R, ANCOVAR、ANCOVA 中的 TukeyHSD 或 glht
【发布时间】:2017-11-04 02:39:08
【问题描述】:

我想知道我是否可以使用函数“TukeyHSD”来执行“aov()”模型与一个因子(例如,GROUP)和一个连续协变量(例如,AGE)的所有成对比较。例如,我做了:

library(multcomp)
data('litter', package = 'multcomp')
litter.aov <- aov(weight ~ gesttime + dose, data = litter)
TukeyHSD(litter.aov, which = 'dose')

我收到这样的警告消息: 警告信息: In replications(paste("~", xx), data = mf): non-factor ignored: gesttime

上述过程是否正确?警告信息的含义是什么? “TukeyHSD”是否适用于严重不平衡的设计?

另外,上面和下面的流程有区别​​吗?

litter.mc <- glht(litter.aov, linfct = mcp(dose = 'Tukey'))
summary(litter.mc)

最好的,苏

【问题讨论】:

  • 请参阅?TukeyHSD 帮助页面说明:“...因子水平 的均值与指定的家庭覆盖概率之间的差异。”

标签: r posthoc tukey


【解决方案1】:

没有区别。 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')

【讨论】:

    猜你喜欢
    • 2013-05-05
    • 2013-07-06
    • 2022-01-22
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 2017-10-04
    相关资源
    最近更新 更多