Uji pasti Fisher pada data berpasangan

9

Diberikan kasus dengan kanker paru-paru dan kontrol yang cocok (tanpa kanker paru-paru) (pencocokan berdasarkan usia, jenis kelamin, dll). Untuk mencoba menemukan bukti antara efek merokok pada kanker paru-paru, saya menggunakan tes Fisher pada tabel kontingensi. Namun ini tidak memperhitungkan bahwa kontrol dan kasus dicocokkan. 4040

Jadi saya bertanya-tanya apakah ada cara untuk menggunakan uji pasti Fisher yang memperhitungkan kesesuaian antara kedua kelompok?

Gert
sumber

Jawaban:

8

Anda memerlukan tes McNemar ( http://en.wikipedia.org/wiki/McNemar%27s_test , http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3346204/ ). Berikut ini adalah contohnya:

1300 poin dan 1300 kontrol yang cocok dipelajari. Status merokok diajukan sebagai berikut:

             Normal   
           |no  |yes|
Cancer|No  |1000|40 |
      |Yes |200 |60 |

Setiap entri tabel menunjukkan informasi tentang PASANG KASUS-KONTROL: 1000 berarti dalam 1000 pasangan kontrol-kasus, tidak juga seorang perokok. 40 adalah jumlah pasangan kasus kontrol di mana kontrol adalah perokok dan pasien kanker tidak, dan seterusnya. Kode R berikut dapat digunakan untuk menghasilkan tabel ini dan melakukan Uji McNemar.

mat = as.table(rbind(c(1000, 40), c( 200, 60) ))
colnames(mat) <- rownames(mat) <- c("Nonsmoker", "Smoker")
names(dimnames(mat)) = c("Cancer", "Normal")
mat
#                  Normal
#              Nonsmoker Smoker
# Cancer
#  Nonsmoker      1000     40
#  Smoker          200     60


mcnemar.test(mat)

#        McNemar's Chi-squared test with continuity correction
#
#data:  mat
#McNemar's chi-squared = 105.34, df = 1, p-value < 2.2e-16

Tes McNemar juga digunakan untuk menilai efek intervensi pada variabel hasil biner. Pasangan hasil sebelum dan sesudahnya diajukan dan diuji seperti di atas.

Sunting: Memperluas contoh yang diberikan oleh @gung, jika status merokok tercantum dalam dataframe mydf Anda sebagai berikut:

pairID  cancer  control
1       1       1
2       1       1
3       1       0
...

Tes McNemars dapat dilakukan dengan perintah R berikut:

> tt = with(mydf, table(cancer, control))
> tt
      control
cancer 0 1
     0 5 1
     1 3 2

> mcnemar.test(tt)

        McNemar`s Chi-squared test with continuity correction

data:  tt
McNemar`s chi-squared = 0.25, df = 1, p-value = 0.6171
juga
sumber
Tes mana yang Anda gunakan untuk beberapa kontrol per kasus, katakanlah 10 kontrol per kasus?
eXpander
Ini pantas mendapatkan pertanyaan dan diskusi terpisah. Saya pikir memasangkan setiap kasus dengan kontrol rata-rata dapat diambil dan kemudian uji McNemar dapat digunakan.
rnso
5

Anda benar bahwa uji pasti Fisher tidak sesuai untuk data Anda. Anda harus membentuk kembali tabel kontingensi Anda. Tabel baru akan untuk pasangan , sehingga akan tampak memiliki separuh lebih banyak data yang diwakili (dalam kasus Anda 40 bukannya 80). Misalnya, bayangkan data Anda tampak seperti ini (setiap rangkaian subjek berpasangan berada di barisnya sendiri, dan 1menunjukkan perokok):

cancer  control
1       1
1       1
1       0
1       0
1       0
0       1
0       0
0       0
0       0
0       0
0       0

Maka tabel kontingensi lama Anda mungkin:

       cancer  control
smoker 5       3
non    6       8

Tabel kontingensi baru Anda akan terlihat seperti ini:

            control
cancer    smoker  non           
  smoker  2       3
  non     1       5

Tabel kontingensi pertama berjumlah 22 (jumlah total subjek dalam penelitian Anda), tetapi tabel kontingensi kedua berjumlah 11 (jumlah pasangan yang cocok).

Dengan data Anda ditampilkan seperti ini, yang Anda minati adalah jika proporsi marginalnya sama. Tes untuk itu adalah tes McNemar . Saya telah menjelaskan tes McNemar di sini dan di sini .

gung - Pasang kembali Monica
sumber
1
Perhatikan bahwa uji McNemar untuk data dikotomus sama dengan uji masuk. Jadi OP dapat menggunakan uji tanda (dengan permutasi atau pengujian signifikansi Monte Carlo, jika perlu).
ttnphns
1
@ttnphns, saya membahas itu di utas terkait di mana saya menjelaskan tes McNemar secara detail.
gung - Reinstate Monica
1

Seharusnya tidak perlu menggunakan tes berpasangan. pencocokan populasi memastikan bahwa distribusi kovarait (umur, ...) adalah sama di kedua populasi sehingga tidak "merusak" gambar.

tes membandingkan cara populasi sehingga pasangan individu tidak diperlukan. ini hanya diperlukan untuk pengukuran "berulang", misalnya, membandingkan menas sebelum dan setelah perawatan pada populasi yang sama.

tikacp
sumber
0

Iya dan tidak:

mungkin kasus Anda termasuk dalam kasus Pearce (2015) : poin dalam artikel ini adalah bahwa variabel yang Anda gunakan untuk memilih kontrol harus dikontrol dalam penelitian dan bukan dalam tes. Itu bisa sulit karena N = 80.

Semoga bantuan ini :)

Giovanni Iacopetti
sumber