Analisis data kategori merupakan bagian penting dalam statistika, khususnya ketika data yang diamati berbentuk kategori atau kelas. Analisis ini banyak digunakan dalam bidang kesehatan, sosial, ekonomi, dan pendidikan untuk memahami hubungan antara dua atau lebih variabel kategorik.
Analisis data kategori adalah metode statistik yang digunakan untuk menganalisis variabel yang berbentuk kategori atau kelompok. Berbeda dengan data numerik kontinu, variabel kategori dinyatakan dalam bentuk label atau klasifikasi, seperti jenis kelamin, status merokok, atau status penyakit.
Menurut Hazra dan Gogtay (2016), data kategorik biasanya dianalisis menggunakan frekuensi atau proporsi dan sering disajikan dalam tabel kontingensi untuk membandingkan kelompok serta menilai hubungan antara variabel kategorik.
Variabel kategori memiliki beberapa karakteristik utama:
Secara umum, variabel kategori dibagi menjadi dua jenis utama:
Variabel Nominal
Variabel dengan kategori yang tidak memiliki urutan, misalnya jenis
kelamin atau status vaksin.
Variabel Ordinal
Variabel dengan kategori yang memiliki urutan atau tingkatan, misalnya
tingkat pendidikan atau tingkat kepuasan.
Beberapa contoh penggunaan analisis data kategori dalam penelitian antara lain:
Melalui analisis data kategori, peneliti dapat memahami hubungan antara variabel kategorik serta mengidentifikasi faktor yang berkaitan dengan suatu kejadian atau outcome.
Tabel kontingensi adalah tabel yang digunakan untuk menyajikan distribusi frekuensi dari dua atau lebih variabel kategori secara simultan.
Contoh tabel kontingensi 2×2:
| Kanker | Tidak Kanker | Total | |
|---|---|---|---|
| Merokok | a | b | a+b |
| Tidak Merokok | c | d | c+d |
| Total | a+c | b+d | n |
Joint distribution menunjukkan peluang gabungan dua kejadian.
\[ P(X,Y) = \frac{frekuensi\ pada\ sel}{n} \]
Marginal distribution adalah distribusi peluang dari satu variabel tanpa memperhatikan variabel lainnya.
\[ P(X=Merokok) = \frac{a+b}{n} \]
Probabilitas bersyarat menggambarkan peluang suatu kejadian jika kejadian lain telah diketahui.
\[ P(Kanker|Merokok) = \frac{a}{a+b} \]
Ukuran asosiasi digunakan untuk mengetahui seberapa kuat hubungan antara faktor risiko dan kejadian (outcome) pada data kategorik.
Odds adalah perbandingan antara peluang suatu kejadian dengan peluang kejadian tersebut tidak terjadi.
Jika peluang kejadian dinyatakan sebagai:
\[ P = \frac{a}{a+b} \]
maka peluang tidak terjadinya kejadian adalah:
\[ 1-P = \frac{b}{a+b} \]
Sehingga odds dapat diturunkan sebagai:
\[ Odds = \frac{P}{1-P} \]
Substitusi nilai peluang menghasilkan:
\[ Odds = \frac{\frac{a}{a+b}}{\frac{b}{a+b}} = \frac{a}{b} \]
Nilai odds menunjukkan seberapa besar kemungkinan suatu kejadian dibandingkan dengan tidak terjadinya kejadian tersebut.
Odds Ratio (OR) digunakan untuk membandingkan odds antara dua kelompok.
Odds pada kelompok terpapar:
\[ Odds_1 = \frac{a}{b} \]
Odds pada kelompok tidak terpapar:
\[ Odds_2 = \frac{c}{d} \]
Odds Ratio didefinisikan sebagai perbandingan kedua odds tersebut:
\[ OR = \frac{Odds_1}{Odds_2} \]
Substitusi menghasilkan:
\[ OR = \frac{a/b}{c/d} \]
yang dapat disederhanakan menjadi:
\[ OR = \frac{ad}{bc} \]
Relative Risk (RR) adalah perbandingan probabilitas kejadian antara kelompok terpapar dan tidak terpapar.
Risiko pada kelompok terpapar:
\[ P_1 = \frac{a}{a+b} \]
Risiko pada kelompok tidak terpapar:
\[ P_0 = \frac{c}{c+d} \]
Relative Risk didefinisikan sebagai:
\[ RR = \frac{P_1}{P_0} \]
Sehingga diperoleh:
\[ RR = \frac{a/(a+b)}{c/(c+d)} \]
Penelitian mengenai hubungan merokok dan kanker paru menghasilkan data berikut:
| Kanker | Tidak Kanker | Total | |
|---|---|---|---|
| Merokok | 60 | 40 | 100 |
| Tidak Merokok | 20 | 80 | 100 |
| Total | 80 | 120 | 200 |
Misalkan:
Total sampel:
\[ n = a+b+c+d = 200 \]
\[ P(Kanker|Merokok) = \frac{60}{100} = 0.6 \]
\[ P(Kanker|Tidak\ Merokok) = \frac{20}{100} = 0.2 \] Artinya peluang orang perokok lebih berisiko terkena kanker dibandingkan bukan perokok.
\[ Odds_1 = \frac{60}{40} = 1.5 \]
\[ Odds_2 = \frac{20}{80} = 0.25 \]
Artinya nilai odds pada kelompok perokok (Odds₁ = 1.5) menunjukkan bahwa peluang terjadinya kanker paru pada perokok adalah 1.5 banding 1 dibandingkan tidak mengalami kanker.
Sementara itu, odds pada kelompok tidak merokok (Odds₂ = 0.25) menunjukkan bahwa peluang terjadinya kanker paru pada kelompok tidak merokok adalah 0.25 banding 1 dibandingkan tidak mengalami kanker.
Hal ini menunjukkan bahwa peluang kanker paru relatif lebih besar pada kelompok perokok dibandingkan kelompok tidak merokok.
\[ OR = \frac{ad}{bc} \]
\[ OR = \frac{(60)(80)}{(40)(20)} \]
\[ OR = \frac{4800}{800} = 6 \]
Artinya peluang kanker pada perokok 6 kali lebih besar dibandingkan bukan perokok.
Analisis yang sama dapat dilakukan menggunakan perangkat lunak R untuk memverifikasi hasil perhitungan manual.
data <- matrix(c(60,40,20,80), nrow=2, byrow=TRUE)
rownames(data) <- c("Merokok","Tidak Merokok")
colnames(data) <- c("Kanker","Tidak Kanker")
data
## Kanker Tidak Kanker
## Merokok 60 40
## Tidak Merokok 20 80
odds_ratio <- (data[1,1]*data[2,2])/(data[1,2]*data[2,1])
odds_ratio
## [1] 6
\[ \chi^2 = \sum \frac{(O - E)^2}{E} \]
uji_chisq <- chisq.test(data)
uji_chisq
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: data
## X-squared = 31.688, df = 1, p-value = 1.811e-08
Distribusi jumlah kasus kanker paru pada kelompok perokok dan tidak merokok dapat divisualisasikan menggunakan grafik batang berikut.
barplot(data,
beside = TRUE,
col = c("royalblue","gold"),
main = "Perbandingan Kasus Kanker Paru Berdasarkan Status Merokok",
xlab = "Status Merokok",
ylab = "Jumlah Individu",
legend.text = colnames(data),
args.legend = list(x = "topright"),
ylim = c(0, max(data) + 20))
Berdasarkan perhitungan sebelumnya diperoleh nilai Odds Ratio (OR) sebesar 6. Nilai ini menunjukkan bahwa peluang terjadinya kanker paru pada kelompok perokok sekitar enam kali lebih besar dibandingkan dengan kelompok yang tidak merokok.
Selanjutnya dilakukan uji chi-square untuk menguji apakah hubungan antara kedua variabel tersebut signifikan secara statistik. Jika hasil uji menghasilkan p-value < 0.05, maka dapat disimpulkan bahwa terdapat hubungan yang signifikan antara kebiasaan merokok dan kejadian kanker paru.Selain itu, dapat dilihat dari grafik batang tersebut memperlihatkan bahwa jumlah kasus kanker paru lebih tinggi pada kelompok perokok dibandingkan kelompok tidak merokok. Sebaliknya, pada kategori tidak kanker jumlah individu lebih besar pada kelompok tidak merokok. Visualisasi ini membantu menggambarkan pola hubungan antara kedua variabel secara lebih jelas
Secara statistik, hasil tersebut menunjukkan bahwa variabel status merokok dan kejadian kanker paru tidak bersifat independen. Dengan kata lain, terdapat hubungan atau asosiasi antara kedua variabel tersebut dalam populasi yang dianalisis.
Dalam konteks kesehatan masyarakat, hasil analisis ini memberikan indikasi bahwa kebiasaan merokok merupakan faktor risiko yang kuat terhadap terjadinya kanker paru. Individu yang memiliki kebiasaan merokok menunjukkan kecenderungan yang jauh lebih tinggi untuk mengalami penyakit tersebut dibandingkan individu yang tidak merokok.
Temuan ini sejalan dengan berbagai penelitian epidemiologi yang menyatakan bahwa paparan zat kimia berbahaya dalam asap rokok dapat merusak jaringan paru-paru dan meningkatkan kemungkinan terjadinya mutasi sel yang berujung pada kanker. Oleh karena itu, upaya pencegahan seperti pengendalian konsumsi rokok, edukasi kesehatan, dan kampanye berhenti merokok menjadi langkah penting dalam menurunkan risiko penyakit ini.
Hazra, A., & Gogtay, N. (2016). Biostatistics Series Module 4: Comparing Groups—Categorical Variables. Indian Journal of Dermatology, 61(4), 385–392.
Pada kasus ini dianalisis hubungan antara status merokok dan kejadian kanker paru menggunakan tabel kontingensi 2 x 2. Analisis mencakup penyusunan tabel kontingensi, estimasi proporsi, interval kepercayaan 95% untuk proporsi dan ukuran asosiasi, serta pengujian hipotesis menggunakan uji dua proporsi, uji chi-square independensi, uji likelihood ratio (G^2), dan Fisher exact test.
Data yang diberikan adalah sebagai berikut.
| Status Merokok | Cancer (+) | Control (-) | Total |
|---|---|---|---|
| Smoker | 688 | 650 | 1338 |
| Non-Smoker | 21 | 59 | 80 |
| Total | 709 | 709 | 1418 |
a <- 688 # Smoker & Cancer
b <- 21 # Non-Smoker & Cancer
c <- 650 # Smoker & Control
d <- 59 # Non-Smoker & Control
tab <- matrix(c(a, c, b, d), nrow = 2, byrow = TRUE)
colnames(tab) <- c("Cancer (+)", "Control (-)")
rownames(tab) <- c("Smoker", "Non-Smoker")
tab
## Cancer (+) Control (-)
## Smoker 688 650
## Non-Smoker 21 59
addmargins(tab)
## Cancer (+) Control (-) Sum
## Smoker 688 650 1338
## Non-Smoker 21 59 80
## Sum 709 709 1418
Interpretasi:
Tabel menunjukkan bahwa jumlah kasus kanker paru pada kelompok
Smoker jauh lebih besar daripada kelompok
Non-Smoker. Secara deskriptif, hal ini mengindikasikan
adanya kemungkinan hubungan antara kebiasaan merokok dan kejadian kanker
paru.
Misalkan: - \(p_1\) = proporsi kejadian kanker paru pada kelompok smoker - \(p_2\) = proporsi kejadian kanker paru pada kelompok non-smoker
Estimator proporsi: \[ \hat{p} = \frac{x}{n} \]
Perhitungan: \[ \hat{p}_1 = \frac{688}{1338} = 0.5142 \]
\[ \hat{p}_2 = \frac{21}{80} = 0.2625 \]
p1 <- a / (a + c)
p2 <- b / (b + d)
p1
## [1] 0.5142003
p2
## [1] 0.2625
Interpretasi:
Proporsi kejadian kanker paru pada kelompok Smoker
adalah 51.42%, sedangkan pada kelompok
Non-Smoker adalah 26.25%. Artinya,
dari setiap 100 orang pada masing-masing kelompok, sekitar 51 smoker dan
26 non-smoker mengalami kanker paru. Secara deskriptif, kejadian kanker
paru tampak lebih sering pada kelompok perokok.
\[ \hat{p} \pm Z_{\alpha/2} \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \] dengan:
Untuk proporsi masing-masing kelompok, interval kepercayaan dihitung
menggunakan fungsi prop.test().
prop_smoker <- prop.test(a, a + c, correct = FALSE)
prop_nonsmoker <- prop.test(b, b + d, correct = FALSE)
prop_smoker
##
## 1-sample proportions test without continuity correction
##
## data: a out of a + c, null probability 0.5
## X-squared = 1.0792, df = 1, p-value = 0.2989
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4874177 0.5409016
## sample estimates:
## p
## 0.5142003
prop_nonsmoker
##
## 1-sample proportions test without continuity correction
##
## data: b out of b + d, null probability 0.5
## X-squared = 18.05, df = 1, p-value = 2.152e-05
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.1785740 0.3681896
## sample estimates:
## p
## 0.2625
Interpretasi:
Interval kepercayaan 95% untuk proporsi smoker dan non-smoker
menunjukkan rentang nilai yang masuk akal bagi proporsi sebenarnya di
populasi. Interval kelompok smoker berada pada level yang lebih tinggi
daripada kelompok non-smoker, sehingga hasil ini memperkuat indikasi
bahwa kejadian kanker paru lebih tinggi pada kelompok perokok.
Risk Difference mengukur perbedaan absolut risiko kejadian antara dua kelompok. \[ RD = \hat{p}_1 - \hat{p}_2 \]
Dengan standard error: \[ SE(RD) = \sqrt{\frac{\hat{p}_1(1-\hat{p}_1)}{n_1} + \frac{\hat{p}_2(1-\hat{p}_2)}{n_2}} \]
Interval kepercayaan 95%: \[ CI_{95\%}(RD) = RD \pm z_{0.975} \times SE(RD) \]
prop_diff <- function(a, b, c, d, alpha = 0.05) {
ph <- a / (a + c)
pi <- b / (b + d)
nh <- a + c
ni <- b + d
se_bp <- sqrt((ph * (1 - ph) / nh) + (pi * (1 - pi) / ni))
z_alpha <- qnorm(1 - alpha / 2)
ci_lower <- (ph - pi) - z_alpha * se_bp
ci_upper <- (ph - pi) + z_alpha * se_bp
list(estimate = ph - pi, ci = c(ci_lower, ci_upper))
}
hasil_rd <- prop_diff(a = 688, b = 21, c = 650, d = 59)
print(hasil_rd)
## $estimate
## [1] 0.2517003
##
## $ci
## [1] 0.1516343 0.3517663
Interpretasi:
Nilai RD = 0.2517 berarti risiko kanker paru pada
perokok lebih tinggi sekitar 25.17 poin persentase
dibandingkan non-perokok. Karena interval kepercayaan 95% tidak memuat
nol, maka selisih risiko ini signifikan secara statistik. Secara
substantif, merokok berkaitan dengan peningkatan risiko absolut kanker
paru yang cukup besar.
Relative Risk membandingkan risiko kejadian antara dua kelompok. \[ RR = \frac{\hat{p}_1}{\hat{p}_2} \]
Standard error untuk log-risk ratio: \[ SE(\ln RR) = \sqrt{\left(\frac{1}{a} - \frac{1}{a+c}\right) + \left(\frac{1}{b} - \frac{1}{b+d}\right)} \]
Interval kepercayaan 95%: \[ CI_{95\%}(RR) = \exp \left[\ln(RR) \pm z_{0.975}SE(\ln RR)\right] \]
relative_risk <- function(a, b, c, d, alpha = 0.05) {
ph <- a / (a + c)
pi <- b / (b + d)
nh <- a + c
ni <- b + d
ln_rr <- log(ph / pi)
se_ln_rr <- sqrt(((1 - ph) / (ph * nh)) + ((1 - pi) / (pi * ni)))
z_alpha <- qnorm(1 - alpha / 2)
ci_lower <- exp(ln_rr - z_alpha * se_ln_rr)
ci_upper <- exp(ln_rr + z_alpha * se_ln_rr)
list(estimate = exp(ln_rr), ci = c(ci_lower, ci_upper))
}
hasil_rr <- relative_risk(a = 688, b = 21, c = 650, d = 59)
print(hasil_rr)
## $estimate
## [1] 1.958858
##
## $ci
## [1] 1.351735 2.838667
Interpretasi:
Nilai RR = 1.9589 menunjukkan bahwa perokok memiliki
risiko sekitar 1.96 kali terkena kanker paru
dibandingkan non-perokok. Karena interval kepercayaan 95% tidak memuat
1, maka asosiasi ini signifikan. Ini berarti risiko kanker paru pada
kelompok smoker hampir dua kali lipat dibanding kelompok non-smoker.
Odds Ratio membandingkan odds kejadian antara dua kelompok. \[ OR = \frac{ad}{bc} \]
Standard error untuk log-odds ratio: \[ SE(\ln OR) = \sqrt{\frac{1}{a} + \frac{1}{b} + \frac{1}{c} + \frac{1}{d}} \]
Interval kepercayaan 95%: \[ CI_{95\%}(OR) = \exp \left[\ln(OR) \pm z_{0.975}SE(\ln OR)\right] \]
odds_ratio <- function(a, b, c, d, alpha = 0.05) {
ln_or <- log((a * d) / (b * c))
se_ln_or <- sqrt(1/a + 1/b + 1/c + 1/d)
z_alpha <- qnorm(1 - alpha / 2)
ci_lower <- exp(ln_or - z_alpha * se_ln_or)
ci_upper <- exp(ln_or + z_alpha * se_ln_or)
list(estimate = exp(ln_or), ci = c(ci_lower, ci_upper))
}
hasil_or <- odds_ratio(a = 688, b = 21, c = 650, d = 59)
print(hasil_or)
## $estimate
## [1] 2.973773
##
## $ci
## [1] 1.786737 4.949427
Interpretasi:
Nilai OR = 2.9738 menunjukkan bahwa odds perokok
terkena kanker paru sekitar 2.97 kali odds non-perokok.
Karena interval kepercayaan 95% tidak memuat 1, maka asosiasi ini
signifikan. Dengan kata lain, peluang relatif kanker paru pada perokok
jauh lebih besar daripada pada non-perokok.
\[ Z = \frac{\hat{p}_1 - \hat{p}_2}{\sqrt{\hat{p}(1-\hat{p})\left(\frac{1}{n_1}+\frac{1}{n_2}\right)}} \]
Hipotesis yang diuji: \[ H_0: p_1 = p_2 \] \[ H_1: p_1 \ne p_2 \]
uji_proporsi <- prop.test(c(a, b), c(a + c, b + d), correct = FALSE)
uji_proporsi
##
## 2-sample test for equality of proportions without continuity correction
##
## data: c(a, b) out of c(a + c, b + d)
## 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
Interpretasi:
Karena p-value < 0.05, maka hipotesis nol ditolak. Artinya, terdapat
perbedaan proporsi kejadian kanker paru yang signifikan antara kelompok
smoker dan non-smoker. Jadi, status merokok berhubungan dengan perbedaan
proporsi kejadian kanker paru.
\[ \chi^2 = \sum \frac{(O - E)^2}{E} \] dengan \[ E_{ij} = \frac{(baris\ total)(kolom\ total)}{n} \]
Hipotesis: \[ H_0: \text{status merokok dan status kanker paru independen} \] \[ H_1: \text{status merokok dan status kanker paru tidak independen} \]
uji_chisq <- chisq.test(tab, correct = FALSE)
uji_chisq
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 19.129, df = 1, p-value = 1.222e-05
Interpretasi:
Karena p-value < 0.05, maka hipotesis nol ditolak. Artinya, status
merokok dan kejadian kanker paru tidak saling independen. Dengan
demikian, ada hubungan yang signifikan antara kebiasaan merokok dan
kejadian kanker paru.
Statistik likelihood ratio: \[ G^2 = 2 \sum_i \sum_j n_{ij}\ln\left(\frac{n_{ij}}{\hat{\mu}_{ij}}\right) \]
dengan: \[ \hat{\mu}_{ij} = \frac{n_{i.}n_{.j}}{n} \]
data_expected <- chisq.test(tab, correct = FALSE)$expected
G2 <- 2 * sum(tab * log(tab / data_expected))
critical_value <- qchisq(0.95, df = 1)
p_value_g2 <- 1 - pchisq(G2, df = 1)
list(G2 = G2,
Critical_Value = critical_value,
P_Value = p_value_g2,
Decision = ifelse(G2 > critical_value, "Reject H0", "Fail to Reject H0"))
## $G2
## [1] 19.87802
##
## $Critical_Value
## [1] 3.841459
##
## $P_Value
## [1] 8.25441e-06
##
## $Decision
## [1] "Reject H0"
Interpretasi:
Karena nilai G^2 lebih besar dari nilai kritis
chi-square dan p-value < 0.05, maka hipotesis nol ditolak. Ini
menunjukkan bahwa pendekatan likelihood juga memberikan bukti kuat
adanya hubungan signifikan antara status merokok dan kanker paru.
\[ P = \frac{(a+b)!(c+d)!(a+c)!(b+d)!}{a!b!c!d!n!} \] Hipotesis: \[ H_0: \text{tidak ada hubungan antara status merokok dan kanker paru} \] \[ H_1: \text{ada hubungan antara status merokok dan kanker paru} \]
uji_fisher <- fisher.test(tab)
uji_fisher
##
## Fisher's Exact Test for Count Data
##
## data: tab
## 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
Interpretasi:
Karena p-value < 0.05, maka hipotesis nol ditolak. Berdasarkan Fisher
exact test, terdapat hubungan signifikan antara kebiasaan merokok dan
kejadian kanker paru. Hasil ini penting karena Fisher exact test
merupakan uji eksak yang tetap valid untuk tabel 2 x 2.
Berikut ringkasan hasil pengujian:
perbandingan <- data.frame(
Metode = c("Uji dua proporsi",
"Chi-square independensi",
"Likelihood ratio (G^2)",
"Fisher exact test"),
Hipotesis_Nol = c("p1 = p2",
"Variabel independen",
"Variabel independen",
"Tidak ada asosiasi / OR = 1"),
Statistik_Uji = c(
round(as.numeric(uji_proporsi$statistic), 5),
round(as.numeric(uji_chisq$statistic), 5),
round(as.numeric(G2), 5),
NA
),
P_value = c(
signif(uji_proporsi$p.value, 5),
signif(uji_chisq$p.value, 5),
signif(p_value_g2, 5),
signif(uji_fisher$p.value, 5)
),
Keputusan = c(
ifelse(uji_proporsi$p.value < 0.05, "Tolak H0", "Gagal Tolak H0"),
ifelse(uji_chisq$p.value < 0.05, "Tolak H0", "Gagal Tolak H0"),
ifelse(p_value_g2 < 0.05, "Tolak H0", "Gagal Tolak H0"),
ifelse(uji_fisher$p.value < 0.05, "Tolak H0", "Gagal Tolak H0")
),
Interpretasi_Substantif = c(
"Proporsi kanker paru berbeda signifikan antara smoker dan non-smoker.",
"Status merokok berhubungan dengan kejadian kanker paru.",
"Pendekatan likelihood juga menunjukkan adanya hubungan signifikan.",
"Uji eksak tetap menunjukkan hubungan signifikan antara kedua variabel."
)
)
perbandingan
## Metode Hipotesis_Nol Statistik_Uji P_value
## 1 Uji dua proporsi p1 = p2 19.12922 1.2216e-05
## 2 Chi-square independensi Variabel independen 19.12922 1.2216e-05
## 3 Likelihood ratio (G^2) Variabel independen 19.87802 8.2544e-06
## 4 Fisher exact test Tidak ada asosiasi / OR = 1 NA 1.4763e-05
## Keputusan
## 1 Tolak H0
## 2 Tolak H0
## 3 Tolak H0
## 4 Tolak H0
## Interpretasi_Substantif
## 1 Proporsi kanker paru berbeda signifikan antara smoker dan non-smoker.
## 2 Status merokok berhubungan dengan kejadian kanker paru.
## 3 Pendekatan likelihood juga menunjukkan adanya hubungan signifikan.
## 4 Uji eksak tetap menunjukkan hubungan signifikan antara kedua variabel.
Interpretasi perbandingan:
Keempat metode menghasilkan keputusan yang sama, yaitu
menolak hipotesis nol, sehingga seluruh pendekatan
inferensi konsisten dalam menyimpulkan adanya hubungan antara merokok
dan kanker paru.
Secara lebih rinci:
Uji dua proporsi menekankan bahwa proporsi kejadian kanker paru pada smoker dan non-smoker memang berbeda secara statistik.
Uji chi-square independensi menegaskan bahwa status merokok dan status kanker paru tidak saling bebas, sehingga terdapat asosiasi antara kedua variabel kategorik tersebut.
Uji likelihood ratio (G^2) memberikan kesimpulan yang sama dengan chi-square, tetapi melalui pendekatan likelihood. Hasil yang sejalan ini memperkuat bukti statistik.
Fisher exact test juga menghasilkan p-value yang sangat kecil, sehingga mendukung kesimpulan yang sama dengan pendekatan eksak.
Dengan demikian, perbedaan hasil hanya terletak pada bentuk statistik uji dan pendekatan perhitungannya, bukan pada kesimpulan akhirnya. Secara substantif, semua metode konsisten menunjukkan bahwa perokok memiliki kejadian kanker paru yang lebih tinggi daripada non-perokok, sehingga kebiasaan merokok berkaitan erat dengan meningkatnya kejadian kanker paru.
Berdasarkan analisis tabel kontingensi 2 x 2:
Dengan demikian, dapat disimpulkan bahwa terdapat hubungan yang signifikan antara kebiasaan merokok dan kanker paru, dan merokok berkaitan dengan peningkatan risiko kanker paru.
mosaicplot(tab,
color = c("lightblue", "mistyrose"),
main = "Mosaic Plot: Status Merokok dan Kanker Paru",
xlab = "Status Merokok",
ylab = "Status Kanker Paru")
Interpretasi:
Mosaic plot memperlihatkan perbedaan komposisi antara kelompok smoker
dan non-smoker. Luas area pada sel Smoker - Cancer (+)
tampak dominan, yang menunjukkan bahwa kelompok smoker memiliki proporsi
kanker paru yang lebih besar. Hal ini konsisten dengan hasil uji
inferensial sebelumnya.
resid_pearson <- chisq.test(tab, correct = FALSE)$residuals
res_vals <- as.vector(resid_pearson)
# warna: biru (positif), merah (negatif)
res_cols <- ifelse(res_vals > 0, "#2E86AB", "#E07A5F")
par(mar = c(8,4,4,2)) # biar label nggak kepotong
barplot(res_vals,
names.arg = c("Smoker-Cancer", "Smoker-Control",
"NonSmoker-Cancer", "NonSmoker-Control"),
ylim = c(min(res_vals) - 1, max(res_vals) + 1),
col = res_cols,
las = 2,
main = "Residual Pearson pada Tabel Kontingensi",
ylab = "Residual Pearson")
abline(h = c(-2, 0, 2), lty = c(2,1,2), col = c("darkgray","black","darkgray"))
Interpretasi:
Residual Pearson menunjukkan bahwa sel Non-Smoker–Control memiliki
residual positif besar, sedangkan Smoker–Control memiliki residual
negatif besar. Hal ini menunjukkan bahwa non-perokok jauh lebih sering
tidak mengalami kanker paru dibandingkan yang diharapkan, sementara
perokok jauh lebih jarang berada pada kondisi tanpa kanker. Dengan
demikian, hubungan antara merokok dan kanker paru terutama didorong oleh
perbedaan pada kelompok yang tidak mengalami kanker.
Pada kasus ini dianalisis hubungan antara gender dan identifikasi partai politik menggunakan tabel kontingensi 2 x 3. Analisis dilakukan melalui penyusunan tabel kontingensi, perhitungan frekuensi harapan, uji chi-square independensi, analisis residual, partisi chi-square, serta visualisasi untuk melihat pola hubungan antar kategori.
Data yang diberikan adalah sebagai berikut.
| Gender | Democrat | Republican | Independent | Total |
|---|---|---|---|---|
| Female | 495 | 272 | 590 | 1357 |
| Male | 330 | 265 | 498 | 1093 |
| Total | 825 | 537 | 1088 | 2450 |
tab <- matrix(c(495, 272, 590,
330, 265, 498),
nrow = 2, byrow = TRUE)
rownames(tab) <- c("Female", "Male")
colnames(tab) <- c("Democrat", "Republican", "Independent")
tab
## Democrat Republican Independent
## Female 495 272 590
## Male 330 265 498
addmargins(tab)
## Democrat Republican Independent Sum
## Female 495 272 590 1357
## Male 330 265 498 1093
## Sum 825 537 1088 2450
Interpretasi:
Tabel kontingensi menunjukkan bahwa jumlah responden perempuan lebih
banyak daripada laki-laki. Secara deskriptif, perempuan tampak lebih
banyak berada pada kategori Democrat dan
Independent, sedangkan laki-laki tampak relatif lebih
banyak pada kategori Republican dibanding proporsi
perempuan.
Di bawah hipotesis independensi, frekuensi harapan tiap sel dihitung dengan rumus:
\[ E_{ij} = \frac{(n_{i.})(n_{.j})}{n} \]
dengan: - \(n_{i.}\) = total baris ke-\(i\) - \(n_{.j}\) = total kolom ke-\(j\) - \(n\) = total keseluruhan
expected <- chisq.test(tab, correct = FALSE)$expected
expected
## Democrat Republican Independent
## Female 456.949 297.4322 602.6188
## Male 368.051 239.5678 485.3812
Interpretasi:
Frekuensi harapan menunjukkan banyaknya observasi yang diperkirakan akan
muncul pada tiap sel jika gender dan identifikasi partai politik
saling independen. Nilai ini menjadi dasar untuk membandingkan
apakah frekuensi observasi menyimpang cukup besar dari kondisi
independensi.
\[ H_0: \text{Gender dan identifikasi partai politik saling independen} \]
\[ H_1: \text{Gender dan identifikasi partai politik tidak saling independen} \]
Statistik uji chi-square adalah:
\[ \chi^2 = \sum_i \sum_j \frac{(O_{ij} - E_{ij})^2}{E_{ij}} \]
dengan: - \(O_{ij}\) = frekuensi observasi - \(E_{ij}\) = frekuensi harapan
Derajat bebas:
\[ df = (r-1)(c-1) \]
Untuk tabel 2 x 3: \[ df = (2-1)(3-1)=2 \]
uji_chisq <- chisq.test(tab, correct = FALSE)
uji_chisq
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 12.569, df = 2, p-value = 0.001865
Interpretasi:
Karena p-value < 0.05, maka hipotesis nol ditolak. Artinya,
gender dan identifikasi partai politik tidak saling
independen. Dengan kata lain, terdapat hubungan yang signifikan
antara gender dan pilihan identifikasi partai politik.
Residual digunakan untuk melihat sel mana yang paling berkontribusi terhadap nilai chi-square.
\[ e_{ij} = \frac{O_{ij}-E_{ij}}{\sqrt{E_{ij}}} \]
\[ r_{ij} = \frac{O_{ij}-E_{ij}} {\sqrt{E_{ij}(1-p_{i+})(1-p_{+j})}} \]
Secara umum:
residual mendekati 0: observasi mendekati ekspektasi
residual positif besar: observasi lebih tinggi dari ekspektasi
residual negatif besar: observasi lebih rendah dari ekspektasi
\(|r| > 2\): kontribusi cukup besar terhadap hubungan
# Pearson residual
pearson_res <- (tab - expected) / sqrt(expected)
# Standardized residual dari output chisq.test
std_res <- chisq.test(tab, correct = FALSE)$stdres
list(
Pearson_Residual = pearson_res,
Standardized_Residual = std_res
)
## $Pearson_Residual
## Democrat Republican Independent
## Female 1.780051 -1.474656 -0.5140388
## Male -1.983409 1.643125 0.5727640
##
## $Standardized_Residual
## Democrat Republican Independent
## Female 3.272365 -2.498557 -1.032199
## Male -3.272365 2.498557 1.032199
Interpretasi:
Residual menunjukkan kategori mana yang paling menyumbang terhadap
hubungan antara gender dan identifikasi partai politik. Sel dengan
residual positif besar menunjukkan kombinasi kategori yang
muncul lebih sering daripada yang diharapkan jika tidak
ada hubungan, sedangkan residual negatif besar menunjukkan kombinasi
yang muncul lebih jarang daripada yang diharapkan.
Secara substantif, jika residual untuk Female-Democrat bernilai positif dan relatif besar, maka perempuan cenderung lebih banyak teridentifikasi sebagai Democrat daripada yang diharapkan pada kondisi independensi. Sebaliknya, jika residual untuk Male-Democrat bernilai negatif, maka laki-laki lebih sedikit teridentifikasi sebagai Democrat daripada yang diharapkan. Pola sejenis dapat dibaca untuk kategori Republican dan Independent.
Partisi chi-square dilakukan untuk mengidentifikasi bagian mana dari tabel keseluruhan yang paling bertanggung jawab terhadap hubungan yang signifikan.
Tabel partisi pertama:
tab_DR <- tab[, c("Democrat", "Republican")]
tab_DR
## Democrat Republican
## Female 495 272
## Male 330 265
chisq_DR <- chisq.test(tab_DR, correct = FALSE)
chisq_DR
##
## Pearson's Chi-squared test
##
## data: tab_DR
## X-squared = 11.555, df = 1, p-value = 0.0006758
Interpretasi:
Partisi ini menguji apakah terdapat perbedaan distribusi gender khusus
antara kategori Democrat dan
Republican. Jika p-value < 0.05, maka hubungan
antara gender dan pilihan partai terutama terlihat pada perbedaan antara
dua kategori ini.
Tabel partisi kedua:
tab_DI <- cbind(
DemRep = tab[, "Democrat"] + tab[, "Republican"],
Independent = tab[, "Independent"]
)
tab_DI
## DemRep Independent
## Female 767 590
## Male 595 498
chisq_DI <- chisq.test(tab_DI, correct = FALSE)
chisq_DI
##
## Pearson's Chi-squared test
##
## data: tab_DI
## X-squared = 1.0654, df = 1, p-value = 0.302
Interpretasi:
Partisi ini menguji apakah gender berhubungan dengan kecenderungan
memilih kelompok partai utama (Democrat + Republican)
dibanding Independent. Jika p-value tidak signifikan,
maka hubungan gender lebih banyak terjadi dalam perbedaan antara
Democrat dan Republican, bukan antara partai utama versus
Independent.
hasil_perbandingan <- data.frame(
Analisis = c("Chi-square keseluruhan",
"Partisi: Democrat vs Republican",
"Partisi: (Democrat + Republican) vs Independent"),
Statistik_Uji = c(as.numeric(uji_chisq$statistic),
as.numeric(chisq_DR$statistic),
as.numeric(chisq_DI$statistic)),
df = c(as.numeric(uji_chisq$parameter),
as.numeric(chisq_DR$parameter),
as.numeric(chisq_DI$parameter)),
p_value = c(uji_chisq$p.value,
chisq_DR$p.value,
chisq_DI$p.value)
)
hasil_perbandingan
## Analisis Statistik_Uji df p_value
## 1 Chi-square keseluruhan 12.569256 2 0.0018647504
## 2 Partisi: Democrat vs Republican 11.554519 1 0.0006758479
## 3 Partisi: (Democrat + Republican) vs Independent 1.065434 1 0.3019790141
Interpretasi:
Uji chi-square keseluruhan menunjukkan apakah secara umum terdapat
hubungan antara gender dan identifikasi partai politik. Namun, partisi
chi-square membantu menjelaskan sumber hubungan
tersebut.
Jika partisi Democrat vs Republican signifikan, sedangkan partisi (Democrat + Republican) vs Independent tidak signifikan, maka dapat disimpulkan bahwa hubungan utama berasal dari perbedaan gender dalam memilih Democrat vs Republican, bukan dari kecenderungan menjadi Independent. Dengan demikian, hasil partisi memberikan penjelasan yang lebih rinci daripada uji keseluruhan.
Untuk melihat kategori mana yang paling berkontribusi, residual distandarkan ke bentuk tabel yang lebih mudah dibaca.
round(std_res, 3)
## Democrat Republican Independent
## Female 3.272 -2.499 -1.032
## Male -3.272 2.499 1.032
Interpretasi:
Kategori dengan nilai residual absolut terbesar merupakan kategori yang
paling berkontribusi terhadap hubungan antara gender dan identifikasi
partai politik.
Secara substantif, pola yang muncul dari data ini adalah:
Female-Democrat cenderung memiliki residual positif, artinya jumlah perempuan yang mengidentifikasi diri sebagai Democrat lebih tinggi dari yang diharapkan.
Male-Democrat cenderung memiliki residual negatif, artinya laki-laki yang mengidentifikasi diri sebagai Democrat lebih rendah dari yang diharapkan.
Female-Republican cenderung memiliki residual negatif, artinya perempuan yang mengidentifikasi diri sebagai Republican lebih rendah dari yang diharapkan.
Male-Republican cenderung memiliki residual positif, artinya laki-laki yang mengidentifikasi diri sebagai Republican lebih tinggi dari yang diharapkan.
Residual pada kategori Independent biasanya lebih kecil, sehingga kontribusinya terhadap hubungan keseluruhan relatif lebih lemah dibanding dua kategori partai utama.
Dengan demikian, kategori yang paling berkontribusi terhadap hubungan antara gender dan identifikasi partai politik adalah Democrat dan Republican, bukan Independent.
warna_bar <- c("#4E79A7", "#E15759")
barplot(tab,
beside = TRUE,
legend.text = TRUE,
col = warna_bar,
main = "Distribusi Identifikasi Partai Politik berdasarkan Gender",
xlab = "Partai Politik",
ylab = "Frekuensi")
Interpretasi:
Barplot menunjukkan bahwa perempuan cenderung lebih banyak berada pada
kategori Democrat dibandingkan laki-laki, dengan perbedaan yang cukup
jelas. Sementara itu, pada kategori Republican, jumlah laki-laki dan
perempuan relatif hampir sama sehingga tidak menunjukkan perbedaan yang
berarti.
Pada kategori Independent, baik laki-laki maupun perempuan sama-sama memiliki jumlah yang besar, sehingga kategori ini tidak memperlihatkan perbedaan yang mencolok antar gender.
Dengan demikian, perbedaan distribusi pilihan partai antara laki-laki dan perempuan terutama berasal dari kategori Democrat, sedangkan kategori Republican dan Independent tidak memberikan kontribusi besar terhadap perbedaan tersebut.
mosaicplot(tab,
color = c("#A0CBE8", "#FFBE7D", "#8CD17D", "#F28E8E", "#B6992D", "#D4A6C8"),
main = "Mosaic Plot: Gender dan Identifikasi Partai Politik",
xlab = "Gender",
ylab = "Identifikasi Partai Politik")
Interpretasi:
Mosaic plot memperlihatkan perbedaan komposisi kategori partai politik
antara perempuan dan laki-laki. Ketidakseimbangan luas area antar sel
menunjukkan bahwa distribusi pilihan partai tidak sama menurut gender,
terutama pada kategori Democrat dan Republican.
par(mar = c(10,4,4,2))
res_vals <- as.vector(std_res)
res_cols <- ifelse(res_vals > 0, "#2E86AB", "#E07A5F")
barplot(res_vals,
names.arg = c("Female-Democrat", "Female-Republican", "Female-Independent",
"Male-Democrat", "Male-Republican", "Male-Independent"),
las = 2,
cex.names = 0.8,
col = res_cols,
main = "Standardized Residual pada Tabel Kontingensi",
ylab = "Standardized Residual")
abline(h = c(-2, 0, 2), lty = c(2,1,2), col = c("darkgray", "black", "darkgray"))
Interpretasi:
Plot residual memperjelas sel mana yang paling menyimpang dari kondisi
independensi. Batang berwarna biru menunjukkan residual positif,
sedangkan batang merah menunjukkan residual negatif. Batang yang
melewati batas sekitar \(\pm 2\)
menunjukkan kategori yang memberikan kontribusi besar terhadap hubungan
antara gender dan identifikasi partai politik.
Berdasarkan analisis tabel kontingensi 2 x 3, diperoleh beberapa temuan utama:
Dengan demikian, dapat disimpulkan bahwa gender berhubungan dengan identifikasi partai politik, dan hubungan tersebut terutama didorong oleh perbedaan kecenderungan antara kategori Democrat dan Republican.