SAS PROC MIXED vs lmerTest output
lme4 mixed-models (1)
No especifica los mismos efectos aleatorios que en su ejemplo de SAS. (Condition | Participant)
se expande internamente a (1 + Condition | Participant)
, que se ajusta a un intercepto aleatorio, una pendiente aleatoria y la covarianza entre ellos [ 1 ]. Entonces, tiene dos parámetros adicionales (una varianza de intercepción y la covarianza) en su modelo. Los efectos aleatorios no correlacionados se pueden especificar utilizando ||
en la sintaxis lme4. Observe cómo la fórmula se expande en el resultado del resumen.
library(lmerTest)
fit <- lmer(Data ~ Condition + (Condition || Participant), REML=TRUE, data = DF)
summary(fit)
#Linear mixed model fit by REML
#t-tests use Satterthwaite approximations to degrees of freedom [''lmerMod'']
#Formula: Data ~ Condition + ((1 | Participant) + (0 + Condition | Participant))
# Data: DF
#
#REML criterion at convergence: 90.6
#
#Scaled residuals:
# Min 1Q Median 3Q Max
#-1.58383 -0.78970 -0.06993 0.87801 1.91237
#
#Random effects:
# Groups Name Variance Std.Dev.
# Participant (Intercept) 0.00000 0.000
# Participant.1 Condition 0.07292 0.270
# Residual 1.20701 1.099
#Number of obs: 30, groups: Participant, 3
#
#Fixed effects:
# Estimate Std. Error df t value Pr(>|t|)
#(Intercept) -0.09931 0.36621 26.50400 -0.271 0.788363
#Condition 2.23711 0.46655 12.05700 4.795 0.000432 ***
#---
#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
#Correlation of Fixed Effects:
# (Intr)
#Condition -0.785
Estoy intentando reproducir el resultado del procedimiento PROC MIXED usando la aproximación Satterwaithe en SAS usando el paquete lmerTest en R.
Estos son mis datos:
Participant Condition Data
1 0 -1,032941629
1 0 0,869267841
1 0 -1,636722191
1 0 -1,15451393
1 0 0,340454836
1 0 -0,399315906
1 1 0,668983169
1 1 1,937817592
1 1 3,110013393
1 1 3,23409718
2 0 0,806881925
2 1 2,71020911
2 1 3,406864275
2 1 1,494288182
2 1 0,741827047
2 1 2,532062685
2 1 3,702118917
2 1 1,825046681
2 1 4,37167021
2 1 1,85125279
3 0 0,288743786
3 0 1,024396121
3 1 2,051281876
3 1 0,24543851
3 1 3,349677964
3 1 1,565395822
3 1 3,077031712
3 1 1,087494708
3 1 1,546150033
3 1 0,440249347
Usando la siguiente declaración en SAS:
proc mixed data=mbd;
class participant;
model data = condition / solution ddfm=sat;
random intercept condition / sub=participant;
run;
Obtengo esta salida:
Mi problema es que parece que no puedo reproducir estos resultados usando lmerTest en R.
Pensé que lmer(Data ~ Condition + (1 | Participant) + (Condition | Participant), REML=TRUE)
era la declaración equivalente de lo que hice en SAS, pero esto arroja resultados diferentes. Tenga en cuenta que los grados de libertad están muy lejos de la salida SAS, así que creo que estoy estimando parámetros en R que no estoy estimando en SAS. Intenté varias otras declaraciones en R pero no logré obtener el mismo resultado exacto. Sin embargo, esto debería ser posible ya que la función lmer () del paquete lmerTest también usa la aproximación Satterwaithe y debe ser exactamente igual que el procedimiento SAS PROC MIXED.
¿Alguien sabe lo que estoy haciendo mal en R?
¡Muchas gracias!
Bart