Test de Kruskal-Wallis en Programación R

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:

  1. 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.
  2. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *