TABEL KONTINGENSI TIGA ARAH Salah satu bagian penting dalam suatu penelitian adalah memilih variabel kontrol. Dalam mengamati pengaruh variabel penjelas X terhadap variabel respon Y seharusnya kita menyesuaikan variabel-variabel (Z) yang dapat mempengaruhi hubungan tersebut karena variabel-variabel tersebut (Z) berhubungan dengan X dan Y. Dengan kata lain asosiasi X dan Y mungkin hanya menggambarkan efek dari variabel-variabel (Z) tersebut terhadap X dan Y. Bagian cross-sectional dua arah dari tabel klasifikasi silang tiga arah X dan Y pada taraf terpisah dari Z. Crosssections ini disebut sebagai tabel parsial. Tabel parsial menunjukkan hubungan X dengan Y pada taraf tetap Z, sehingga terlihat efek X terhadap Y pada saat di kontrol oleh Z. Tabel parsial mengabaikan efek dari Z dengan menetapkan nilainya sebagai konstanta. Tabel kontingensi dua-arah hasil dari kombinasi tabel parsial disebut sebagai tabel marginal XY. Setiap isi sel adalah jumlah dari isi sel-sel pada lokasi yang sama dalam tabel parsial. Tabel marginal tidak berisi informasi mengenai Z. Dengan demikian hubungan tabel dua arah X dan Y disederhanakan. Metode-metode yang digunakan dalam tabel dua arah tidak dapat menghitung pengaruh dari variabel lain. Asosiasi dalam tabel parsial disebut asosiasi bersyarat, karena menjelaskan tentang efek X terhadap Y bersyarat pada Z yang tetap pada suatu taraf. Asosiasi bersyarat dalam tabel parsial dapat menghasilkan kesimpulan yang sangat berbeda dibandigkan dengan asosiasi dalam tabel marginal.
Contoh berikut diambil dari Agresti (2002) bagian 2.7.2. Data mengenai “The Death Penalty” disajikan dalam tabel 2 x 2 x 2 berikut ini Tabel 2.5. Death Penalty Verdict by Defendant’s Race and Victims Race Victims Race White Black Total
Defendant's Race White Black White Black White Black
Death Penalty Yes 53 11 0 4 53 15
Percentage Yes No 414 37 16 139 430 176
11.3 22.9 0.0 2.8 11.0 7.9
Statistik yang digunakan dalam tabel kontingensi tiga arah adalah statistik Cochran-Mantel-Haenszel. Dalam software R statistik ini diimplementasikan dalam fungsi “mantelhaen.test”. Secara default “mantelhaen.test” mengaplikasikan koreksi continuity dalam pengujiannya.
## input data dalam R menggunakan array > dp <- c(53, 414, 11, 37, 0, 16, 4, 139) > dp <- array(dp, dim=c(2,2,2)) > dimnames(dp) <- list(DeathPen=c("yes","no"),Defendant=c("white","black"), Victim=c("white","black")) > dp , , Victim = white Defendant DeathPen white black yes no
53
11
414
37
, , Victim = black Defendant DeathPen white black yes no
0
4
16
139
## menggunakan fungsi “xtabs” > datalabel<-list(defendant=c("white","black"), death=c("yes", "no"), victim=c("white","black")) > data.dp<- expand.grid(defendant=c("white","black"), death=c("yes", "no"), victim=c("white","black")) > data.dp<-cbind(data.dp,count=c(53, 414, 11, 37, 0, 16, 4, 139)) > xtabs(count~death+defendant+victim ,data=data.dp) -> dp > dp , , victim = white defendant death white black yes no
53
11
414
37
, , victim = black defendant death white black yes no
0
4
16
139
> ftable(dp, row.vars=c("Victim","Defendant"), col.vars="DeathPen") DeathPen yes
no
Victim Defendant white black
white
53 414
black
11
37
white
0
16
black
4 139
## odds ratio bersyarat untuk setiap level > apply(dp,3,function(x) x[1,1]*x[2,2]/(x[2,1]*x[1,2])) white
black
0.4306105 0.0000000 ## atau menggunakan fungsi “oddsratio” pada paket “vcd” > library(vcd) > summary(oddsratio(dp, log=F, stratum=3)) Odds Ratio white
0.4306
black
0.9394
Catatan: Nilai Odds ratio untuk korban “black” yang dihasilkan fungsi “oddsratio” berbeda dengan nilai yang dihasilkan oleh fungsi “apply” karena dalam fungsi “oddsratio” menambahkan 0.5 pada setiap sel apabila ada sel yang bernilai nol.
## pengujian independensi > mantelhaen.test(dp) Mantel-Haenszel chi-square test with continuity correction data: dp Mantel-Haenszel X-square = 4.779, df = 1, p-value = 0.02881 > mantelhaen.test(dp,correct=FALSE) Mantel-Haenszel chi-square test without continuity correction data: dp Mantel-Haenszel X-square = 5.7959, df = 1, p-value = 0.01606
Contoh berikut mengenai percobaan yang dilakukan di dua buah klinik dengan memberikan perlakuan terhadap responden dan kemudian diukur berhasil tidaknya perlakuan tersebut. Data dimabil dari Agresti (2002) bagian 2.7.5 sebagai berikut Table 2.6. Data Percobaan di Klinik Klinik 1 2
Total
Perlakuan A B A B A B
Respon Berhasil 18 12 2 8 20 20
Gagal 12 8 8 32 20 40
## Input data dalam R menggunakan fungsi “xtabs” > datalabel<-list(perlakuan=c("A", "B"), klinik=c(K1,K2))
respon=c("Berhasil","Gagal"),
> data.kl<- expand.grid(perlakuan=c("A", "B"), respon=c("Berhasil","Gagal"), klinik=c(K1,K2)) > data.kl<-cbind(data.kl,jumlah=c(18, 12, 12, 8, 2, 8, 8, 32)) > xtabs(jumlah~perlakuan+respon+klinik ,data=data.kl) -> kt > kt , , klinik = K1 respon perlakuan Berhasil Gagal A
18
12
B
12
8
, , klinik = K2 respon perlakuan Berhasil Gagal A
2
8
B
8
32
> apply(kt,3,function(x) x[1,1]*x[2,2]/(x[2,1]*x[1,2])) K1 K2 1 1 > library(vcd) > summary(oddsratio(kt, log=F, stratum=3)) Odds Ratio K1
1
K2
1
Terlihat bahwa dari hasil perhitungan nilai odds ratio untuk kedua klinik sama besar yaitu 1. Hal ini mengindikasikan bahwa variabel perlakuan independen secara bersyarat terhadap respon. Apabila kita mengabaikan adanya Klinik maka kita dapat menghitung odds ratio dengan cara sebagai berikut > ktot<-xtabs(jumlah~perlakuan+respon,data.kl)
> ktot respon perlakuan Berhasil Gagal A
20
20
B
20
40
> summary(oddsratio(ktot, log=F)) Odds Ratio [1,]
2
Dari hasil ini terlihat bahwa nilai odds ratio adalah 2 yang berarti pelakuan tidak saling bebas secara marginal dengan respon. Hal ini menunjukkan bahwa meskipun secara suatu variabel (X) saling bebas dengan variabel (Y) pada suatu taraf tetap sebuah variabel lain (Z) tidak menjadikan varibel (X) saling bebas dengan variabel (Y) secara marginal. Artinya mengabaikan keberadaan Klinik pada Tabel 2.6 akan memberikan kesimpulan yang keliru.