8 votos

¿Cómo determinar el tamaño del efecto de una prueba de suma de rangos de Wilcoxon en R?

Quiero determinar si hay una diferencia en los valores p medios entre dos grupos. Para hacer esto, realizo una prueba de rango de Wilcoxon (los datos no están distribuidos de forma normal). Hasta aquí todo bien. Finalmente, quiero calcular el tamaño del efecto correspondiente. Desafortunadamente, R no provee esto. Tampoco provee un valor z con el cual el tamaño del efecto pueda ser fácilmente calculado usando: tamaño del efecto = z / sqrt(N)

Aquí tienes algún código R de ejemplo:

a=rep(0:1,each=20)                            #variable de agrupación
b=c(rnorm(20, .03,.01), rnorm(20, .02, .009)) #vector de valores p

d=cbind(a,b)

test = wilcox.test(b ~ a, data = d)     #realizar prueba de rango de Wilcoxon
test

¿Alguien sabe cómo obtener el tamaño del efecto?

3 votos

Bienvenido a SO. He marcado tu pregunta para ser migrada a www.crossvalidated.com, ya que tu pregunta es más estadística que cualquier otra cosa. En resumen: la prueba de Rango de Wilcoxon funciona con rangos, así que no estoy seguro de qué tamaño de efecto estás hablando. Obviamente, no te da un valor z, ya que ese está relacionado con las pruebas paramétricas, no con pruebas no paramétricas como Wilcoxon. Wilcoxon tiene que ser interpretado en términos de cambio de ubicación.

6 votos

El test de suma de rangos de Wilcoxon no evalúa una diferencia en medias: sino que prueba la desigualdad estocástica. Por lo tanto, la medida adecuada de un tamaño de efecto es la probabilidad de que $B \gt A$, menos el valor nulo de $1/2$.

0 votos

@whuber ¿Y cómo se calcula este tamaño de efecto? Por lo que he leído, debe ser un número entre 0 y 1 (¿o entre -1 y 1?), pero la respuesta más votada proporciona un número diferente (-6 en mi caso, incluso dividido por sqrt(N) sigue siendo < -1).

13voto

bheklilr Puntos 113

El estimador que corresponde al test de Wilcoxon es el estimador de Hodges-Lehmann; se obtiene utilizando wilcox.test con la opción conf.int=TRUE, bajo "diferencia en la ubicación".

Para tu ejemplo:

> wilcox.test(b~a,data=d, conf.int=TRUE)

    Prueba de suma de rangos de Wilcoxon

data:  b por a 
W = 355, valor p = 6.914e-06
hipótesis alternativa: verdadero cambio en la ubicación no es igual a 0 
intervalo de confianza del 95 por ciento:
 0.008657301 0.021523993 
estimaciones de la muestra:
diferencia en la ubicación 
            0.01442617 

Para obtener más información sobre el test de Wilcoxon, los supuestos detrás de él, qué prueba en realidad, y otros estimadores no paramétricos, este documento puede ser útil: www.stat.umn.edu/geyer/old03/5102/notes/rank.pdf

0 votos

Entonces lo que dices es que el tamaño del efecto es wilcox.test(b~a,data=d, conf.int=TRUE)$estimate / sqrt(20), ¿correcto?

2voto

Primigenius Puntos 11

Obtenga el valor de z para su fórmula mediante

library(coin)
mydf <- as.data.frame(d)
wilcoxsign_test(b ~ a, data = mydf, distribution="exact")

y calcule el tamaño del efecto con su fórmula, estableciendo N en 40

1 votos

Sospecho que esta respuesta sería de mayor interés si pudieras proporcionar detalles adicionales sobre las razones para usar la función R coin::wilcoxsign_test. Además, ¿te estás refiriendo a la fórmula OP, $\text{tamaño de efecto} = z / \sqrt{N}$?

0 votos

La razón para usar coin::wilcoxsign_test es que calcula un valor z.

1 votos

Otra forma de obtener z a partir de wilcox.test estándar es el algoritmo implementado por Andy Fields en su función rFromWilcox. Y sí, me refería al tamaño del efecto = z / sqrt(N).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X