La prueba de U de Mann-Whitney es una prueba no paramétrica utilizada para comparar dos grupos independientes y determinar si existen diferencias significativas entre sus medianas. Es ideal cuando los datos no siguen una distribución normal o cuando las muestras son pequeñas. Esta prueba evalúa si una muestra tiende a tener valores más altos o más bajos que la otra, sin asumir normalidad. Se utiliza comúnmente en estudios de ciencias sociales, biología y medicina cuando se comparan dos grupos distintos, como tratamientos vs. controles o diferentes grupos de una población.
no se asume la distribución normal
muestras pequeñas
independientes
cualitativos
Se busca analizar la efectividad de dos tipos de insecticidas en sprays. Para esto, se cotaron el número de insectos muertos según el insecticida A y el insecticida B.
#Bibliotecas
library(tidyverse)
library(faraway)
library(datarium)
library(reshape2)
library(nortest)
library(ggpubr)
#Datos
df <- InsectSprays
df <- subset(InsectSprays, spray %in% c("A", "B"))
#Debido a que este data.set está conformado por más grupos, aplicamos el %in% para obtener una base de datos para el insecticida A y el insecticida B
Para comenzar, puedes hacer una gráfica para conocer el comportamiento de tus datos
ggplot(df, aes(x = spray, y = count, fill = spray)) +
geom_violin() +
geom_boxplot(color = 'black', fill = c('royalblue', 'cyan4'), width = 0.5) +
scale_fill_manual(values = alpha(c('royalblue', 'cyan4'), 0.5)) +
ggtitle('Número de insectos muestros por insecticida') +
theme_minimal()
Conclusión: Aquí se puede observar el tipo de distribución de tus datos, y qué tan parecidos pueden ser. Además, en caso de tenerlos, puedes encontrar los puntos extremos.
df_A <- df %>% filter(spray == 'A')
df_B <- df %>% filter(spray == 'B')
wilcox.test(df_A$count, df_B$count)
##
## Wilcoxon rank sum test with continuity correction
##
## data: df_A$count and df_B$count
## W = 62, p-value = 0.5812
## alternative hypothesis: true location shift is not equal to 0
Conclusión: debido a que el valor de p es de 0.5812, no podemos descartar la hipótesis alternativa. En otras palabras, no existe diferencia significativa entre ambos grupos. Aterrizándolo a nuestro problema, podemos aplicar ambos insecticidas y obtendríamos el mismo resultado. Para observarlo mejor, se recomienda hacer una gráfica.
df_mediana <- df %>% group_by(spray) %>% summarise(m_count = median(count),
de = sd(count))
ggplot(df_mediana, aes(x = spray, y = m_count, group = 1)) +
geom_line() +
geom_point() +
geom_errorbar(aes(ymin = m_count - de, ymax = m_count + de), width = 0.2,
position = position_dodge(0.05)) +
ggtitle('Número de insectos muertos según el tipo de insecticida') +
theme_minimal()