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

8

Quiero determinar si hay una diferencia en los valores p medios entre dos grupos. Para hacer esto, realizo una prueba de suma de rango de Wilcoxon (los datos no se distribuyen normalmente). Hasta aquí todo bien. Finalmente, quiero calcular el tamaño del efecto correspondiente. Desafortunadamente, R no proporciona esto. Tampoco proporciona un valor az con el que el tamaño del efecto se pueda calcular fácilmente usando: tamaño del efecto = z / sqrt (N)

Aquí hay un código R de muestra:

a=rep(0:1,each=20)                            #grouping variable
b=c(rnorm(20, .03,.01), rnorm(20, .02, .009)) #vector of p-values

d=cbind(a,b)

test = wilcox.test(b ~ a, data = d)     #perform Wilcoxon rank-sum test
test

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

esteras
fuente
3
Bienvenido a SO. Marqué su pregunta para migrar a www.crossvalidated.com, ya que su pregunta es más estadística que cualquier otra cosa. En resumen: la prueba Wilcoxon RANK funciona con rangos, por lo que no estoy seguro de qué tamaño de efecto estás hablando. Obviamente, no le da un valor az, ya que está vinculado a pruebas paramétricas, no a pruebas no paramétricas como Wilcoxon. Wilcoxon tiene que ser interpretado en términos de cambio de ubicación.
Joris Meys
44
La prueba de suma de rango de Wilcoxon no evalúa una diferencia de medias : prueba la desigualdad estocástica. La medida adecuada del tamaño de un efecto, por lo tanto, es la probabilidad de que , menos el valor nulo de . B>A1/2
whuber

Respuestas:

13

El estimador que corresponde a la prueba de Wilcoxon es el estimador de Hodges-Lehmann; se devuelve wilcox.testusando la conf.int=TRUEopción, debajo de "diferencia de ubicación".

Por su ejemplo:

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

    Wilcoxon rank sum test

data:  b by a 
W = 355, p-value = 6.914e-06
alternative hypothesis: true location shift is not equal to 0 
95 percent confidence interval:
 0.008657301 0.021523993 
sample estimates:
difference in location 
            0.01442617 

Para obtener más información sobre el Wilcoxon y los supuestos que lo respaldan, y para qué prueba realmente, y otros estimadores no paramétricos, este documento es (posiblemente) útil: www.stat.umn.edu/geyer/old03/5102/notes/rank.pdf

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

Obtenga la z para su fórmula

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

Primigenio
fuente
1
Sospecho que esta respuesta sería de mayor interés si pudiera proporcionar detalles adicionales sobre las razones para usar la coin::wilcoxsign_testfunción R. Además, ¿se refiere a la fórmula OP, ? effect size=z/N
chl
La razón por la que usa coin :: wilcoxsign_test es porque calcula el valor az.
Primigenio
1
Otra forma de obtener z de wilcox.test estándar es el algoritmo Andy Fields implementado en su función rFromWilcox . Y sí, me refería al tamaño del efecto = z / sqrt (N).
Primigenio
2
Gracias por la aclaración, aunque todavía no estoy seguro de que ese valor z sea una medida adecuada del tamaño del efecto. (+1)
chl