我的数据结构如下:
这是我的 lmer 代码
m.pers <- lmer(seek_score ~ pers * sek_src + (1 | id), data = cln_long_sek)
m1.pers <- lmer(seek_score ~ pers * sek_src + (1 | id)+age, data = cln_long_sek)
我注意到,无论我是否在模型中包含协变量年龄(或其他协变量),交互项 pers * sek_src 都保持不变。我还用其他变量测试了这种行为,交互结果不受影响。
为什么添加协变量不会影响交互项?这是混合效应模型中的预期行为,还是我在解释中遗漏了一些东西?
这绝对不是混合模型的普遍特征。在年龄协变量与其他协变量正交的情况下,添加它可能不会对交互作用产生“太大”影响,但会产生非零影响。模拟示例:
set.seed(101)
dd <- data.frame(pers = rnorm(1000), age = rnorm(1000),
sek_src = rep(factor(1:4), length.out = 1000),
id = rep(factor(1:250), each = 4))
dd$seek_score <- simulate( ~ pers * sek_src + (1 | id) +age,
newdata = dd,
## parameters chosen fairly haphazardly (make theta
## large enough to avoid a singular fit)
newparams = list(beta = c(0, 1, 1, 1, 1, 2, 0.25, 1, 1),
theta = 2,
sigma = 1),
family = gaussian)[[1]]
m1 <- lmer(seek_score ~ pers * sek_src + (1 | id), data = dd)
m2 <- update(m1, . ~ . + age)
coef(summary(m1))
Estimate Std. Error t value
(Intercept) 0.2830350 0.1893472 1.494793
pers 0.9475097 0.1669076 5.676851
sek_src2 0.7828623 0.2082464 3.759308
sek_src3 1.0493780 0.2080385 5.044153
sek_src4 1.1716817 0.2096265 5.589377
pers:sek_src2 0.2911548 0.2284175 1.274661
pers:sek_src3 0.8660519 0.2457152 3.524616
pers:sek_src4 1.1805433 0.2459779 4.799389
coef(summary(m2))
Estimate Std. Error t value
(Intercept) 0.2319797 0.14104349 1.644739
pers 0.9896704 0.07201091 13.743340
sek_src2 1.0643268 0.08686656 12.252433
sek_src3 1.0167706 0.08664443 11.734979
sek_src4 1.2423105 0.08736657 14.219517
age 1.9939224 0.03333156 59.820850
pers:sek_src2 0.2523057 0.09881783 2.553240
pers:sek_src3 0.9910948 0.10595530 9.353895
pers:sek_src4 1.0737888 0.10587625 10.141923