Tabel 2 x 2
Sebagai ilustrasi pertama, akan digunakan data yang sama seperti yang dibahas pada kelas kuliah ke-2 MK STA1544, yaitu data yang diperoleh dari studi yang dilakukan oleh Hampton dan Hill (1978). Studi ini melibatkan 264 subjek yang dialokasikan secara acak apakah dirawat di rumah atau dirawat di rumah sakit. Kemudian diamati kejadian meninggal selama enam minggu.
Membuat tabel menggunakan fungsi matrix()
<-matrix(c(17, 14, 115, 118), nrow=2, ncol=2, byrow=T)
rawatdimnames(rawat)<-list(Respon=c("Meninggal", "Hidup"),
Perlakuan=c("Rawat Rumah", "Rawat RS"))
print(rawat)
## Perlakuan
## Respon Rawat Rumah Rawat RS
## Meninggal 17 14
## Hidup 115 118
<-as.table(rawat)
rawatstr(rawat)
## 'table' num [1:2, 1:2] 17 115 14 118
## - attr(*, "dimnames")=List of 2
## ..$ Respon : chr [1:2] "Meninggal" "Hidup"
## ..$ Perlakuan: chr [1:2] "Rawat Rumah" "Rawat RS"
Rasio Odds
Jika kejadian meninggal dianggap sebagai kasus, berikut ini adalah perhitungan rasio odds dirawat di rumah vs di rumah sakit.
library(DescTools)
<- OddsRatio(rawat, conf.level = 0.95)) (OR.rawat
## odds ratio lwr.ci upr.ci
## 1.245963 0.587058 2.644412
ORToRelRisk(OR.rawat, 14/132)
## odds ratio lwr.ci upr.ci
## 1.2142857 0.6139469 2.2516992
Uji Asosiasi
chisq.test(rawat)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: rawat
## X-squared = 0.1462, df = 1, p-value = 0.7022
Tabel Kontingensi Umum
<-matrix(c(24, 35, 21, 30,
dengkur1355, 603, 192, 224), nrow=2, byrow = T)
dimnames(dengkur)<-list(Peny.jantung=c("Ya", "Tidak"),
Perilaku.Mendengkur=c("Tidak", "Kadang", "Sering", "Selalu"))
print(dengkur)
## Perilaku.Mendengkur
## Peny.jantung Tidak Kadang Sering Selalu
## Ya 24 35 21 30
## Tidak 1355 603 192 224
Uji Asosiasi
chisq.test(dengkur)
##
## Pearson's Chi-squared test
##
## data: dengkur
## X-squared = 72.782, df = 3, p-value = 1.082e-15
Uji Khi-Kuadrat Mantel-Haenszel
library(vcd)
## Warning: package 'vcd' was built under R version 4.2.3
## Loading required package: grid
<-matrix(c(14, 57, 91, 447), nrow=2, byrow = T)
CHL
dimnames(CHL)<-list(CHD=c("Ya", "Tidak"),
CHLbeyond260=c("Ya", "Tidak"))
print(CHL)
## CHLbeyond260
## CHD Ya Tidak
## Ya 14 57
## Tidak 91 447
OddsRatio(CHL, conf.level = 0.95)
## odds ratio lwr.ci upr.ci
## 1.2064777 0.6447671 2.2575417
Hipotesis yang diuji adalah \(H_0: OR=1\) lawan \(H_1: OR\ne1\)
MHChisqTest(CHL)
##
## Mantel-Haenszel Chi-Square
##
## data: CHL
## X-squared = 0.345, df = 1, p-value = 0.557
Rasio Odds Mantel Haenszel
<-as.table(matrix(c(3, 4, 176, 293),
strata1nrow=2, byrow = T,
dimnames=(list(Prenatal=c("Ya","Tidak"),
Meninggal=c("Ya","Tidak")))))
<-as.table(matrix(c(17, 2, 197, 23),
strata2nrow=2, byrow = T,
dimnames=(list(Prenatal=c("Ya","Tidak"),
Meninggal=c("Ya","Tidak")))))
<-epitools::expand.table(strata1)
s1$strata<-rep("Klinik A", nrow(s1))
s1
<-epitools::expand.table(strata2)
s2$strata<-rep("Klinik B", nrow(s2))
s2
<-rbind(s1, s2)
contoh<-with(contoh, table(Prenatal, Meninggal, strata))) (contoh.MH
## , , strata = Klinik A
##
## Meninggal
## Prenatal Ya Tidak
## Ya 3 4
## Tidak 176 293
##
## , , strata = Klinik B
##
## Meninggal
## Prenatal Ya Tidak
## Ya 17 2
## Tidak 197 23
library(epiDisplay)
mhor(mhtable=contoh.MH, graph=F)
##
## Stratified analysis by strata
## OR lower lim. upper lim. P value
## strata Klinik A 1.248 0.181 7.47 1.000
## strata Klinik B 0.992 0.213 9.41 1.000
## M-H combined 1.114 0.376 3.30 0.844
##
## M-H Chi2(1) = 0.04 , P value = 0.844
## Homogeneity test, chi-squared 1 d.f. = 0.04 , P value = 0.834
<-with(contoh, table(Prenatal, Meninggal))) (crude
## Meninggal
## Prenatal Ya Tidak
## Ya 20 6
## Tidak 373 316
OddsRatio(crude, conf.level = 0.95)
## odds ratio lwr.ci upr.ci
## 2.823950 1.120302 7.118344
Data Lainnya
data("Arthritis", package="vcd")
data("HairEyeColor")
data("UCBAdmissions")