11 votos

¿Cómo realizar una 4 por 4 mixtos ANOVA con contrastes entre y dentro de las asignaturas con R?

Usuario principiante de R aquí luchando con un ANOVA de medidas repetidas.

Tengo un conjunto de datos que consta de uno entre los sujetos factor con 4 niveles (codificado en una sola variable llamada "grupos"), y uno dentro de los temas factor con 4 niveles (codificado en cuatro variables independientes 'DV1', 'DV2', 'DV3', 'DV4').

Tengo los siguientes objetivos:

  1. Ejecutar un total de ANOVA de medidas repetidas.
  2. Comparar los grupos de uso personalizado de los contrastes (como en un LMATRIX de comandos de SPSS).
  3. Comparar los diferentes niveles de DV uso personalizado de los contrastes (como en un MMATRIX de comandos de SPSS).
  4. Hacer una combinación de 2) y 3) al mismo tiempo, así que estoy comparando solo ciertos grupos, en ciertos niveles de la dentro de los sujetos factor.
  5. Ejecutar un conjunto de contrastes que NO suma cero.

Sé que puedo hacer esto con el programa estadístico SPSS sin mucho de un problema, pero no puedo tener una idea clara de cómo hacer esto en R. he visto cómo las partes de que esto podría funcionar en diferentes paquetes, pero yo hasta ahora no han visto cómo esto podría funcionar dentro de un procedimiento o conjunto de procedimientos relacionados en R.

18voto

Anthony Cramp Puntos 126

Actualmente estoy escribiendo en un blog para la CrossValidated blog de la comunidad, que habla de la nada, pero este problema. Voy a actualizar esta respuesta con un enlace a este post cuando esté hecho (espero que esta semana).

Tanto tiempo, voy a esbozar la solución:

  1. Los datos deben estar en el formato largo (es decir, en el valor por fila) en lugar de en los de gran formato como en el programa SPSS (es decir, un tema por fila), ver remodelación del paquete, o ?reshape. Eso incluye que no debe ser una variable que indica el identificador de objeto (es decir, sujeto id).
  2. Todos los factores (incluyendo el identificador de objeto) debe ser de clase (factor de ejecutar str en el marco de datos). Si no haces esto, tus resultados serán erróneos.
  3. Si usted desea obtener de tipo III suma de cuadrados de establecer el valor predeterminado de contrastes por efecto de codificación:
    options(contrasts=c("contr.sum","contr.poly"))
  4. Especificar el modelo deseado con lme de la nlme (paquete de instalar y cargar el paquete de beforehands a través de install.packages("nlme") y library(nlme)) con un compund simétrica correlación de la estructura. Ver la respuesta y sobre todo a mi comentario a la aceptación de la respuesta a esta pregunta. En el caso de que pudiera ser algo como (si a usted le han proporcionado datos de la muestra, lo cual es muy recomendado, usted habría recibido el código correcto):
    my.anova <- lme(dv ~ group*within, data = your.df, random = ~1|id, correlation = corCompSymm(form = ~1|id))
  5. Use el genérico anova función para obtener la tabla anova (ver ?anova.lme):
    anova(my.anova)
    Para obtener el tipo III suma de cuadrados de uso de la anova de comandos con el parámetro type conjunto a "marginal" (esto sólo funciona si los contrastes se establecen para efectos de codificación, véase el punto 3):
    anova(my.anova, type = "marginal")
  6. La equipada con el objeto de tipo lme ahora permite diversas funciones para realizar contrastes. La solución más flexible (pero bastante torpe) es la L argumento en una llamada a anova.lme (ver de nuevo ( ?anova.lme).
    Otras soluciones que también requieren de una cocina equipada lme objeto como argumento:
    También muy flexible es el estimable función de la gmodels paquete. Este paquete también ofrece la fit.contrasts función.
    El multcomp paquete permite que contrasta el uso de alfa-error de ajuste (pero sólo puede realizar contrastes utilizando uno de sus factores), el uso de la glht función.
    Un nuevo y prometedor enfoque es el contraste de paquete, sin embargo, hasta ahora no parece privde todos los posibles contrastes.

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