Estoy confundido por lo siguiente, y no he podido encontrar la respuesta en otro lado.
Estoy tratando de aprender R mientras hago algunas estadísticas, y, como ejercicio, trato de verificar los resultados de las funciones R incorporadas al hacerlas 'a mano', por así decirlo, en R. Sin embargo, , para la prueba de Kruskal-Wallis sigo obteniendo resultados diferentes, y no puedo entender por qué.
Por ejemplo, estoy viendo los siguientes datos entregados en un ejercicio
activity <- c(2, 4, 3, 2, 3, 3, 4, 0, 4, 3, 4, 0, 0, 1, 3, 1, 2, 0, 3, 1, 0, 3, 4, 0, 1, 2, 2, 2, 3, 2)
group <- c(rep("A", 11), rep("B", 10), rep("C", 9))
group <- factor(group)
data.raw <- data.frame(activity, group)
Y quiero analizar la actividad por grupo. Primero ejecuto una prueba de Kruskal-Wallis usando la función R incorporada
kruskal.test(activity ~ group, data = data.raw)
Lo que devuelve .
Para verificar dos veces, intento hacer lo mismo 'a mano' en R, con el siguiente código (sin duda indefenso)
rank <- rank(activity)
data.rank <- data.frame(rank, group)
rank.sum <- aggregate(rank ~ group, data = data.rank, sum)
x <- rank.sum[1,2]^2 / 11 + rank.sum[2,2]^2 / 10 + rank.sum[3,2]^2 / 9
H <- (12 / (length(activity) * (length(activity) + 1))) * x - 3 * (length(activity) + 1)
H
Lo cual debe reflejar la siguiente fórmula:
Donde es el número total de observaciones, es el número de grupos, es el número de observaciones en el ésimo grupo, y es la suma de los rangos del ésimo grupo.g n i i R i i
Y ahora obtengo , que, además de mi confusión, es también la respuesta dada para el ejercicio en cuestión. He intentado esto para un par de conjuntos de datos diferentes, y tiendo a obtener un valor ligeramente mayor para usando la función incorporada.H
He intentado buscar averiguar qué estoy haciendo mal o no puedo entender, pero fue en vano. ¿Alguien puede ayudarme a entender por qué la kruskal.test
función incorporada devuelve un valor diferente del que obtengo al deletrear las cosas?
fuente
Hmisc
paquete Rspearman2
que usa midranks para los lazos y unaF
prueba para obtener Kruskal-Wallis. Creo que esto es más preciso que algunos métodos.