La prueba Kruskal-Wallis en lenguaje de programación R es una prueba basada en rangos que es similar a la prueba U de Mann-Whitney, pero se puede aplicar a datos unidireccionales con más de dos grupos. Es una alternativa no paramétrica a la prueba ANOVA unidireccional , que amplía la prueba de Wilcoxon de dos muestras. Un grupo de muestras de datos es independiente si provienen de poblaciones no relacionadas y las muestras no se afectan entre sí. Usando la prueba de Kruskal-Wallis, se puede decidir si las distribuciones de la población son similares sin asumir que siguen la distribución normal . Es muy fácil realizar la prueba de Kruskal-Wallis en el lenguaje R.
Nota: El resultado de la prueba de Kruskal-Wallis dice si hay diferencias entre los grupos, pero no dice qué grupos son diferentes de otros grupos.
Ejemplos:
- Supongamos que uno quiere averiguar cómo el estatus socioeconómico influye en la actitud hacia las subidas de impuestos sobre las ventas. Aquí la variable independiente es el “ estado socioeconómico ” con tres niveles: clase trabajadora, clase media y rica. La variable dependiente se mide en una escala tipo Likert de 5 puntos desde totalmente de acuerdo hasta totalmente en desacuerdo.
- Si uno quiere saber cómo la ansiedad ante los exámenes influye en los puntajes reales de los exámenes. La variable independiente “ansiedad ante los exámenes” tiene tres niveles: sin ansiedad, ansiedad baja-media y ansiedad alta. La variable dependiente es la calificación del examen y se califica de 0 a 100%.
Supuestos para la prueba de Kruskal-Wallis en R
Las variables deben tener:
- Una variable independiente con dos o más niveles. La prueba se usa más comúnmente cuando hay tres o más niveles. Para dos niveles, en lugar de la prueba de Kruskal-Wallis, considere usar la prueba U de Mann Whitney.
- La variable dependiente debe ser la escala ordinal, la escala de razón o la escala de intervalo.
- Las observaciones deben ser independientes. En otras palabras, no debe haber correlación entre los miembros de cada grupo o dentro de los grupos.
- Todos los grupos deben tener distribuciones de formas idénticas.
Implementación en R
R proporciona un método kruskal.test() que está disponible en el paquete de estadísticas para realizar una prueba de suma de rangos de Kruskal-Wallis.
Sintaxis: kruskal.test(x, g, formula, data, subset, na.action, …)
Parámetros:
- x: un vector numérico de valores de datos, o una lista de vectores de datos numéricos.
- g: un objeto vectorial o factor que proporciona el grupo para los elementos correspondientes de x
- fórmula: una fórmula de la forma respuesta ~ grupo donde respuesta da los valores de datos y grupo un vector o factor de los grupos correspondientes.
- datos: una array o marco de datos opcional que contiene las variables en la fórmula.
- subconjunto: un vector opcional que especifica un subconjunto de observaciones a utilizar.
- na.action: una función que indica lo que debería suceder cuando los datos contienen NA
…: más argumentos que se pasarán a los métodos o desde ellos.
Ejemplo:
Usemos el conjunto de datos R incorporado llamado PlantGrowth. Contiene el peso de las plantas obtenidas bajo control y dos condiciones de tratamiento diferentes.
R
# Preparing the data set # to perform Kruskal-Wallis Test # Taking the PlantGrowth data set myData = PlantGrowth print(myData) # Show the group levels print(levels(myData$group))
Producción:
weight group 1 4.17 ctrl 2 5.58 ctrl 3 5.18 ctrl 4 6.11 ctrl 5 4.50 ctrl 6 4.61 ctrl 7 5.17 ctrl 8 4.53 ctrl 9 5.33 ctrl 10 5.14 ctrl 11 4.81 trt1 12 4.17 trt1 13 4.41 trt1 14 3.59 trt1 15 5.87 trt1 16 3.83 trt1 17 6.03 trt1 18 4.89 trt1 19 4.32 trt1 20 4.69 trt1 21 6.31 trt2 22 5.12 trt2 23 5.54 trt2 24 5.50 trt2 25 5.37 trt2 26 5.29 trt2 27 4.92 trt2 28 6.15 trt2 29 5.80 trt2 30 5.26 trt2 [1] "ctrl" "trt1" "trt2"
Aquí la columna “grupo” se denomina factor y las diferentes categorías (“ctr”, “trt1”, “trt2”) se denominan niveles de factor. Los niveles están ordenados alfabéticamente. El enunciado del problema es que queremos saber si existe alguna diferencia significativa entre los pesos promedio de las plantas en las 3 condiciones experimentales. Y la prueba se puede realizar usando la función kruskal.test() como se indica a continuación.
R
# R program to illustrate # Kruskal-Wallis Test # Taking the PlantGrowth data set myData = PlantGrowth # Performing Kruskal-Wallis test result = kruskal.test(weight ~ group, data = myData) print(result)
Producción:
Prueba de suma de rangos de Kruskal-Wallis
datos: peso por grupo
Kruskal-Wallis chi-cuadrado = 7,9882, gl = 2, valor p = 0,01842
Explicación:
Como el valor de p es menor que el nivel de significación de 0,05, se puede concluir que existen diferencias significativas entre los grupos de tratamiento.
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA