La prueba de rangos con signo de Wilcoxon es una prueba de hipótesis estadística no paramétrica que se utiliza para comparar dos muestras relacionadas, muestras emparejadas o mediciones repetidas en una sola muestra para estimar si los rangos de las medias de sus poblaciones difieren, por ejemplo, es una prueba de diferencias pareadas. Se puede aplicar como una alternativa a la prueba t de Student pareada, también conocida como «prueba t para pares emparejados» o «prueba t para muestras dependientes» cuando no se puede suponer que la distribución de la diferencia entre las medias de las dos muestras distribuirse normalmente. Una prueba de rango con signo de Wilcoxon es una prueba no paramétrica que se puede usar para determinar si se seleccionaron dos muestras dependientes de poblaciones que tienen la misma distribución.
Prueba de rango con signo de Wilcoxon en R
Esta prueba se puede dividir en dos partes:
- Prueba de rango con signo de Wilcoxon de una muestra
- Prueba de Wilcoxon para muestras pareadas
Prueba de rango con signo de Wilcoxon de una muestra
La prueba de rango con signo de Wilcoxon de una muestra es una alternativa no paramétrica a una prueba t de una muestra cuando no se puede suponer que los datos se distribuyen normalmente. Se utiliza para determinar si la mediana de la muestra es igual a un valor estándar conocido, es decir, un valor teórico. En R Language se puede realizar esta prueba muy fácilmente.
Implementación en R
Para realizar una prueba de Wilcoxon de una muestra, R proporciona una función wilcox.test() que se puede usar de la siguiente manera:
Sintaxis: wilcox.test(x, mu = 0, alternativa = “dos.lados”)
Parámetros:
- x: un vector numérico que contiene sus valores de datos
- mu: valor medio/mediano teórico. El valor predeterminado es 0, pero puede cambiarlo.
- alternativa: la hipótesis alternativa. El valor permitido es uno de «dos lados» (predeterminado), «mayor» o «menor».
Ejemplo: aquí, usemos un conjunto de datos de ejemplo que contiene el peso de 10 conejos. ¿Sabemos si el peso medio del conejo difiere de 25 g?
R
# R program to illustrate # one-sample Wilcoxon signed-rank test # The data set set.seed(1234) myData = data.frame( name = paste0(rep("R_", 10), 1:10), weight = round(rnorm(10, 30, 2), 1) ) # Print the data print(myData) # One-sample wilcoxon test result = wilcox.test(myData$weight, mu = 25) # Printing the results print(result)
Producción:
name weight 1 R_1 27.6 2 R_2 30.6 3 R_3 32.2 4 R_4 25.3 5 R_5 30.9 6 R_6 31.0 7 R_7 28.9 8 R_8 28.9 9 R_9 28.9 10 R_10 28.2 Wilcoxon signed rank test with continuity correction data: myData$weight V = 55, p-value = 0.005793 alternative hypothesis: true location is not equal to 25
En el resultado anterior, el valor p de la prueba es 0,005793, que es menor que el nivel de significación alfa = 0,05. Entonces podemos rechazar la hipótesis nula y concluir que el peso promedio del conejo es significativamente diferente de 25 g con un valor de p = 0.005793.
Si se quiere comprobar si el peso medio del conejo es inferior a 25 g (prueba de una cola), el código será:
R
# R program to illustrate # one-sample Wilcoxon signed-rank test # The data set set.seed(1234) myData = data.frame( name = paste0(rep("R_", 10), 1:10), weight = round(rnorm(10, 30, 2), 1) ) # One-sample wilcoxon test wilcox.test(myData$weight, mu = 25, alternative = "less") # Printing the results print(result)
Producción:
Wilcoxon signed rank test with continuity correction data: myData$weight V = 55, p-value = 0.9979 alternative hypothesis: true location is less than 25
O bien, si se quiere comprobar si el peso medio del conejo es superior a 25 g (prueba de una cola), el código será:
R
# R program to illustrate # one-sample Wilcoxon sign-rank test # The data set set.seed(1234) myData = data.frame( name = paste0(rep("R_", 10), 1:10), weight = round(rnorm(10, 30, 2), 1) ) # One-sample wilcoxon test wilcox.test(myData$weight, mu = 25, alternative = "greater") # Printing the results print(result)
Producción:
Wilcoxon signed rank test with continuity correction data: myData$weight V = 55, p-value = 0.002897 alternative hypothesis: true location is greater than 25
Prueba de Wilcoxon para muestras apareadas en R
La prueba de Wilcoxon para muestras pareadas es una alternativa no paramétrica a la prueba t pareada utilizada para comparar datos pareados. Se utiliza cuando los datos no se distribuyen normalmente.
Implementación en R
Para realizar la prueba de Wilcoxon de muestras emparejadas, R proporciona una función wilcox.test() que se puede usar de la siguiente manera:
Sintaxis: wilcox.test(x, y, emparejado = VERDADERO, alternativo = “dos lados”)
Parámetros:
- x, y: vectores numéricos
- emparejado: un valor lógico que especifica que queremos calcular una prueba de Wilcoxon emparejada
- alternativa: la hipótesis alternativa. El valor permitido es uno de «dos lados» (predeterminado), «mayor» o «menor».
Ejemplo: Aquí, usemos un conjunto de datos de ejemplo, que contiene el peso de 10 conejos antes y después del tratamiento. Queremos saber si hay alguna diferencia significativa en los pesos medianos antes y después del tratamiento.
R
# R program to illustrate # Paired Samples Wilcoxon Test # The data set # Weight of the rabbit before treatment before <-c(190.1, 190.9, 172.7, 213, 231.4, 196.9, 172.2, 285.5, 225.2, 113.7) # Weight of the rabbit after treatment after <-c(392.9, 313.2, 345.1, 393, 434, 227.9, 422, 383.9, 392.3, 352.2) # Create a data frame myData <- data.frame( group = rep(c("before", "after"), each = 10), weight = c(before, after) ) # Print all data print(myData) # Paired Samples Wilcoxon Test result = wilcox.test(before, after, paired = TRUE) # Printing the results print(result)
Producción:
group weight 1 before 190.1 2 before 190.9 3 before 172.7 4 before 213.0 5 before 231.4 6 before 196.9 7 before 172.2 8 before 285.5 9 before 225.2 10 before 113.7 11 after 392.9 12 after 313.2 13 after 345.1 14 after 393.0 15 after 434.0 16 after 227.9 17 after 422.0 18 after 383.9 19 after 392.3 20 after 352.2 Wilcoxon signed rank test data: before and after V = 0, p-value = 0.001953 alternative hypothesis: true location shift is not equal to 0
En el resultado anterior, el valor p de la prueba es 0,001953, que es menor que el nivel de significación alfa = 0,05. Podemos concluir que la mediana del peso de los ratones antes del tratamiento es significativamente diferente de la mediana del peso después del tratamiento con un valor de p = 0,001953.
Si se quiere probar si la mediana del peso antes del tratamiento es menor que la mediana del peso después del tratamiento, entonces el código será:
R
# R program to illustrate # Paired Samples Wilcoxon Test # The data set # Weight of the rabbit before treatment before <-c(190.1, 190.9, 172.7, 213, 231.4, 196.9, 172.2, 285.5, 225.2, 113.7) # Weight of the rabbit after treatment after <-c(392.9, 313.2, 345.1, 393, 434, 227.9, 422, 383.9, 392.3, 352.2) # Create a data frame myData <- data.frame( group = rep(c("before", "after"), each = 10), weight = c(before, after) ) # Paired Samples Wilcoxon Test result = wilcox.test(weight ~ group, data = myData, paired = TRUE, alternative = "less") # Printing the results print(result)
Producción:
Wilcoxon signed rank test data: weight by group V = 55, p-value = 1 alternative hypothesis: true location shift is less than 0
O bien, si se desea comprobar si la mediana del peso antes del tratamiento es mayor que la mediana del peso después del tratamiento, entonces el código será:
R
# R program to illustrate # Paired Samples Wilcoxon Test # The data set # Weight of the rabbit before treatment before <-c(190.1, 190.9, 172.7, 213, 231.4, 196.9, 172.2, 285.5, 225.2, 113.7) # Weight of the rabbit after treatment after <-c(392.9, 313.2, 345.1, 393, 434, 227.9, 422, 383.9, 392.3, 352.2) # Create a data frame myData <- data.frame( group = rep(c("before", "after"), each = 10), weight = c(before, after) ) # Paired Samples Wilcoxon Test result = wilcox.test(weight ~ group, data = myData, paired = TRUE, alternative = "greater") # Printing the results print(result)
Producción:
Wilcoxon signed rank test data: weight by group V = 55, p-value = 0.0009766 alternative hypothesis: true location shift is greater than 0
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA