R
R 中 2 因子重複測量 ANOVA 後的事後檢驗?
我在尋找關於如何在 R 中的 2 因子(包括受試者內)重複測量方差分析之後運行事後測試(Tukey HSD)的解決方案時遇到問題。對於方差分析,我使用了 aov -函數:
summary(aov(dv ~ x1 * x2 + Error(subject/(x1*x2)), data=df1))
在閱讀了其他問題的答案後,我了解到我首先必須使用其他一些功能(例如 lme)重新運行 ANOVA。這就是我想出的。
Lme.mod <- lme(dv ~ x1*x2, random=list(subject=pdBlocked(list(~1, pdIdent(~x1-1), pdIdent(~x2-1)))), data=df1) anova(Lme.mod)
兩個主效應都很顯著,但沒有交互效應。然後,我使用這些函數進行事後比較:
summary(glht(Lme.mod, linfct=mcp(x1="Tukey"))) summary(glht(Lme.mod, linfct=mcp(x2="Tukey")))
但是,出現了一些問題:
首先,R 幫助文件說“在定義雙向 ANOVA 或 ANCOVA 模型中感興趣的參數時,必須小心使用 mcp 函數 (…) multcomp 版本 1.0-0 及更高版本會生成主要效果的比較僅,忽略協變量和交互(舊版本自動對交互項進行平均)。給出警告。” 果然,我收到了以下警告信息:
Warning message: In mcp2matrix(model, linfct = linfct) : covariate interactions found -- default contrast might be inappropriate
另一個令人費解的事情是,雖然兩個主效應都很顯著,但其中一個因素 (x1) 的事後比較沒有顯著差異。我以前從未遇到過這種情況。腳本/分析是否正確/適當,還是我遺漏了什麼?非常感激任何的幫助!
將
df1$x1x2=interaction(df1$x1,df1$x2) library(lmerTest) Lme.mod <- lme(dv ~ x1x2, random=~1|subject, correlation=corCompSymm(form=~1|subject), data=df1) anova(Lme.mod) summary(glht(Lme.mod, linfct=mcp(x1x2="Tukey")))
是你所追求的,即在因子 x1 和 x2 的所有測量水平組合中進行事後測試?(我還施加了複合對稱性,以使 lme 結果與重複測量 aov 調用的結果相匹配)