9 votos

Prueba post-hoc tras ANOVA de medidas repetidas de 2 factores en R?

Tengo problemas para encontrar una solución sobre cómo ejecutar una prueba post-hoc (Tukey HSD) después de un ANOVA de 2 factores (ambos dentro de los sujetos) de medidas repetidas en R. Para el ANOVA, he utilizado la función aov:

summary(aov(dv ~ x1 * x2 + Error(subject/(x1*x2)), data=df1))

Después de leer las respuestas a otras preguntas, deduje que primero tendría que volver a ejecutar el ANOVA utilizando alguna otra función (por ejemplo, lme). Esto es lo que se me ocurrió.

Lme.mod <- lme(dv ~ x1*x2, random=list(subject=pdBlocked(list(~1, pdIdent(~x1-1), pdIdent(~x2-1)))), data=df1)
anova(Lme.mod)

Ambos efectos principales fueron significativos, pero no hubo efectos de interacción. A continuación, utilicé estas funciones para las comparaciones post-hoc:

summary(glht(Lme.mod, linfct=mcp(x1="Tukey")))
summary(glht(Lme.mod, linfct=mcp(x2="Tukey")))

Sin embargo, hubo algunos problemas:

En primer lugar, el archivo de ayuda de R dice que "La función mcp debe usarse con cuidado cuando se definen parámetros de interés en modelos ANOVA o ANCOVA de dos vías (...) la versión multcomp 1.0-0 y superior genera comparaciones sólo para los efectos principales, ignorando las covariables y las interacciones (las versiones más antiguas promediaban automáticamente los términos de interacción). Se da una advertencia". Y efectivamente, recibí el siguiente mensaje de advertencia:

Warning message:
In mcp2matrix(model, linfct = linfct) :
covariate interactions found -- default contrast might be inappropriate

Otra cosa desconcertante fue que, aunque ambos efectos principales eran significativos, no había diferencias significativas en las comparaciones post-hoc para uno de los factores (x1). Nunca me había encontrado con esto. ¿Son los scripts/análisis correctos/apropiados, o hay algo que se me escapa? Cualquier ayuda será muy apreciada.

0 votos

Bienvenida al sitio, @Jonna. ¿Es usted sólo ¿Interesado en cómo hacer que R haga esto? Si es así, esta pregunta estaría fuera del tema de CV (ver nuestro PREGUNTAS FRECUENTES ), pero en el tema de Stack Overflow . No puedo decir si su pregunta es sobre la naturaleza de las pruebas post-hoc con datos de medidas repetidas, o una pregunta algorítmica sobre la codificación de R. Por favor, edite para aclarar. (Tenga en cuenta que si usted sólo quiere saber acerca de R, podemos migrar su Q; por favor, no hagas cross-post ).

1 votos

¡Gracias @gung! Supongo que mi pregunta tiene que ver con ambas cosas... ¡He intentado aclarar el problema editando mi post!

2voto

kentaromiura Puntos 3361

¿Podría

df1$x1x2=interaction(df1$x1,df1$x2)
library(lmerTest)
Lme.mod <- lme(dv ~ x1x2, random=~1|subject,
               correlation=corCompSymm(form=~1|subject),
               data=df1)
anova(Lme.mod)
summary(glht(Lme.mod, linfct=mcp(x1x2="Tukey")))

¿será lo que buscas, es decir, hacer pruebas posthoc entre todas las combinaciones de niveles de medidas de ambos factores x1 y x2? (también he impuesto simetría compuesta, para que el resultado lme coincida con el de la llamada aov de medidas repetidas)

-2voto

Mohit Agarwal Puntos 11

Prueba de multicomparación de Tukey

  1. Instalar el paquete multcomp install.packages("multcomp")

  2. Hacer que multcomp esté disponible para su uso library("multcomp")

  3. Comprobar que se está ejecutando - Explica qué paquetes están actualmente abiertos en R buscar()

A continuación, utilice la función glht()

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