HOWTO · R

Cómo realizar la prueba de Levene en R

Realice la prueba de Levene en R con el paquete car: prepare datos agrupados, compruebe la igualdad de las varianzas, interprete el valor p y cree un diagrama de caja.

En esta página

Para realizar la prueba de Levene en R, utilice la función leveneTest() del paquete car con una respuesta numérica y un factor de agrupación. La fórmula value ~ group compara la variabilidad de value entre las categorías de group.

Comprender la prueba de Levene

La hipótesis nula es que todas las varianzas de los grupos son iguales; la alternativa es que al menos una difiere. Las observaciones deben ser independientes.

De forma predeterminada, leveneTest() utiliza desviaciones absolutas respecto a las medianas de los grupos, lo que a menudo se denomina variante de Brown–Forsythe. Utilice center = mean para la prueba original centrada en la media.

Instalar y cargar el paquete car

Instale car una vez por entorno de R con install.packages("car"); esto requiere acceso a un repositorio y puede instalar dependencias. Cárguelo en cada sesión con library(car).

Utilice car::leveneTest() para acceder a la función sin adjuntar el paquete; la instalación sigue siendo necesaria. Si R indica que no existe ningún paquete llamado ‘car’, instálelo en el entorno de R que ejecuta su script, o utilice el cálculo con R base que aparece más abajo. Ambos ejemplos de R base que figuran a continuación fueron ejecutados. La instalación del paquete y el ejemplo separado de car::leveneTest() permanecen sin verificar, y el PDF generado no ha sido revisado visualmente.

Preparar datos agrupados

Utilice una fila por observación, con mediciones numéricas y etiquetas de grupo categóricas. El ejemplo genera 30 mediciones por grupo, todas con media 5 pero con desviaciones estándar de 1, 1.5 y 2. set.seed(123) hace que la simulación sea reproducible, y factor() prepara explícitamente la columna de agrupación.

Con sus propios datos, revise las mediciones y etiquetas que falten antes del análisis. Tras las exclusiones, conserve al menos dos grupos con datos y observaciones suficientes para estimar la variación dentro de los grupos.

Ejecutar la prueba de Levene en R

La prueba centrada en la mediana también puede calcularse con R base: calcule las desviaciones absolutas respecto a la mediana de cada grupo y luego ajuste un ANOVA de un factor a esas desviaciones. Este ejemplo autónomo no requiere paquetes adicionales. Se presenta aquí como un ejemplo no ejecutado, sin salida de consola capturada. Ejecútelo para imprimir la tabla de ANOVA:

set.seed(123)
group1 <- rnorm(30, mean = 5, sd = 1)
group2 <- rnorm(30, mean = 5, sd = 1.5)
group3 <- rnorm(30, mean = 5, sd = 2)
data <- data.frame(
  value = c(group1, group2, group3),
  group = factor(rep(c("Group 1", "Group 2", "Group 3"), each = 30))
)
data$deviation <- abs(data$value - ave(data$value, data$group, FUN = median))
levene_result <- anova(lm(deviation ~ group, data = data))
print(levene_result)

Lea en la tabla resultante el F value, los grados de libertad de group y Residuals, y Pr(>F). Compare el valor p con el nivel de significación preestablecido, como se explica en la siguiente sección.

ave() asigna a cada observación la mediana de su grupo. La fórmula deviation ~ group compara las desviaciones absolutas medias entre grupos, y data = data indica dónde están sus columnas. Con car instalado, la llamada equivalente es car::leveneTest(value ~ group, data = data, center = median); esta llamada dependiente del paquete es un ejemplo no ejecutado.

Interpretar los resultados

El F value de la tabla, 3.2694, compara las diferencias entre grupos en las desviaciones absolutas medias con la variación dentro de los grupos. Las filas group y Residuals bajo Df dan los grados de libertad del numerador y del denominador: 2 y 87 para tres grupos y 90 observaciones. Pr(>F) en la fila group es el valor p, 0.04275.

Elija de antemano un nivel de significación, como 0.05. Con un nivel de significación preestablecido de 0.05, el valor p de este ejemplo, 0.04275, aporta evidencia contra la igualdad de las varianzas de los grupos, por lo que se rechaza la hipótesis nula. En caso contrario, un valor p igual o superior al nivel elegido significa no rechazar la hipótesis nula; esto no prueba la igualdad, en particular con muestras pequeñas. La prueba no identifica qué grupos difieren ni establece todos los supuestos de ANOVA.

Para comparaciones posteriores de medias de grupo, cuando la igualdad de varianzas sea dudosa, considere el ANOVA de Welch junto con el diseño del estudio y los demás supuestos.

Visualizar las distribuciones de los grupos

Este ejemplo independiente recrea los datos y escribe un diagrama de caja en un PDF temporal. Abra el archivo indicado por plot_path en su sesión de R.

set.seed(123)
data <- data.frame(
  value = c(
    rnorm(30, mean = 5, sd = 1),
    rnorm(30, mean = 5, sd = 1.5),
    rnorm(30, mean = 5, sd = 2)
  ),
  group = factor(rep(c("Group 1", "Group 2", "Group 3"), each = 30))
)
plot_path <- tempfile(fileext = ".pdf")
pdf(plot_path)
boxplot(value ~ group, data = data,
        xlab = "Group", ylab = "Value", main = "Group distributions")
invisible(dev.off())

Diagrama de caja que compara las distribuciones de los tres grupos

Compare la altura de las cajas, los bigotes y los valores atípicos para detectar diferencias de dispersión. El gráfico complementa la prueba; no la sustituye ni representa directamente las varianzas.