2 votos

Estadísticas F para la prueba post hoc de un modelo lineal de efectos mixtos

Tengo un modelo lineal desequilibrado de efectos mixtos con tres factores fijos de varios niveles y un factor aleatorio para mis datos de medidas repetidas ( para más detalles ver aquí ). Gracias a su ayuda he conseguido hacer pruebas post-hoc sobre los términos de interacción significativos utilizando lsm de la lsmeans paquete. Sin embargo, necesito informar del estadístico F (valor F y grados de libertad) para estas pruebas post-hoc y me pregunto cómo

Esto es lo que hago:

  1. Comparación de modelos mediante anova() resultando en el modelo final model_final que dice:

    sc ~ time + cond + place + time:cond + cond:place + (1|ID), data) .

  2. Analizo la interacción significativa tiempo:cond utilizando lsmeans :

    posthoc_1 <- glht(model_final, lsm(pairwise ~ cond|time)

    summary(posthoc_1)

y obtener algo como lo siguiente para cada nivel de time Aquí está el ejemplo para time1 .

> Note: df set to 268 
>
> $`time = time1`
> 
>    Simultaneous Tests for General Linear Hypotheses
> 
> Fit: lme4::lmer(formula = sc ~ time + cond + place + time:cond + cond:place + (1|ID), data)
> 
> Linear Hypotheses:
>                    Estimate Std. Error t value Pr(>|t|) 
> cond1 - cond2 == 0   3.1867     0.6797   4.688 4.39e-06 ***

Esto me da los valores t para los distintos niveles de los términos de interacción y su correspondiente valor p, ¡pero no las estadísticas F!

Mis preguntas:

  1. ¿Hay alguna forma de obtener las estadísticas F? (valor F y grado de libertad)
  2. ¿O me quedo con los valores t? Si es así, ¿es t(0,095;268) = 4,588, p < 0,001 que reporta los grados de libertad correctos?

2voto

anand Puntos 199

Si utiliza el lsmeans directamente en lugar de a través de glht podrías tener más suerte.

library(lsmeans)
( mod.pairs = contrast(lsmeans(model_final, ~ cond|time), "trt.vs.ctrl1") )

En este punto, lo que se tiene son comparaciones por pares en cada time . ¿Es el cond:time ¿interacción que quieres probar? En caso afirmativo, calcule los contrastes de las diferencias anteriores (columna denominada contrast ):

inter.con = contrast(mod.pairs, "trt.vs.ctrl1", by = NULL)
test(inter.con, joint = TRUE)

Sugiero utilizar trt.vs.ctrl1 porque hace el número correcto de contrastes para que coincida con la f.d. Sin embargo, si utiliza pairwise en su lugar, dará los mismos resultados (sólo tendrá que trabajar más).

PS esto requiere la última versión de lsmeans (2.12) porque el joint no estaba disponible antes.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X