Analisis tabel kontingensi merupakan salah satu alat utama dalam Analisis Data Kategori untuk menguji dan mengukur hubungan (asosiasi) antara dua variabel kategorik. Pada laporan ini dibahas dua kasus: (1) tabel kontingensi 2x2 mengenai hubungan kebiasaan merokok dengan kejadian kanker paru, dan (2) tabel kontingensi 2x3 mengenai hubungan gender dengan identifikasi partai politik.
Pada Kasus 1, dilakukan estimasi titik dan interval kepercayaan untuk proporsi, Risk Difference (RD), Relative Risk (RR), dan Odds Ratio (OR), serta perbandingan beberapa metode uji hipotesis: uji dua proporsi, uji chi-square independensi, likelihood ratio test, dan Fisher exact test.
Pada Kasus 2, dilakukan uji chi-square independensi untuk tabel 2x3, perhitungan frekuensi harapan, analisis residual, serta partisi chi-square untuk mengetahui sumber asosiasi yang dominan.
Seluruh analisis dikerjakan menggunakan perangkat lunak R.
# Paket yang dibutuhkan
library(vcd) # untuk mosaic plot dan association plot
library(ggplot2) # untuk visualisasi
library(knitr) # untuk tabel rapi
library(epitools) # untuk estimasi Relative Risk dan Odds Ratio (analisis epidemiologi)
library(DescTools) # untuk Likelihood Ratio Test (G-Test)Paket epitools digunakan karena menyediakan fungsi
riskratio() dan oddsratio() yang telah
terverifikasi untuk perhitungan estimasi titik beserta interval
kepercayaan ukuran asosiasi epidemiologis (RR dan OR), sehingga hasil
lebih andal dan mengurangi risiko kesalahan pada perhitungan manual.
Paket DescTools digunakan karena menyediakan fungsi
GTest() yang mengimplementasikan likelihood ratio
test (uji G²) secara baku sesuai literatur analisis data kategorik
(Agresti, 2013).
# Membentuk tabel kontingensi 2x2
tabel1 <- matrix(c(688, 650,
21, 59),
nrow = 2, byrow = TRUE,
dimnames = list(
Status_Merokok = c("Smoker", "Non-Smoker"),
Cancer_Status = c("Cancer (+)", "Control (-)")
))
tabel_cantik(addmargins(tabel1), caption = "Tabel Kontingensi 2x2: Status Merokok vs Kanker Paru")| Cancer (+) | Control (-) | Sum | |
|---|---|---|---|
| Smoker | 688 | 650 | 1338 |
| Non-Smoker | 21 | 59 | 80 |
| Sum | 709 | 709 | 1418 |
Tabel di atas menyajikan data 1.418 subjek yang dikelompokkan berdasarkan status merokok (Smoker/Non-Smoker) dan status kanker paru (Cancer+/Control-). Dari 1.338 perokok, 688 orang mengalami kanker paru, sedangkan dari 80 non-perokok, hanya 21 orang yang mengalami kanker paru.
# Membentuk tabel kontingensi 2x3
tabel2 <- matrix(c(495, 272, 590,
330, 265, 498),
nrow = 2, byrow = TRUE,
dimnames = list(
Gender = c("Female", "Male"),
Partai = c("Democrat", "Republican", "Independent")
))
tabel_cantik(addmargins(tabel2), caption = "Tabel Kontingensi 2x3: Gender vs Identifikasi Partai Politik")| Democrat | Republican | Independent | Sum | |
|---|---|---|---|---|
| Female | 495 | 272 | 590 | 1357 |
| Male | 330 | 265 | 498 | 1093 |
| Sum | 825 | 537 | 1088 | 2450 |
Tabel ini menyajikan data 2.450 responden yang diklasifikasikan berdasarkan gender (Female/Male) dan identifikasi partai politik (Democrat/Republican/Independent).
Analisis pada Kasus 1 menggunakan pendekatan estimasi proporsi dan ukuran asosiasi (RD, RR, OR) beserta interval kepercayaan 95%, dilanjutkan dengan empat metode uji independensi/perbandingan proporsi: uji dua proporsi (uji Z), uji chi-square Pearson, uji likelihood ratio (G²), dan uji eksak Fisher. Pada Kasus 2, digunakan uji chi-square independensi untuk tabel r x c, analisis residual standar (standardized residual), serta partisi chi-square menjadi dua komponen independen (2 derajat bebas menjadi dua komponen 1 derajat bebas) untuk melihat sumber utama asosiasi.
Tabel kontingensi 2x2 telah disusun pada bagian Data di atas. Baris menyatakan status merokok (Smoker, Non-Smoker), dan kolom menyatakan status kanker paru (Cancer+, Control-).
Teori singkat: Proporsi kejadian kanker paru pada suatu kelompok diestimasi dengan \(\hat{p} = x/n\), dengan \(x\) jumlah kasus kanker dan \(n\) jumlah total pada kelompok tersebut.
p_smoker <- 688/1338
p_nonsmoker <- 21/80
cat("Estimasi proporsi kanker paru pada Smoker :", round(p_smoker, 4), "\n")## Estimasi proporsi kanker paru pada Smoker : 0.5142
## Estimasi proporsi kanker paru pada Non-Smoker: 0.2625
Interpretasi substantif: Proporsi kejadian kanker paru pada kelompok perokok (0.5142 atau sekitar 51,4%) jauh lebih tinggi dibandingkan kelompok bukan perokok (0.2625 atau sekitar 26,3%). Secara deskriptif hal ini mengindikasikan adanya kecenderungan hubungan antara merokok dan kejadian kanker paru, namun perlu dikonfirmasi dengan pengujian dan interval kepercayaan.
Rumus dan metode:
Interval kepercayaan proporsi menggunakan fungsi
prop.test(). Perlu dicatat bahwa prop.test()
tidak menggunakan interval Wald sederhana, melainkan
interval berbasis statistik chi-square dengan koreksi Yates opsional
yang secara asimtotik ekuivalen dengan Wilson Score
Interval:
\[\left(\hat p + \frac{z^2}{2n}\right) \pm z\sqrt{\dfrac{\hat p(1-\hat p)}{n}+\dfrac{z^2}{4n^2}} \; \Big/ \; \left(1+\frac{z^2}{n}\right)\]
Interval Wilson Score ini lebih disukai dibandingkan interval Wald karena memiliki cakupan (coverage probability) yang lebih baik, khususnya ketika \(\hat p\) mendekati 0 atau 1, atau ketika ukuran sampel tidak terlalu besar—sebagaimana terjadi pada kelompok Non-Smoker (\(n=80\)) pada data ini (Agresti, 2013).
Risk Difference: \(RD = p_1 - p_2\), dengan \(SE(RD)=\sqrt{\frac{p_1(1-p_1)}{n_1}+\frac{p_2(1-p_2)}{n_2}}\), dihitung manual karena tidak ada asumsi distribusi khusus yang memerlukan fungsi package tertentu.
Relative Risk dan Odds Ratio dihitung menggunakan fungsi
riskratio() dan oddsratio() dari package
epitools, yang menggunakan interval kepercayaan pada skala
logaritma (metode Wald pada skala log, sesuai standar epidemiologi)
sehingga estimasi tetap berada pada rentang yang valid secara logis (RR
dan OR > 0).
# Interval kepercayaan proporsi masing-masing kelompok (Wilson Score, via prop.test)
ci_smoker <- prop.test(688, 1338, correct = FALSE)$conf.int
ci_nonsmoker <- prop.test(21, 80, correct = FALSE)$conf.int
cat("CI 95% proporsi Smoker :", round(ci_smoker,4), "\n")## CI 95% proporsi Smoker : 0.4874 0.5409
## CI 95% proporsi Non-Smoker: 0.1786 0.3682
# Risk Difference (manual, sesuai standar Fleiss, Levin & Paik, 2003)
rd_est <- p_smoker - p_nonsmoker
se_rd <- sqrt(p_smoker*(1-p_smoker)/1338 + p_nonsmoker*(1-p_nonsmoker)/80)
rd_ci <- rd_est + c(-1,1)*1.96*se_rd
# Susun ulang tabel agar baris pertama = kelompok referen (Non-Smoker) dan
# kolom pertama = Control (-), sesuai konvensi package epitools
tabel1_epi <- matrix(c(59, 21,
650, 688),
nrow = 2, byrow = TRUE,
dimnames = list(
Status_Merokok = c("Non-Smoker", "Smoker"),
Cancer_Status = c("Control (-)", "Cancer (+)")
))
# Relative Risk menggunakan epitools::riskratio (metode Wald)
hasil_rr <- riskratio(tabel1_epi, method = "wald")
rr_est <- hasil_rr$measure["Smoker", "estimate"]
rr_ci <- hasil_rr$measure["Smoker", c("lower","upper")]
# Odds Ratio menggunakan epitools::oddsratio (metode Wald)
hasil_or <- oddsratio(tabel1_epi, method = "wald")
or_est <- hasil_or$measure["Smoker", "estimate"]
or_ci <- hasil_or$measure["Smoker", c("lower","upper")]
cat("Risk Difference (RD) :", round(rd_est,4), " CI95%:", round(rd_ci,4), "\n")## Risk Difference (RD) : 0.2517 CI95%: 0.1516 0.3518
## Relative Risk (RR) : 1.9589 CI95%: 1.3517 2.8387
## Odds Ratio (OR) : 2.9738 CI95%: 1.7867 4.9494
Makna Confidence Interval: Interval kepercayaan 95% berarti bahwa jika prosedur pengambilan sampel dan penghitungan interval ini diulang secara berulang-ulang, maka sekitar 95% dari interval yang terbentuk akan memuat nilai parameter populasi yang sebenarnya. Ini bukan pernyataan probabilitas untuk satu interval spesifik, melainkan properti jangka panjang dari prosedur tersebut.
Cara interpretasi: Jika interval kepercayaan RD tidak mencakup nilai 0, atau interval RR dan OR tidak mencakup nilai 1, maka terdapat indikasi asosiasi yang signifikan secara statistik antara kedua variabel pada taraf kepercayaan yang bersangkutan.
Interpretasi substantif: Nilai RD positif dan interval kepercayaannya tidak mencakup 0 menunjukkan bahwa risiko kanker paru pada perokok memang lebih tinggi secara nyata dibandingkan non-perokok. Nilai RR di atas 1 (dan interval tidak mencakup 1) mengindikasikan risiko kanker paru pada perokok beberapa kali lebih besar dibandingkan non-perokok. Nilai OR juga jauh di atas 1, mengonfirmasi odds kejadian kanker paru pada perokok jauh lebih tinggi dibanding non-perokok.
Hubungan dengan hasil pengujian: Karena interval kepercayaan RD, RR, dan OR seluruhnya menunjukkan tidak adanya nilai netral (0 untuk RD, 1 untuk RR/OR), maka hasil ini konsisten dan sejalan dengan hasil uji hipotesis formal pada bagian berikutnya yang akan menolak H0 kesamaan proporsi/independensi.
Hipotesis: - H0: \(p_1 = p_2\) (proporsi kanker paru pada Smoker sama dengan Non-Smoker) - H1: \(p_1 \neq p_2\) (proporsi kanker paru pada Smoker berbeda dengan Non-Smoker)
Taraf signifikansi: \(\alpha = 0.05\)
Statistik uji: \(Z = \dfrac{\hat{p}_1-\hat{p}_2}{\sqrt{\hat{p}(1-\hat{p})(1/n_1+1/n_2)}}\), dengan \(\hat p\) adalah proporsi gabungan (pooled).
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(688, 21) out of c(1338, 80)
## X-squared = 19.129, df = 1, p-value = 1.222e-05
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## 0.1516343 0.3517663
## sample estimates:
## prop 1 prop 2
## 0.5142003 0.2625000
Statistik uji: Nilai statistik chi-square (setara \(Z^2\)) yang dihasilkan adalah 19.129 dengan p-value 1.222e-05.
Keputusan: Karena p-value < 0,05, maka H0 ditolak.
Interpretasi: Terdapat perbedaan proporsi kejadian kanker paru yang signifikan secara statistik antara kelompok Smoker dan Non-Smoker.
Interpretasi substantif: Data memberikan bukti kuat bahwa proporsi penderita kanker paru pada kelompok perokok berbeda nyata (lebih tinggi) dibandingkan kelompok bukan perokok.
Teori singkat: Uji chi-square independensi menguji apakah dua variabel kategorik saling bebas (independen) berdasarkan perbandingan frekuensi observasi dengan frekuensi harapan di bawah asumsi independensi.
Hipotesis: - H0: Status merokok dan status kanker paru saling independen - H1: Status merokok dan status kanker paru tidak independen (berasosiasi)
Rumus: \(\chi^2 = \sum \dfrac{(O_{ij}-E_{ij})^2}{E_{ij}}\), dengan \(E_{ij} = \dfrac{(total\ baris_i)(total\ kolom_j)}{total\ keseluruhan}\)
##
## Pearson's Chi-squared test
##
## data: tabel1
## X-squared = 19.129, df = 1, p-value = 1.222e-05
## Cancer_Status
## Status_Merokok Cancer (+) Control (-)
## Smoker 669 669
## Non-Smoker 40 40
Pemeriksaan asumsi uji Pearson Chi-Square: Uji chi-square Pearson merupakan uji asimtotik (berbasis aproksimasi distribusi chi-square) yang mensyaratkan: (1) pengamatan saling bebas antar subjek, dan (2) frekuensi harapan (\(E_{ij}\)) tidak terlalu kecil, dengan aturan umum seluruh \(E_{ij} \geq 5\) (atau minimal 80% sel memiliki \(E_{ij} \geq 5\) dan tidak ada sel dengan \(E_{ij} < 1\)) (Agresti, 2013).
## Frekuensi harapan minimum: 40
## Semua E_ij >= 5: TRUE
Berdasarkan hasil di atas, seluruh frekuensi harapan bernilai jauh di atas 5, sehingga syarat kecukupan sampel untuk aproksimasi chi-square Pearson terpenuhi. Apabila syarat ini dilanggar (misalnya terdapat sel dengan \(E_{ij} < 5\)), maka distribusi statistik uji tidak lagi mendekati distribusi chi-square secara akurat, sehingga p-value yang dihasilkan berisiko bias (biasanya terlalu kecil/anti-konservatif) dan alternatif seperti Fisher exact test perlu digunakan sebagai gantinya.
Statistik uji: \(\chi^2\) = 19.129, derajat bebas = 1, p-value = 1.222e-05.
Keputusan: Karena p-value < 0,05, H0 ditolak.
Interpretasi: Status merokok dan status kanker paru tidak independen, artinya terdapat asosiasi antara kedua variabel tersebut.
Interpretasi substantif: Hasil ini menguatkan dugaan bahwa kebiasaan merokok berkaitan dengan kejadian kanker paru pada populasi yang diteliti.
Teori singkat: Uji likelihood ratio merupakan alternatif uji chi-square Pearson yang berbasis pada perbandingan log-likelihood model saturated dengan model independensi.
Rumus: \(G^2 = 2\sum O_{ij}\ln\left(\dfrac{O_{ij}}{E_{ij}}\right)\)
Hipotesis: sama seperti Soal 5 (H0: independen, H1: tidak independen).
##
## Log likelihood ratio (G-test) test of independence without correction
##
## data: tabel1
## G = 19.878, X-squared df = 1, p-value = 8.254e-06
G2 <- uji_g2$statistic
df_g2 <- uji_g2$parameter
pvalue_g2 <- uji_g2$p.value
cat("Statistik G^2 :", round(G2,4), "\n")## Statistik G^2 : 19.878
## df : 1
## p-value : 8.254e-06
Keputusan: Karena p-value < 0,05, H0 ditolak.
Interpretasi: Sejalan dengan uji chi-square Pearson, uji likelihood ratio juga menunjukkan adanya asosiasi signifikan antara status merokok dan kanker paru.
Interpretasi substantif: Konsistensi hasil G² dengan chi-square Pearson memperkuat kesimpulan bahwa hubungan antara merokok dan kanker paru bukan disebabkan oleh kebetulan sampling semata.
Teori singkat: Uji eksak Fisher menguji independensi pada tabel 2x2 dengan menghitung probabilitas eksak (bukan aproksimasi) dari seluruh kemungkinan tabel dengan margin baris dan kolom tetap, berdasarkan distribusi hipergeometrik. Fisher exact test lebih tepat digunakan dibandingkan chi-square Pearson ketika: (1) terdapat sel dengan frekuensi harapan kecil (\(E_{ij} < 5\)), (2) ukuran sampel total kecil, atau (3) diinginkan p-value eksak tanpa bergantung pada aproksimasi distribusi asimtotik. Pada data ini, karena seluruh frekuensi harapan telah memenuhi syarat kecukupan sampel untuk chi-square (lihat Soal 5), Fisher exact test di sini berfungsi sebagai pembanding/validasi terhadap hasil chi-square Pearson, bukan sebagai alternatif yang wajib digunakan.
Hipotesis: sama seperti Soal 5.
##
## Fisher's Exact Test for Count Data
##
## data: tabel1
## p-value = 1.476e-05
## alternative hypothesis: true odds ratio is not equal to 1
## 95 percent confidence interval:
## 1.755611 5.210711
## sample estimates:
## odds ratio
## 2.971634
Statistik uji: Fisher exact test tidak menggunakan statistik \(\chi^2\), melainkan menghitung p-value eksak = 1.476e-05 berdasarkan seluruh kemungkinan tabel dengan margin tetap.
Keputusan: Karena p-value < 0,05, H0 ditolak.
Interpretasi: Hasil Fisher exact test juga menunjukkan asosiasi signifikan antara status merokok dan kanker paru.
Interpretasi substantif: Estimasi odds ratio dari
Fisher exact test (2.972, menggunakan estimasi conditional maximum
likelihood) konsisten arah dan besarannya dengan estimasi OR pada
Soal 3 yang dihitung menggunakan epitools::oddsratio(),
menegaskan besarnya odds kanker paru pada perokok dibandingkan
non-perokok.
tabel_banding <- data.frame(
Uji = c("Uji Dua Proporsi", "Chi-Square Pearson", "Likelihood Ratio (G2)", "Fisher Exact Test"),
Hipotesis_H0 = c("p(Smoker) = p(Non-Smoker)",
"Status merokok independen thd kanker paru",
"Status merokok independen thd kanker paru",
"Status merokok independen thd kanker paru"),
Statistik_Uji = c(paste0("Z^2 = ", round(uji_2prop$statistic,3)),
paste0("Chi^2 = ", round(uji_chisq1$statistic,3)),
paste0("G^2 = ", round(G2,3)),
"Eksak (hipergeometrik)"),
df = c(1, uji_chisq1$parameter, df_g2, "-"),
P_value = c(format.pval(uji_2prop$p.value,4), format.pval(uji_chisq1$p.value,4),
format.pval(pvalue_g2,4), format.pval(uji_fisher$p.value,4)),
Keputusan = rep("Tolak H0 (alpha=0.05)", 4),
Interpretasi_Singkat = rep("Asosiasi signifikan: merokok & kanker paru", 4)
)
tabel_cantik(tabel_banding, caption = "Perbandingan Empat Metode Uji pada Kasus 1")| Uji | Hipotesis_H0 | Statistik_Uji | df | P_value | Keputusan | Interpretasi_Singkat |
|---|---|---|---|---|---|---|
| Uji Dua Proporsi | p(Smoker) = p(Non-Smoker) | Z^2 = 19.129 | 1 | 1.222e-05 | Tolak H0 (alpha=0.05) | Asosiasi signifikan: merokok & kanker paru |
| Chi-Square Pearson | Status merokok independen thd kanker paru | Chi^2 = 19.129 | 1 | 1.222e-05 | Tolak H0 (alpha=0.05) | Asosiasi signifikan: merokok & kanker paru |
| Likelihood Ratio (G2) | Status merokok independen thd kanker paru | G^2 = 19.878 | 1 | 8.254e-06 | Tolak H0 (alpha=0.05) | Asosiasi signifikan: merokok & kanker paru |
| Fisher Exact Test | Status merokok independen thd kanker paru | Eksak (hipergeometrik) |
|
1.476e-05 | Tolak H0 (alpha=0.05) | Asosiasi signifikan: merokok & kanker paru |
Interpretasi substantif komparatif: Keempat metode uji—uji dua proporsi, chi-square Pearson, likelihood ratio, dan Fisher exact test—menghasilkan kesimpulan yang konsisten, yaitu menolak H0 pada taraf signifikansi 5%, dengan p-value yang jauh lebih kecil dari 0,05 pada seluruh metode. Uji dua proporsi dan chi-square Pearson secara matematis ekuivalen pada kasus 2x2 tanpa koreksi kontinuitas, karena statistik uji dua proporsi (\(Z^2\)) identik dengan statistik chi-square Pearson pada tabel 2x2. Uji likelihood ratio (G²) memberikan nilai yang mendekati chi-square Pearson karena kedua statistik konvergen menuju distribusi asimtotik yang sama ketika ukuran sampel besar dan tidak terdapat sel dengan frekuensi harapan kecil, sebagaimana telah diverifikasi pada pemeriksaan asumsi di Soal 5. Fisher exact test menghasilkan p-value eksak yang tidak bergantung pada aproksimasi distribusi, dan di sini tetap sejalan dengan ketiga uji lainnya—hal ini memperkuat validitas kesimpulan karena menunjukkan bahwa penolakan H0 bukan disebabkan oleh bias pendekatan asimtotik, melainkan memang mencerminkan pola data yang kuat.
Berdasarkan estimasi proporsi, interval kepercayaan RD/RR/OR, serta keempat metode uji hipotesis yang seluruhnya konsisten menolak H0, dapat disimpulkan bahwa terdapat hubungan (asosiasi) yang signifikan secara statistik antara kebiasaan merokok dan kejadian kanker paru pada data ini. Proporsi kejadian kanker paru pada kelompok perokok jauh lebih tinggi dibandingkan kelompok bukan perokok, dengan risiko relatif dan odds ratio yang keduanya jauh di atas 1. Perlu dicatat bahwa data ini bersifat observasional, sehingga hasil ini menunjukkan asosiasi, bukan bukti kausalitas murni secara statistik semata—meskipun secara substantif sejalan dengan bukti epidemiologis luas mengenai bahaya merokok.
Tabel kontingensi 2x3 telah disusun pada bagian Data.
Rumus: \(E_{ij} = \dfrac{(total\ baris_i)(total\ kolom_j)}{total\ keseluruhan}\)
uji_chisq2 <- chisq.test(tabel2, correct = FALSE)
tabel_cantik(round(uji_chisq2$expected,2), caption = "Frekuensi Harapan Tabel 2x3")| Democrat | Republican | Independent | |
|---|---|---|---|
| Female | 456.95 | 297.43 | 602.62 |
| Male | 368.05 | 239.57 | 485.38 |
Interpretasi: Frekuensi harapan menunjukkan nilai yang diharapkan pada masing-masing sel apabila gender dan identifikasi partai politik benar-benar independen. Seluruh nilai frekuensi harapan jauh di atas 5, sehingga syarat kecukupan sampel untuk uji chi-square asimtotik terpenuhi.
Hipotesis: - H0: Gender dan identifikasi partai politik saling independen - H1: Gender dan identifikasi partai politik tidak independen
Taraf signifikansi \(\alpha = 0.05\).
##
## Pearson's Chi-squared test
##
## data: tabel2
## X-squared = 12.569, df = 2, p-value = 0.001865
Statistik uji: \(\chi^2\) = 12.569, df = 2, p-value = 0.001865.
Keputusan: Karena p-value < 0,05, H0 ditolak.
Interpretasi: Terdapat asosiasi yang signifikan secara statistik antara gender dan identifikasi partai politik.
Interpretasi substantif: Pola pemilihan identifikasi partai politik pada populasi ini berbeda secara nyata antara kelompok perempuan dan laki-laki.
Rumus: Standardized residual \(r_{ij} = \dfrac{O_{ij}-E_{ij}}{\sqrt{E_{ij}(1-p_{i.})(1-p_{.j})}}\)
| Democrat | Republican | Independent | |
|---|---|---|---|
| Female | 3.272 | -2.499 | -1.032 |
| Male | -3.272 | 2.499 | 1.032 |
mosaic(tabel2, shade = TRUE, legend = TRUE,
main = "Mosaic Plot: Gender vs Identifikasi Partai Politik")resid_df2 <- as.data.frame(as.table(std_resid))
colnames(resid_df2) <- c("Gender", "Partai", "Residual")
ggplot(resid_df2, aes(x = Partai, y = Residual, fill = Gender)) +
geom_col(position = "dodge") +
geom_hline(yintercept = c(-2, 2), linetype = "dashed", color = "#E4572E") +
labs(title = "Plot Standardized Residual: Gender vs Identifikasi Partai Politik",
y = "Standardized Residual", x = "Partai Politik") +
theme_minimal()Interpretasi statistik: Standardized residual yang bernilai lebih besar dari 2 (dalam nilai mutlak) menunjukkan sel tersebut memberikan kontribusi signifikan terhadap penolakan H0 independensi (garis putus-putus pada plot di atas menandai ambang ±2). Pada tabel dan plot di atas, sel Female-Independent dan Male-Independent (serta Female/Male-Democrat) memiliki nilai residual dengan magnitudo relatif besar dibandingkan sel Republican.
Interpretasi substantif: Perempuan cenderung lebih banyak memilih sebagai Democrat dan Independent dibandingkan ekspektasi di bawah independensi, sedangkan laki-laki cenderung lebih banyak teridentifikasi sebagai Republican dibandingkan ekspektasi.
Teori singkat dan alasan dilakukan partisi: Uji chi-square keseluruhan pada tabel 2x3 hanya memberikan kesimpulan global bahwa gender dan identifikasi partai politik tidak independen, tanpa menunjukkan kontras kolom mana yang menjadi sumber utama asosiasi tersebut. Untuk menjawab pertanyaan tersebut, statistik chi-square dengan df=2 dapat dipartisi menjadi dua komponen independen dengan df=1 masing-masing, yaitu: (a) perbandingan Democrat vs Republican, dan (b) perbandingan (Democrat+Republican) vs Independent. Partisi ini valid apabila kontras yang dibentuk saling ortogonal, sehingga secara matematis jumlah statistik chi-square kedua komponen akan sama dengan (atau sangat mendekati) statistik chi-square tabel keseluruhan. Dengan demikian, hasil partisi tidak hanya mendukung, tetapi juga menjelaskan lebih rinci hasil uji chi-square keseluruhan pada Soal 3, dengan menunjukkan kontribusi relatif masing-masing kontras terhadap total asosiasi yang terdeteksi.
# Komponen 1: Democrat vs Republican
tabel_part1 <- tabel2[, c("Democrat","Republican")]
uji_part1 <- chisq.test(tabel_part1, correct = FALSE)
# Komponen 2: (Democrat+Republican) vs Independent
dem_rep <- rowSums(tabel2[, c("Democrat","Republican")])
indep_col <- tabel2[, "Independent"]
tabel_part2 <- cbind(DemRep = dem_rep, Independent = indep_col)
uji_part2 <- chisq.test(tabel_part2, correct = FALSE)
cat("Komponen 1 (Democrat vs Republican):\n")## Komponen 1 (Democrat vs Republican):
cat(" chi-square =", round(uji_part1$statistic,3), " df =", uji_part1$parameter,
" p-value =", format.pval(uji_part1$p.value,4), "\n\n")## chi-square = 11.555 df = 1 p-value = 0.0006758
## Komponen 2 ((Democrat+Republican) vs Independent):
cat(" chi-square =", round(uji_part2$statistic,3), " df =", uji_part2$parameter,
" p-value =", format.pval(uji_part2$p.value,4), "\n\n")## chi-square = 1.065 df = 1 p-value = 0.302
## Jumlah kedua komponen: 12.62
## Chi-square keseluruhan: 12.569
Hipotesis komponen 1: - H0: proporsi Democrat vs Republican sama antara Female dan Male - H1: proporsi Democrat vs Republican berbeda antara Female dan Male
Hipotesis komponen 2: - H0: proporsi (Democrat+Republican) vs Independent sama antara Female dan Male - H1: proporsi (Democrat+Republican) vs Independent berbeda antara Female dan Male
Keputusan: Kedua komponen memiliki p-value < 0,05, sehingga H0 ditolak pada masing-masing komponen.
Jumlah statistik chi-square dari kedua komponen partisi (12.62) mendekati/sama dengan statistik chi-square uji keseluruhan (12.569), sesuai sifat aditif partisi chi-square pada tabel kontingensi dengan konstruksi kontras yang saling ortogonal. Hal ini menunjukkan bahwa asosiasi keseluruhan pada tabel 2x3 dapat dijelaskan sepenuhnya oleh kombinasi kedua komponen tersebut.
kontribusi <- data.frame(
Komponen = c("Democrat vs Republican", "(Democrat+Republican) vs Independent"),
Chi_Square = c(round(uji_part1$statistic,3), round(uji_part2$statistic,3)),
Proporsi_Kontribusi = c(
round(uji_part1$statistic/uji_chisq2$statistic*100,2),
round(uji_part2$statistic/uji_chisq2$statistic*100,2))
)
tabel_cantik(kontribusi, caption = "Kontribusi Masing-Masing Komponen Partisi (%)")| Komponen | Chi_Square | Proporsi_Kontribusi |
|---|---|---|
| Democrat vs Republican | 11.555 | 91.93 |
| (Democrat+Republican) vs Independent | 1.065 | 8.48 |
Interpretasi substantif: Berdasarkan hasil partisi dan besarnya standardized residual, komponen yang memberikan kontribusi terbesar terhadap asosiasi antara Gender dan Identifikasi Partai Politik adalah komponen dengan nilai chi-square dan persentase kontribusi tertinggi pada tabel di atas. Ini mengindikasikan bahwa perbedaan pola gender paling terlihat pada kontras tersebut, sementara komponen lainnya juga tetap signifikan namun dengan kontribusi relatif lebih kecil.
# Grafik proporsi identifikasi partai politik berdasarkan gender
prop_df <- as.data.frame(prop.table(tabel2, margin = 1))
colnames(prop_df) <- c("Gender", "Partai", "Proporsi")
ggplot(prop_df, aes(x = Partai, y = Proporsi, fill = Gender)) +
geom_col(position = "dodge") +
labs(title = "Proporsi Identifikasi Partai Politik berdasarkan Gender",
y = "Proporsi", x = "Partai Politik") +
theme_minimal()Interpretasi mosaic plot Kasus 1: Lebar balok merepresentasikan proporsi ukuran sampel pada tiap kategori merokok, sedangkan warna (biru/merah) merepresentasikan tanda dan besar residual Pearson terstandarisasi terhadap model independensi. Terlihat warna yang kontras antara sel Smoker-Cancer dan Non-Smoker-Cancer, mengindikasikan penyimpangan yang besar dari kondisi independensi—konsisten dengan hasil uji chi-square yang signifikan pada Soal 5.
Interpretasi association plot Kasus 1: Association plot menampilkan besar dan arah deviasi observasi terhadap frekuensi harapan pada setiap sel dalam bentuk batang; batang yang mengarah ke atas garis dasar menunjukkan frekuensi observasi lebih besar dari harapan (residual positif), sedangkan batang ke bawah menunjukkan sebaliknya. Sel Smoker-Cancer menunjukkan observasi jauh melebihi harapan, mempertegas arah asosiasi positif antara merokok dan kejadian kanker paru.
resid_df <- data.frame(
Sel = c("Smoker-Cancer", "Smoker-Control", "NonSmoker-Cancer", "NonSmoker-Control"),
Residual = as.vector(t((tabel1 - uji_chisq1$expected)/sqrt(uji_chisq1$expected)))
)
ggplot(resid_df, aes(x = Sel, y = Residual, fill = Residual > 0)) +
geom_col(show.legend = FALSE) +
geom_hline(yintercept = c(-2, 2), linetype = "dashed", color = "#E4572E") +
labs(title = "Plot Residual Pearson: Status Merokok vs Kanker Paru",
y = "Residual Pearson", x = "Sel Tabel") +
theme_minimal()Interpretasi plot residual Kasus 1: Garis putus-putus pada nilai ±2 menandai ambang batas residual yang dianggap kontributif secara signifikan terhadap penolakan H0 independensi. Sel Smoker-Cancer dan Non-Smoker-Cancer terlihat melampaui ambang tersebut, menunjukkan bahwa kedua sel ini merupakan sumber utama penyimpangan dari independensi pada tabel 2x2 ini.
Visualisasi mosaic plot, association plot, plot residual, dan grafik proporsi di atas saling melengkapi untuk mempermudah interpretasi visual terhadap pola dan sumber asosiasi yang telah diuji secara statistik pada kedua kasus.
Pada Kasus 1, seluruh metode inferensi (estimasi proporsi, interval kepercayaan RD/RR/OR, uji dua proporsi, chi-square, likelihood ratio, dan Fisher exact test) secara konsisten menunjukkan adanya asosiasi signifikan antara kebiasaan merokok dan kejadian kanker paru, dengan risiko dan odds kanker paru yang jauh lebih tinggi pada kelompok perokok.
Pada Kasus 2, uji chi-square independensi menunjukkan adanya asosiasi signifikan antara gender dan identifikasi partai politik. Analisis residual dan partisi chi-square mengungkapkan bahwa asosiasi ini bersumber dari perbedaan pola pemilihan Democrat/Republican maupun perbedaan pola (Democrat+Republican) versus Independent antara kelompok perempuan dan laki-laki, dengan salah satu komponen memberikan kontribusi lebih dominan sebagaimana ditunjukkan pada tabel kontribusi.
Secara umum, tugas ini menunjukkan bagaimana berbagai metode inferensi tabel kontingensi dua arah—baik untuk tabel 2x2 maupun tabel r x c yang lebih besar—dapat digunakan secara saling melengkapi untuk menghasilkan kesimpulan statistik yang valid dan substantif.
Agresti, A. (2013). Categorical Data Analysis (3rd ed.). John Wiley & Sons.
Fleiss, J. L., Levin, B., & Paik, M. C. (2003). Statistical Methods for Rates and Proportions (3rd ed.). John Wiley & Sons.
Hosmer, D. W., Lemeshow, S., & Sturdivant, R. X. (2013). Applied Logistic Regression (3rd ed.). John Wiley & Sons.
Wilson, E. B. (1927). Probable inference, the law of succession, and statistical inference. Journal of the American Statistical Association, 22(158), 209-212.
Fisher, R. A. (1922). On the interpretation of chi-square from contingency tables, and the calculation of P. Journal of the Royal Statistical Society, 85(1), 87-94.
Aragon, T. (2020). epitools: Epidemiology Tools. R package.
Signorell, A. (2024). DescTools: Tools for Descriptive Statistics. R package.
R Core Team. (2024). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing.
Laporan ini disusun untuk memenuhi Tugas 6 mata kuliah Analisis Data
Kategori — Universitas Padjadjaran
Dipublikasikan melalui RPubs