Pregunta
Los puntajes de las pruebas de tres grupos de personas se guardan como vectores separados en R.
set.seed(1)
group1 <- rnorm(100, mean = 75, sd = 10)
group2 <- rnorm(100, mean = 85, sd = 10)
group3 <- rnorm(100, mean = 95, sd = 10)
Quiero saber si hay una diferencia significativa en las medianas entre estos grupos. Sé que podría probar el grupo 1 versus el grupo 2 usando la prueba de Wilcoxon, así.
wilcox.test(group1, group2)
Sin embargo, esto compara solo dos grupos a la vez, y me gustaría comparar los tres simultáneamente. Me gustaría una prueba estadística que arroje un valor p en el nivel de significancia de 0.05. ¿Podría alguien ayudarme?
Edición n. ° 1: prueba mediana del estado de ánimo
Siguiendo la respuesta sugerida por el usuario Hibernación, probé la prueba mediana de Mood.
median.test <- function(x, y){
z <- c(x, y)
g <- rep(1:2, c(length(x), length(y)))
m <- median(z)
fisher.test(z < m, g)$p.value
}
median.test(group1, group2)
Sin embargo, este enfoque me permite probar una diferencia significativa entre las medianas de solo dos grupos a la vez. No estoy seguro de cómo usarlo para comparar las medianas de los tres simultáneamente.
Edición # 2 - Prueba de Kruskal-Wallis
La respuesta sugerida por el usuario dmartin parece ser más o menos lo que necesito, y me permite probar los tres grupos simultáneamente.
kruskal.test(list(group1, group2, group3))
Editar # 3
El usuario Greg Snow señala útilmente en su respuesta que la prueba de Kruskal-Wallis es apropiada siempre que haga suposiciones estrictas que la hagan también una prueba de medios.
fuente
median test
. Mi propia respuesta / comentarios está aquí .Respuestas:
La prueba de Kruskal-Wallis también podría usarse, ya que es un ANOVA no paramétrico. Además, a menudo se considera más poderoso que la prueba mediana de Mood . Se puede implementar en R usando la función kruskal.test en el paquete de estadísticas en R.
Para responder a su edición, interpretar KW es similar a un ANOVA unidireccional. Un valor p significativo corresponde a rechazado el nulo de que las tres medias son iguales. Debe usar una prueba de seguimiento (nuevamente, como un ANOVA), para responder preguntas sobre grupos específicos. Esto generalmente sigue preguntas de investigación específicas que pueda tener. Simplemente observando los parámetros de la simulación, los tres grupos deberían ser significativamente diferentes entre sí si realiza una prueba de seguimiento (ya que todos están separados por 1 SD con N = 100).
fuente
Primero, la prueba de Wilcoxon (o prueba de Mann-Whitney) no es una prueba de medianas (a menos que haga suposiciones muy estrictas que también la hagan una prueba de medios). Y para comparar más de 2 grupos, la prueba de Wilcoxon puede conducir a algunos resultados paradójicos (ver los dados de Efron ).
Dado que la prueba de Wilcoxon es solo un caso especial de una prueba de permutación y usted está específicamente interesado en las medianas, sugeriría una prueba de permutación en las medianas.
Primero elija una medida de la diferencia, algo así como la mayor de las 3 medianas menos la menor de las 3 (o la varianza de las 3 medianas, o la MAD, etc.).
Ahora calcule su estadística para los datos originales.
agrupar todos los datos en un conjunto y luego dividir aleatoriamente los valores en 3 grupos de
mismos tamaños que el original y calculan la misma estadística.
repetir muchas veces (como 9998)
Compare cómo se compara la estadística de los datos reales con la distribución de todas las estadísticas para su prueba.
fuente
t.test
yaov
probablemente estaría bien también.Wilcoxon sum-rank test
¿no le importaría convertir "Wilcox" a ese nombre?wilcox.test
). ¿Podrías editar?La prueba mediana del estado de ánimo es una prueba no paramétrica que se utiliza para evaluar la igualdad de las medianas de dos o más poblaciones. Vea aquí la parte R de su pregunta. Vea también una pregunta relacionada aquí . También desde aquí :
Editar: para tres grupos, puede considerar esta simple generalización del código R al que me vinculé:
fuente
mood.medtest
en el paquete RVAideMemoire parece ser la prueba habitual, excepto que utiliza la prueba exacta de Fisher por defecto para tamaños de muestra más pequeños. Lamedian_test
función en el paquete de monedas puede proporcionar una prueba asintótica o usar Monte Carlo.Sé que esto es muy tarde, pero tampoco pude encontrar un buen paquete para la prueba mediana de Mood, así que me encargué de hacer una función en R que pareciera ser el truco.
Para la pregunta del OP, primero debe ejecutar esto para hacer un nuevo marco de datos para mantener los valores de sus tres vectores de grupo con una variable de "grupo" coincidente.
y ejecuta la función para la prueba mediana de Mood con
moods.median(df$value, df$group)
fuente