Используя dat
(найденный здесь), я запустить следующую модель:
library(lmerTest)
model <- lmerTest::lmer(eval ~ post + ess + post*ess + (1|ID), data = dat)
Вывод summary(model)
указывает на то, что термин взаимодействия является значимым:
Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: eval ~ post + ess + ess * post + (1 | ID)
Data: dat
REML criterion at convergence: 163.4
Scaled residuals:
Min 1Q Median 3Q Max
-1.95714 -0.48596 0.00623 0.49208 1.82729
Random effects:
Groups Name Variance Std.Dev.
ID (Intercept) 0.33344 0.5774
Residual 0.02944 0.1716
Number of obs: 170, groups: ID, 85
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 1.50194 0.09082 90.00645 16.538 < 0.0000000000000002 ***
post -0.24537 0.03658 83.00000 -6.707 0.00000000226 ***
ess 0.15444 0.13076 90.00645 1.181 0.24067
post:ess 0.15620 0.05267 83.00000 2.965 0.00395 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) post ess
post -0.201
ess -0.695 0.140
post:ess 0.140 -0.695 -0.201
Но когда я пытаюсь построить взаимодействие, используя sjPlot
, используя 95% доверительные интервалы, полученные интервалы вообще не делают взаимодействие значимым...
library(sjPlot)
library(TMB)
plot_model(model, type="int", ci.lvl=0.95)
Мои два вопроса:
- Почему кажется, что оценки и нанесенные на график результаты рассказывают разные истории?
- Как я могу извлечь доверительные интервалы для коэффициентов из модели, чтобы создать свой собственный график вместо использования
plot_model()
? Я хотел бы сделать гистограмму, чтобы проиллюстрировать взаимодействие, потому что переменныеess
иpost
являются двоичными.
Примечание. Я рад использовать lme4
- должен получить тот же результат, просто не так очевидно, какие коэффициенты имеют значение при суммировании объектов lme4, и я хотел, чтобы вопрос был очень ясным.