Cómo realizar un MANOVA en R

Para comprender el MANOVA, primero es útil comprender el ANOVA.

Se utiliza un ANOVA (análisis de varianza) para determinar si existe o no una diferencia estadísticamente significativa entre las medias de tres o más grupos independientes.

Por ejemplo, supongamos que queremos saber si el estudio de la técnica tiene o no un impacto en los puntajes de los exámenes de una clase de estudiantes. Dividimos la clase al azar en tres grupos. Cada grupo usa una técnica de estudio diferente durante un mes para prepararse para un examen. Al final del mes, todos los estudiantes toman el mismo examen.

Para averiguar si el estudio de la técnica afecta las puntuaciones de los exámenes, podemos realizar un ANOVA de una vía, que nos dirá si existe una diferencia estadísticamente significativa entre las puntuaciones medias de los tres grupos.

Ejemplo de ANOVA unidireccional

En un ANOVA, tenemos una variable de respuesta. Sin embargo, en un MANOVA (análisis multivariado de varianza) tenemos múltiples variables de respuesta.

Por ejemplo, suponga que queremos saber cómo el nivel de educación (es decir, escuela secundaria, título de asociado, licenciatura, maestría, etc.) impacta tanto en los ingresos anuales como en el monto de la deuda por préstamos estudiantiles. En este caso, tenemos un factor (nivel de educación) y dos variables de respuesta (ingreso anual y deuda por préstamos estudiantiles), por lo que podríamos realizar un MANOVA unidireccional.

Ejemplo de MANOVA unidireccional

Relacionado: Comprensión de las diferencias entre ANOVA, ANCOVA, MANOVA y MANCOVA

Cómo realizar un MANOVA en R

En el siguiente ejemplo, ilustraremos cómo realizar un MANOVA unidireccional en R utilizando el conjunto de datos integrado iris , que contiene información sobre la longitud y el ancho de diferentes medidas de flores para tres especies diferentes («setosa», » virginica ”,“ versicolor ”):

#ver las primeras seis filas del conjunto de datos de iris
cabeza (iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Especies
# 1 5,1 3,5 1,4 0,2 setosa
# 2 4,9 3,0 1,4 0,2 setosa
# 3 4,7 3,2 1,3 0,2 setosa
# 4 4,6 3,1 1,5 0,2 setosa
# 5 5.0 3.6 1.4 0.2 setosa
# 6 5,4 3,9 1,7 0,4 setosa

Supongamos que queremos saber si la especie tiene algún efecto sobre la longitud y el ancho del sépalo. Usando especies como variable independiente, y longitud y ancho de sépalo como variables de respuesta, podemos realizar un MANOVA unidireccional usando la función manova () en R.

La función manova () usa la siguiente sintaxis:

manova (cbind (rv1, rv2,…) ~ iv, datos)

dónde:

  • rv1, rv2 : variable de respuesta 1, variable de respuesta 2, etc.
  • iv : variable independiente
  • datos : nombre del marco de datos

En nuestro ejemplo con el conjunto de datos de iris, podemos ajustar un MANOVA y ver los resultados usando la siguiente sintaxis:

#ajuste el modelo MANOVA
modelo <- manova (cbind (Sepal.Length, Sepal.Width) ~ Especies, datos = iris)

#ver el resumen de resultados
 (modelo)
# Df Pillai aprox F num Df den Df Pr (> F)    
#Especies 2 0.94531 65.878 4294 <2.2e-16 ***
#Residuales 147                                             
# ---
#Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1

De la salida podemos ver que el estadístico F es 65.878 y el valor p correspondiente es extremadamente pequeño. Esto indica que existe una diferencia estadísticamente significativa en las medidas de los sépalos según la especie.

Nota técnica: De forma predeterminada, manova () usa la estadística de prueba de Pillai . Dado que la distribución de este estadístico de prueba es compleja, también se proporciona un valor F aproximado para facilitar la interpretación.

Además, es posible especificar «Roy», «Hotelling-Lawley» o «Wilks» como la estadística de prueba que se utilizará mediante la siguiente sintaxis: resumen (modelo, prueba = ‘Wilks’)

Para averiguar exactamente cómo la longitud y el ancho del sépalo se ven afectados por las especies , podemos realizar ANOVA univariados usando summary.aov () como se muestra en el siguiente código:

summary.aov (modelo)


# Respuesta Sepal.Longitud:
# Df Suma Sq Valor medio Sq F Pr (> F)    
#Especie 2 63.212 31.606 119.26 <2.2e-16 ***
#Residuos 147 38.956 0.265                      
# ---
#Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1

# Respuesta Sepal.Width:
# Df Suma Sq Valor medio Sq F Pr (> F)    
#Especie 2 11.345 5.6725 49.16 <2.2e-16 ***
#Residuales 147 16.962 0.1154                      
# ---
#Signif. códigos: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0,1 pulg. 1

Podemos ver en el resultado que los valores p para ambos ANOVA univariados son extremadamente pequeños (<2.2e-16), lo que indica que la especie tiene un efecto estadísticamente significativo tanto en el ancho como en la longitud del sépalo .

Visualización de medios grupales

También puede ser útil visualizar las medias del grupo para cada nivel de nuestra especie variable independiente para obtener una mejor comprensión de nuestros resultados.

Por ejemplo, podemos usar la biblioteca gplots y la función plotmeans () para visualizar la longitud media del sépalo por especie :

#cargar biblioteca de gplots
biblioteca (gplots)

# Visualizar la longitud media del sépalo por especie
 plotmeans (iris $ Sepal.Length ~ iris $ Species)

gplots función plot_means () en R

En la gráfica podemos ver que la longitud media del sépalo varía bastante según la especie. Esto coincide con los resultados de nuestro MANOVA, que nos dijo que había una diferencia estadísticamente significativa en las medidas de los sépalos según la especie.

También podemos visualizar el ancho medio del sépalo por especie :

plotmeans (iris $ Sepal.Width ~ iris $ Species)

MANOVA en R con parcelas

Ver el RDocumentation completo para el MANOVA () la función aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Introducción Supongamos que tenemos una matriz A de 3 × 3 , que tiene 3 filas y 3 columnas: Supongamos…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!