我正在使用lme4
in分析一些行为数据R
,主要遵循Bodo Winter 的优秀教程,但我不明白我是否正确处理交互。更糟糕的是,参与这项研究的其他人都没有使用混合模型,所以在确保事情正确时我有点飘忽不定。
与其只是发出呼救声,我认为我应该尽我最大的努力来解释问题,然后请求你们集体更正。其他一些方面是:
- 在写作时,我发现了这个问题,表明
nlme
更直接地为交互项给出 p 值,但我认为询问与 的关系仍然有效lme4
。 Livius'
对这个问题的回答提供了很多额外阅读的链接,我将在接下来的几天内尝试完成这些阅读,所以我会对带来的任何进展发表评论。
在我的数据中,我有一个因变量dv
,一个condition
操作(0 = 控制,1 = 实验条件,这应该导致更高的dv
),还有一个先决条件,标记为appropriate
:1
为此编码的试验应该显示效果,但试验编码0
可能不是,因为缺少一个关键因素。
我还包括了两个随机截距, forsubject
和 for target
,反映了dv
每个受试者中的相关值,以及解决的 14 个问题中的每个问题(每个参与者解决了每个问题的控制版本和实验版本)。
library(lme4)
data = read.csv("data.csv")
null_model = lmer(dv ~ (1 | subject) + (1 | target), data = data)
mainfx_model = lmer(dv ~ condition + appropriate + (1 | subject) + (1 | target),
data = data)
interaction_model = lmer(dv ~ condition + appropriate + condition*appropriate +
(1 | subject) + (1 | target), data = data)
summary(interaction_model)
输出:
## Linear mixed model fit by REML ['lmerMod']
## ...excluded for brevity....
## Random effects:
## Groups Name Variance Std.Dev.
## subject (Intercept) 0.006594 0.0812
## target (Intercept) 0.000557 0.0236
## Residual 0.210172 0.4584
## Number of obs: 690, groups: subject, 38; target, 14
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 0.2518 0.0501 5.03
## conditioncontrol 0.0579 0.0588 0.98
## appropriate -0.0358 0.0595 -0.60
## conditioncontrol:appropriate -0.1553 0.0740 -2.10
##
## Correlation of Fixed Effects:
## ...excluded for brevity.
然后,ANOVA 显示出interaction_model
比 更好的拟合mainfx_model
,据此我得出结论,存在显着的交互作用 (p = .035)。
anova(mainfx_model, interaction_model)
输出:
## ...excluded for brevity....
## Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
## mainfx_model 6 913 940 -450 901
## interaction_model 7 910 942 -448 896 4.44 1 0.035 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
从那里,我分离出appropriate
满足要求的数据子集(即appropriate = 1
,是一个重要的预测指标。condition
condition
good_data = data[data$appropriate == 1, ]
good_null_model = lmer(dv ~ (1 | subject) + (1 | target), data = good_data)
good_mainfx_model = lmer(dv ~ condition + (1 | subject) + (1 | target), data = good_data)
anova(good_null_model, good_mainfx_model)
输出:
## Data: good_data
## models:
## good_null_model: dv ~ (1 | subject) + (1 | target)
## good_mainfx_model: dv ~ condition + (1 | subject) + (1 | target)
## Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)
## good_null_model 4 491 507 -241 483
## good_mainfx_model 5 487 507 -238 477 5.55 1 0.018 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1