Bagaimana cara menentukan ukuran efek tes peringkat-jumlah Wilcoxon dalam R?

8

Saya ingin menentukan apakah ada perbedaan dalam nilai-p rata-rata antara dua kelompok. Untuk melakukan ini, saya melakukan tes peringkat-jumlah Wilcoxon (data tidak terdistribusi normal). Sejauh ini bagus. Akhirnya, saya ingin menghitung ukuran efek yang sesuai. Sayangnya, R tidak menyediakan ini. Itu juga tidak memberikan nilai az dimana ukuran efek dapat dengan mudah dihitung dengan menggunakan: effect size = z / sqrt (N)

berikut ini beberapa contoh kode R:

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

Apakah ada yang tahu cara mendapatkan ukuran efek?

tikar
sumber
3
Selamat datang di SO. Saya menandai pertanyaan Anda untuk migrasi ke www.crossvalidated.com, karena pertanyaan Anda lebih bersifat statistik daripada yang lain. Singkatnya: Tes Wilcoxon RANK bekerja dengan peringkat, jadi saya tidak yakin tentang ukuran efek yang Anda bicarakan. Jelas itu tidak memberi Anda nilai az, karena yang terkait dengan pengujian parametrik, bukan tes non-parametrik seperti Wilcoxon. Wilcoxon harus ditafsirkan dalam hal pergeseran lokasi.
Joris Meys
4
Tes peringkat Wilcoxon tidak mengevaluasi perbedaan dalam cara : ia menguji ketidakmerataan stokastik. Oleh karena itu, ukuran ukuran efek yang tepat adalah probabilitas bahwa , minus nilai nol . B>SEBUAH1/2
whuber

Jawaban:

13

Estimator yang sesuai dengan uji Wilcoxon adalah estimator Hodges-Lehmann; dikembalikan dengan wilcox.testmenggunakan conf.int=TRUEopsi, di bawah "perbedaan lokasi".

Sebagai contoh Anda:

> 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 

Untuk lebih lanjut tentang Wilcoxon dan asumsi di baliknya, dan apa yang sebenarnya diuji, dan penduga nonparametrik lainnya, dokumen ini (mungkin) membantu: www.stat.umn.edu/geyer/old03/5102/notes/rank.pdf

Jbowman
sumber
Jadi apa yang Anda katakan adalah bahwa ukuran efeknya wilcox.test(b~a,data=d, conf.int=TRUE)$estimate / sqrt(20)benar?
2

Dapatkan z untuk formula Anda

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

dan hitung ukuran efek dengan formula Anda, atur N ke 40

Primigenius
sumber
1
Saya menduga balasan ini akan lebih menarik jika Anda bisa memberikan rincian tambahan tentang alasan menggunakan coin::wilcoxsign_testfungsi R. Juga, apakah Anda mengacu pada formula OP,ukuran efek=z/N?
chl
Alasan ti menggunakan coin :: wilcoxsign_test adalah karena ia menghitung nilai az.
Primigenius
1
Cara lain untuk mendapatkan z dari standar wilcox.test adalah algoritma Andy Fields diimplementasikan dalam fungsinya rFromWilcox . Dan ya, saya mengacu pada efek size = z / sqrt (N).
Primigenius
2
Terima kasih atas klarifikasi walaupun saya masih tidak yakin tentang nilai-z yang menjadi ukuran ukuran efek yang tepat. (+1)
chl