TukeyHSD在因子ANOVA之后

时间:2011-05-05 21:51:07

标签: r

我运行以下命令

a1 <- aov(Ratio~(Condition*Event) + Error(Participant/(Condition*Event)), Data)
summary(a1)

输出正确的结果(ANOVA表等)。

当我跑步时:

  

TukeyHSD(A1, “条件”)

我得到:UseMethod中的错误(“TukeyHSD”):“TukeyHSD”没有适用的方法

为什么ANOVA有效,但TukeyHSD无效?因子变量中的两个都是字符串(条件有3个级别,事件有4个级别)。

编辑: 当我在没有Error项的情况下重做aov时,它可以工作,但是Tukey在任何一对之间没有显示出显着差异(ANOVA对于置信度很重要)。这是否意味着Tukey正在纠正多重比较?

3 个答案:

答案 0 :(得分:5)

带有aov()

Error()会返回类"aovlist" "listof"的对象。 TukeyHSD显然没有任何一种方法。

答案 1 :(得分:4)

作为传统重复测量ANOVA的替代方案,您可以考虑使用线性混合效应方法。它越来越多地用于科学界,避免了一些ANOVA陷阱,同时允许更复杂的错误结构。使用连续响应变量,nlme包就足够了,但您也可以使用lme4进一步允许处理分类响应变量。对于多重比较(包括Tukey的事后测试),multcomp包(参见glht()函数)可以与配备nlme::lme的混合效果模型一起使用,如此处所述:Repeated Measures ANOVA using R

关于您的设计的一个简短评论:如果您的响应(依赖)变量Ratio是一个比例或一个有界值,您可能会想到使用不同的链接函数。

答案 2 :(得分:2)

library(laercio)
some.aov <- aov(Ratio~(Condition*Event) + Error(Participant/(Condition*Event)), Data)
anova(some.aov)
LTukey(some.aov,"Condition")