使用回归模型(LM,LMER)进行重复测量ANOVA

7

我希望使用回归模型而不是“方差分析”(AOV)函数在R中运行重复测量的ANOVA。

这里是我针对三个因子的样本AOV代码:

m.aov<-aov(measure~(task*region*actiontype) + Error(subject/(task*region*actiontype)),data)  

请问有人能给我运行回归模型分析的确切语法吗?我希望保证残差的独立性,即像AOV一样使用特定的误差项。

在之前的帖子中,我看到了这样的回答:

lmer(DV ~ 1 + IV1*IV2*IV3 + (IV1*IV2*IV3|Subject), dataset))

我真的不确定这个解决方案,因为它仍然将变量视为受试者之间的差异,并且我不明白添加随机因素会如何改变这一点。

有人知道如何使用lm/lmer运行重复测量ANOVA,并考虑残差独立性吗?

非常感谢, Solene

2个回答

1

我这里有一些更详细的实例:https://keithlohse.github.io/mixed_effects_models/lohse_MER_chapter_02.html

但是,如果您想得到一个与您的ANOVA同源的混合模型,您可以将随机截距包括在每个主题:因素中,并将其与您的组内因素一起使用。例如,

aov(DV~W1*W2*W3 + Error(SUBJECT/(W1*W2*W3)),data)

等效于以下混合模型:

lmer(speed ~ 
    # Fixed Effects
    W1*W2*W3 + 
    # Random Effects
    (1|SUBJECT) + (1|W1:SUBJECT) + (1|W2:SUBJECT) + (1|W3:SUBJECT),
    data = DATA,
    REML = TRUE)

使用REML设置为TRUE并且设计平衡,您应该得到与ANOVA相同的自由度和F值。 ML倾向于低估方差分量,因此如果您正在比较嵌套模型并需要使用ML,则您的结果将不完全匹配。 如果您没有比较嵌套模型并且可以使用REML,则ANOVA和混合模型应该匹配(同样,在平衡设计中)。
对于@skan之前的回答和其他人可能有的想法,我并不是说这是 THE 随机效应结构(因为相对于随机截距来说,包括W1的随机斜率可能更合适),但如果每个受试者:条件只有一个观察值,则这些随机效应会产生等效的结果。

0
如果您的aov示例是正确的(也许您不想嵌套事物),您需要这个:
lmer(measure~(task*region*actiontype) + 1(1|subject/(task:region:actiontype))

如果残差独立意味着截距和斜率是独立计算的,那么您需要分别指定它们:
+(1|yourfactors)+(0+variable|yourfactors)

或者使用符号:

+(1||yourfactors)

无论如何,如果你阅读帮助文件,你会发现lme4无法处理最一般的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接