Eu estou analisando alguns dados comportamentais usando lme4
em R
, principalmente após excelentes tutoriais do Bodo de Inverno , mas eu não entendo se eu estou lidando com interações corretamente. Pior, ninguém mais envolvido nesta pesquisa usa modelos mistos, então estou um pouco à deriva quando se trata de garantir que as coisas estejam certas.
Em vez de apenas pedir um pedido de ajuda, pensei em fazer o meu melhor para interpretar o problema e depois implorar suas correções coletivas. Alguns outros aspectos são:
- Enquanto escrevia, encontrei essa pergunta , mostrando que
nlme
mais diretamente fornece valores p para termos de interação, mas acho que ainda é válido perguntar com relação alme4
. Livius'
A resposta a essa pergunta forneceu links para várias leituras adicionais, que tentarei abordar nos próximos dias; portanto, comentarei com qualquer progresso que traga.
Nos meus dados, eu tenho uma variável dependente dv
, uma condition
manipulação (0 = controle, 1 = condição experimental, que deve resultar em um valor mais alto dv
) e também um pré-requisito, rotulado appropriate
: ensaios codificados 1
para isso devem mostrar o efeito, mas ensaios codificados 0
podem não, porque falta um fator crucial.
Também incluí duas interceptações aleatórias, para subject
e para target
, refletindo dv
valores correlatos dentro de cada sujeito e dentro de cada um dos 14 problemas resolvidos (cada participante resolveu uma versão experimental e de controle de cada problema).
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)
Resultado:
## 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.
A ANOVA mostra então interaction_model
um ajuste significativamente melhor do que mainfx_model
, do qual concluo que há uma interação significativa presente (p = 0,035).
anova(mainfx_model, interaction_model)
Resultado:
## ...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
A partir daí, isolei um subconjunto dos dados para os quais o appropriate
requisito foi atendido (ou seja, appropriate = 1
) e, para que ele se ajuste a um modelo nulo e a um modelo que inclua condition
como efeito, comparo os dois modelos usando o ANOVA novamente e eis que condition
é um preditor significativo.
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)
Resultado:
## 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
lme4
: stats.stackexchange.com/questions/118416/…