1 Pendahuluan

Analisis data kategori merupakan bagian penting dalam statistika yang digunakan untuk menganalisis data yang berbentuk kategori atau klasifikasi. Data kategori sering muncul dalam penelitian sosial, ekonomi, kesehatan, pendidikan, dan teknik.

Berbeda dengan data numerik yang memiliki nilai kuantitatif, data kategori menyatakan kelompok atau label. Contoh data kategori antara lain:

  • Jenis kelamin
  • Status pekerjaan
  • Tingkat pendidikan
  • Pilihan produk

Dalam praktik penelitian, data kategori biasanya dianalisis dalam bentuk frekuensi, proporsi, atau probabilitas.

E-book ini menjelaskan konsep analisis data kategori secara sistematis mulai dari teori hingga implementasi menggunakan bahasa pemrograman R.


2 Definisi Analisis Data Kategori

2.1 Pengertian Data Kategori

Data kategori (categorical data) adalah data yang nilainya menunjukkan kategori atau kelas tertentu.

Misalkan terdapat variabel acak diskrit:

\[ X \in \{1,2,...,k\} \]

dengan probabilitas:

\[ P(X=i) = p_i, \quad i = 1,2,...,k \]

dengan syarat:

\[ \sum_{i=1}^{k} p_i = 1 \]

Distribusi ini disebut distribusi multinomial jika terdapat lebih dari dua kategori.

Jika hanya dua kategori maka disebut distribusi binomial.

2.2 Jenis Data Kategori

2.2.1 Data Nominal

Data nominal tidak memiliki urutan.

Contoh:

  • warna
  • agama
  • jenis kelamin

2.2.2 Data Ordinal

Data ordinal memiliki tingkatan atau urutan.

Contoh:

  • tingkat kepuasan
  • tingkat pendidikan

Secara matematis dapat dituliskan:

\[ X_1 < X_2 < X_3 \]

namun jarak antar kategori tidak harus sama.

2.3 Tujuan Analisis Data Kategori

Tujuan utama analisis data kategori adalah:

  1. Mendeskripsikan distribusi kategori
  2. Menguji hubungan antar variabel kategori
  3. Mengukur kekuatan hubungan
  4. Membuat model probabilitas

Metode yang umum digunakan:

  • Tabel kontingensi
  • Uji Chi-Square
  • Ukuran asosiasi
  • Model log-linear

3 Tabel Kontingensi

3.1 Pengertian

Tabel kontingensi merupakan tabel yang menampilkan frekuensi bersama dari dua variabel kategori.

Misalkan terdapat variabel:

  • \(X\) dengan \(r\) kategori
  • \(Y\) dengan \(c\) kategori

Maka tabel kontingensi berukuran:

\[ r \times c \]

Frekuensi observasi dilambangkan:

\[ n_{ij} \]

dengan:

\[ i = 1,2,...,r \]

\[ j = 1,2,...,c \]

3.2 Struktur Tabel

Jumlah baris:

\[ n_{i.} = \sum_{j=1}^{c} n_{ij} \]

Jumlah kolom:

\[ n_{.j} = \sum_{i=1}^{r} n_{ij} \]

Jumlah total:

\[ N = \sum_{i=1}^{r} \sum_{j=1}^{c} n_{ij} \]

3.3 Distribusi Peluang

Probabilitas bersama:

\[ P(X=i,Y=j) = \frac{n_{ij}}{N} \]

Probabilitas marginal:

\[ P(X=i) = \frac{n_{i.}}{N} \]

\[ P(Y=j) = \frac{n_{.j}}{N} \]

Jika dua variabel independen maka:

\[ P(X=i,Y=j) = P(X=i)P(Y=j) \]


3.4 Inferensi Tabel Kontingensi

Inferensi tabel kontingensi digunakan untuk menganalisis hubungan antara dua atau lebih variabel kategori. Data biasanya disajikan dalam bentuk tabel kontingensi, yaitu tabel yang menunjukkan frekuensi pengamatan untuk setiap kombinasi kategori.

3.4.1 Uji Independensi

Uji independensi adalah prosedur inferensia statistik yang bertujuan untuk mengevaluasi apakah terdapat hubungan (asosiasi) yang signifikan secara statistik antara dua variabel kategori. Jika kedua variabel tersebut dinyatakan saling independen, artinya probabilitas atau sebaran proporsi pada satu variabel tidak dipengaruhi oleh kategori pada variabel lainnya.

Hipotesis standar yang digunakan dalam pengujian ini adalah:

  • H0 : Variabel saling independen (tidak ada asosiasi/hubungan)
  • H1 : Variabel tidak independen (terdapat asosiasi/hubungan)

Untuk membuktikan hipotesis tersebut, terdapat dua metode pengujian yang paling umum digunakan tergantung pada ukuran sampel dan frekuensi harapan dari data, yaitu Uji Chi-Square dan Uji Exact Fisher.

3.4.1.1 Uji Chi-Square

Statistik uji:

\[ \chi^2 = \sum_{i=1}^{r}\sum_{j=1}^{c} \frac{(O_{ij}-E_{ij})^2}{E_{ij}} \]

Frekuensi harapan:

\[ E_{ij} = \frac{(Total\ Baris_i)(Total\ Kolom_j)}{Total\ Observasi} \]

Derajat bebas:

\[ df = (r-1)(c-1) \]

Contoh dengan R

set.seed(123)

data <- matrix(c(30,10,15,45), nrow=2, byrow=TRUE)
dimnames(data) <- list("Terpapar"=c("Ya","Tidak"),
                       "Kejadian"=c("Ya","Tidak"))

print(data)
##         Kejadian
## Terpapar Ya Tidak
##    Ya    30    10
##    Tidak 15    45
chisq_test <- chisq.test(data)
print(chisq_test)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  data
## X-squared = 22.264, df = 1, p-value = 2.376e-06

Contoh output:

Pearson's Chi-squared test

X-squared = 26.04
df = 1
p-value = 3.3e-07

Interpretasi: p-value < 0.05 sehingga H0 ditolak.


3.4.1.2 Uji Exact Fisher

Digunakan ketika ukuran sampel kecil atau terdapat sel pada tabel kontingensi yang memiliki frekuensi harapan (Expected) kurang dari 5.

Distribusi hipergeometrik:

\[ P(X=x)= \frac{\binom{K}{x}\binom{N-K}{n-x}} {\binom{N}{n}} \]

Contoh dengan R

N <- 40
K <- 29
n <- 20
x <- 18

dhyper(x, m=K, n=N-K, k=n)
## [1] 0.01380413
choose(29,18)*choose(11,2)/choose(40,20)
## [1] 0.01380413
data <- matrix(c(18,2,11,9), nrow=2, byrow=TRUE)

fisher.test(data)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  data
## p-value = 0.03095
## alternative hypothesis: true odds ratio is not equal to 1
## 95 percent confidence interval:
##   1.147793 78.183838
## sample estimates:
## odds ratio 
##   6.994073

Contoh output:

Fisher's Exact Test for Count Data

p-value = 0.030

Interpretasi: p-value < 0.05 sehingga H0 ditolak.

3.4.2 Contoh Pengujian Hipotesis (RD, RR, dan OR)

Selain pengujian independensi, analisis tabel kontingensi sering kali berfokus pada pengukuran seberapa besar risiko atau asosiasi antara paparan dan penyakit/kejadian. Tiga ukuran yang paling sering digunakan dalam epidemiologi dan biostatistika adalah:

  1. Risk Difference (RD): Perbedaan risiko antara kelompok terpapar dan tidak terpapar.
  2. Relative Risk (RR): Rasio risiko kelompok terpapar dibandingkan kelompok tidak terpapar.
  3. Odds Ratio (OR): Rasio odds (peluang) kejadian antara kelompok terpapar dan tidak terpapar.

Berikut adalah contoh implementasi perhitungannya menggunakan data kasus kanker paru-paru (Lung Cancer).

3.4.2.1 1. Perhitungan Menggunakan Fungsi Buatan (Custom Functions)

Kita dapat membuat fungsi R sendiri untuk menghitung estimate dan Confidence Interval (CI) 95% untuk masing-masing ukuran.

# 1. Fungsi Risk Difference (Proporsi)
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))
}

# 2. Fungsi Relative Risk (RR)
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))
}

# 3. Fungsi Odds Ratio (OR)
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))
}

# Menjalankan fungsi dengan input data
hasil_RD <- prop_diff(a=688, b=21, c=650, d=59)
hasil_RR <- relative_risk(a=688, b=21, c=650, d=59)
hasil_OR <- odds_ratio(a=688, b=21, c=650, d=59)

print("Hasil Risk Difference:")
## [1] "Hasil Risk Difference:"
print(hasil_RD)
## $estimate
## [1] 0.2517003
## 
## $ci
## [1] 0.1516343 0.3517663
print("Hasil Relative Risk:")
## [1] "Hasil Relative Risk:"
print(hasil_RR)
## $estimate
## [1] 1.958858
## 
## $ci
## [1] 1.351735 2.838667
print("Hasil Odds Ratio:")
## [1] "Hasil Odds Ratio:"
print(hasil_OR)
## $estimate
## [1] 2.973773
## 
## $ci
## [1] 1.786737 4.949427

3.4.2.2 2. Perhitungan Manual Langkah Demi Langkah

Selain menggunakan function, kita juga bisa menuliskannya secara skalar/manual langkah demi langkah sesuai rumus statistiknya:

a <- 688
b <- 21
c <- 650
d <- 59

# Risk Difference Manual
RD_manual <- (a / (a + c)) - (b / (b + d))
SE_RD <- sqrt((a/(a+c)*(1 - a/(a+c)))/(a+c) + (b/(b+d)*(1 - b/(b+d)))/(b+d))
CI_RD <- c(RD_manual - 1.96 * SE_RD, RD_manual + 1.96 * SE_RD)

# Relative Risk Manual
RR_manual <- (a / (a + c)) / (b / (b + d))
SE_RR <- sqrt(1/a - 1/(a+c) + 1/b - 1/(b+d))
CI_RR <- exp(log(RR_manual) + c(-1.96, 1.96) * SE_RR)

# Odds Ratio Manual
OR_manual <- (a * d) / (b * c)
SE_OR <- sqrt(1/a + 1/b + 1/c + 1/d)
CI_OR <- exp(log(OR_manual) + c(-1.96, 1.96) * SE_OR)

# Menampilkan semua perhitungan manual
list(
  RD = RD_manual, CI_RD = CI_RD, 
  RR = RR_manual, CI_RR = CI_RR, 
  OR = OR_manual, CI_OR = CI_OR
)
## $RD
## [1] 0.2517003
## 
## $CI_RD
## [1] 0.1516324 0.3517682
## 
## $RR
## [1] 1.958858
## 
## $CI_RR
## [1] 1.351726 2.838687
## 
## $OR
## [1] 2.973773
## 
## $CI_OR
## [1] 1.786720 4.949474

3.4.2.3 3. Perbandingan dengan Package epiR

Sebagai validasi atas perhitungan manual yang telah kita lakukan di atas, kita dapat membandingkan hasilnya secara cepat menggunakan package khusus epidemiologi yaitu epiR.

# Mengaktifkan package epiR
library(epiR)

# Membentuk matriks tabel kontingensi
table_data <- matrix(c(a, c, b, d), nrow = 2, byrow = TRUE)
colnames(table_data) <- c("Lung Cancer", "Control")
rownames(table_data) <- c("Yes", "No")

print("Tabel Kontingensi:")
## [1] "Tabel Kontingensi:"
print(table_data)
##     Lung Cancer Control
## Yes         688     650
## No           21      59
# Menganalisis menggunakan fungsi epi.2by2
res <- epi.2by2(table_data)
print(res)
##              Outcome+    Outcome-      Total                 Inc risk *
## Exposure+         688         650       1338     51.42 (48.70 to 54.13)
## Exposure-          21          59         80     26.25 (17.04 to 37.29)
## Total             709         709       1418     50.00 (47.36 to 52.64)
## 
## Point estimates and 95% CIs:
## -------------------------------------------------------------------
## Inc risk ratio                                 1.96 (1.35, 2.84)
## Inc odds ratio                                 2.97 (1.79, 4.95)
## Attrib risk in the exposed *                   25.17 (15.16, 35.18)
## Attrib fraction in the exposed (%)            48.95 (28.08, 65.39)
## Attrib risk in the population *                23.75 (13.76, 33.74)
## Attrib fraction in the population (%)         47.50 (29.16, 64.02)
## -------------------------------------------------------------------
## Uncorrected chi2 test that OR = 1: chi2(1) = 19.129 Pr>chi2 = <0.001
## Fisher exact test that OR = 1: Pr>chi2 = <0.001
##  Wald confidence limits
##  CI: confidence interval
##  * Outcomes per 100 population units

3.4.2.4 4. Interpretasi Hasil Pengujian

Setelah menjalankan code R di atas, kita akan mendapatkan angka estimasi untuk RD, RR, dan OR beserta Confidence Interval (selang kepercayaan) 95%-nya. Berikut adalah cara mudah memahami dan menginterpretasikan masing-masing metrik tersebut berdasarkan data kasus kanker paru-paru:

1. Risk Difference (RD) / Perbedaan Risiko

  • Makna: RD mengukur selisih mutlak antara risiko kelompok yang terpapar (misal: perokok) dengan risiko kelompok yang tidak terpapar.
  • Aturan: Jika nilai RD = 0, artinya tidak ada perbedaan risiko. Jika RD > 0, paparan meningkatkan risiko.
  • Interpretasi Hasil: Berdasarkan perhitungan data, diperoleh nilai RD sekitar 0.25 (atau 25%). Artinya, terdapat peningkatan risiko sebesar 25% untuk terkena kanker paru-paru pada kelompok yang terpapar dibandingkan dengan kelompok yang tidak terpapar.

2. Relative Risk (RR) / Risiko Relatif

  • Makna: RR membandingkan (membagi) risiko kejadian pada kelompok yang terpapar dengan kelompok yang tidak terpapar. Ini adalah ukuran yang paling intuitif untuk menjelaskan “berapa kali lipat” risikonya.
  • Aturan: - RR = 1 : Paparan tidak mempengaruhi risiko kejadian (independen).
    • RR > 1 : Paparan meningkatkan risiko (merupakan faktor risiko).
    • RR < 1 : Paparan menurunkan risiko (merupakan faktor pelindung/protektif).
  • Interpretasi Hasil: Berdasarkan perhitungan, diperoleh nilai RR sekitar 1.96. Artinya, individu yang terpapar memiliki risiko hampir 2 kali lipat (tepatnya 1.96 kali) untuk menderita kanker paru-paru dibandingkan dengan individu yang sama sekali tidak terpapar. Karena Confidence Interval 95% tidak memuat angka 1, kita bisa menyimpulkan bahwa paparan tersebut secara signifikan meningkatkan risiko kanker paru-paru.

3. Odds Ratio (OR) / Rasio Peluang

  • Makna: OR membandingkan peluang (odds) terjadinya penyakit pada kelompok terpapar dengan peluang pada kelompok tidak terpapar. OR sering digunakan pada desain penelitian case-control karena kita tidak bisa menghitung insiden (risiko) secara langsung.
  • Aturan: Sama seperti RR, batas netralnya adalah angka 1.
  • Interpretasi Hasil: Berdasarkan perhitungan, diperoleh nilai OR sekitar 2.97. Artinya, peluang (odds) seseorang untuk menderita kanker paru-paru jika ia terpapar adalah hampir 3 kali lipat (2.97 kali) lebih besar dibandingkan peluang jika ia tidak terpapar.

Kesimpulan Umum: Dari ketiga pengujian di atas, baik RD, RR, maupun OR menunjukkan hasil yang searah: paparan tersebut terbukti secara statistik memiliki asosiasi yang kuat dan merupakan faktor risiko utama terhadap kejadian kanker paru-paru.

4 Ukuran Asosiasi

Ukuran asosiasi digunakan untuk mengetahui kekuatan hubungan antara variabel kategori.

4.1 Statistik Chi-Square

Statistik chi-square didefinisikan sebagai:

\[ \chi^2 = \sum_{i=1}^{r} \sum_{j=1}^{c} \frac{(O_{ij}-E_{ij})^2}{E_{ij}} \]

dengan:

  • \(O_{ij}\) = frekuensi observasi
  • \(E_{ij}\) = frekuensi harapan

Frekuensi harapan:

\[ E_{ij} = \frac{n_{i.} n_{.j}}{N} \]

Derajat bebas:

\[ df = (r-1)(c-1) \]

4.2 Koefisien Phi

Untuk tabel \(2 \times 2\) digunakan koefisien phi:

\[ \phi = \sqrt{\frac{\chi^2}{N}} \]

4.3 Koefisien Kontingensi

Koefisien kontingensi:

\[ C = \sqrt{\frac{\chi^2}{\chi^2 + N}} \]

4.4 Cramer’s V

Untuk tabel lebih besar:

\[ V = \sqrt{ \frac{\chi^2}{N(k-1)} } \]

dengan:

\[ k = \min(r,c) \]


5 Contoh Perhitungan Manual

Kopi Teh Jus Total
Laki-laki 30 10 10 50
Perempuan 20 25 5 50
Total 50 35 15 100

Frekuensi harapan:

\[ E_{ij} = \frac{n_{i.} n_{.j}}{N} \]

Contoh:

\[ E_{11} = \frac{50 \times 50}{100} = 25 \]

Statistik chi-square:

\[ \chi^2 = \sum \frac{(O_{ij}-E_{ij})^2}{E_{ij}} \]

Misalkan diperoleh:

\[ \chi^2 = 10.48 \]

Derajat bebas:

\[ df = (2-1)(3-1) = 2 \]


6 Analisis Menggunakan R

data <- matrix(c(30,10,10,
                 20,25,5),
               nrow=2,
               byrow=TRUE)

colnames(data) <- c("Kopi","Teh","Jus")
rownames(data) <- c("Laki-laki","Perempuan")

data

Uji Chi-Square:

chisq.test(data)

Menghitung Cramer’s V:

library(lsr)
cramersV(data)

7 Interpretasi Hasil

Misalkan hasil uji menghasilkan:

\[ \chi^2 = 10.48 \]

\[ p = 0.005 \]

Dengan:

\[ \alpha = 0.05 \]

Karena:

\[ p < \alpha \]

maka hipotesis nol ditolak.

Artinya terdapat hubungan signifikan antara variabel kategori.

8 Contoh Studi Kasus Inferensi Tabel Kontingensi Dua Arah (Tugas)

8.1 Pendahuluan

Tabel kontingensi dua arah digunakan untuk menyajikan dan menganalisis hubungan antara dua variabel kategorik. Melalui tabel ini, dapat dilihat pola distribusi data serta diuji apakah terdapat asosiasi antara kedua variabel.

Analisis yang dilakukan meliputi perhitungan ukuran asosiasi seperti Risk Difference (RD), Risk Ratio (RR), dan Odds Ratio (OR), serta pengujian hipotesis menggunakan beberapa metode seperti uji dua proporsi, uji chi-square, likelihood ratio, dan Fisher exact test.

Pada bagian berikut, akan disajikan dua kasus analisis tabel kontingensi dua arah beserta interpretasinya.


8.2 Kasus 1: Tabel Kontingensi 2x2

Analisis ini bertujuan untuk mengkaji hubungan antara kebiasaan merokok dan kejadian kanker paru menggunakan pendekatan tabel kontingensi 2x2. Selain itu, dilakukan berbagai uji inferensi untuk memperkuat kesimpulan statistik dan substantif.

8.2.1 Data dan Penyusunan Tabel Kontingensi

data_kasus1 <- matrix(c(688,650,
                        21,59),
                      nrow = 2,
                      byrow = TRUE)

rownames(data_kasus1) <- c("Smoker", "Non-Smoker")
colnames(data_kasus1) <- c("Cancer", "Control")

data_kasus1
##            Cancer Control
## Smoker        688     650
## Non-Smoker     21      59
addmargins(data_kasus1)
##            Cancer Control  Sum
## Smoker        688     650 1338
## Non-Smoker     21      59   80
## Sum           709     709 1418

Tabel kontingensi menunjukkan distribusi kejadian kanker paru berdasarkan status merokok. Dari data terlihat bahwa:

  • Pada kelompok Smoker, terdapat 688 kasus kanker dari total 1338 individu.
  • Pada kelompok Non-Smoker, hanya terdapat 21 kasus kanker dari total 80 individu.

Secara proporsional, jumlah kejadian kanker pada kelompok perokok jauh lebih tinggi dibandingkan non-perokok. Perbedaan ini mengindikasikan adanya kemungkinan hubungan antara kebiasaan merokok dan kejadian kanker paru.

Mengapa demikian:

Jika tidak ada hubungan, maka proporsi kanker pada kedua kelompok seharusnya relatif sama. Namun, data menunjukkan ketimpangan yang cukup besar, sehingga memunculkan indikasi awal adanya asosiasi.

8.2.2 Metode Analisis

Metode yang digunakan meliputi:

  • Estimasi proporsi
  • Interval kepercayaan (proporsi, RD, RR, OR)
  • Uji dua proporsi
  • Uji Chi-Square
  • Likelihood Ratio Test (G²)
  • Fisher Exact Test
  • Visualisasi data

8.2.3 Hasil dan Interpretasi

8.2.3.1 Estimasi Proporsi

p_smoker <- 688 / (688 + 650)
p_nonsmoker <- 21 / (21 + 59)

p_smoker
## [1] 0.5142003
p_nonsmoker
## [1] 0.2625

Interpretasi: Proporsi kejadian kanker dihitung sebagai berikut:

  • Proporsi pada Smoker ≈ 0.514
  • Proporsi pada Non-Smoker ≈ 0.262

Artinya, sekitar 51.4% perokok mengalami kanker, sedangkan hanya 26.2% non-perokok yang mengalami kanker.

Perokok memiliki kemungkinan hampir dua kali lebih besar untuk mengalami kanker paru dibandingkan non-perokok.

Mengapa demikian:

Perbedaan ini muncul karena jumlah kasus kanker pada perokok jauh lebih dominan. Hal ini mencerminkan adanya faktor risiko dari kebiasaan merokok terhadap kanker paru.


8.2.3.2 Interval Kepercayaan

prop.test(c(688,21), c(1338,80))
## 
##  2-sample test for equality of proportions with continuity correction
## 
## data:  c(688, 21) out of c(1338, 80)
## X-squared = 18.136, df = 1, p-value = 2.057e-05
## alternative hypothesis: two.sided
## 95 percent confidence interval:
##  0.1450106 0.3583900
## sample estimates:
##    prop 1    prop 2 
## 0.5142003 0.2625000

Interpretasi:

Interval kepercayaan 95% memberikan rentang nilai proporsi sebenarnya di populasi.

  • Interval proporsi perokok berada pada nilai yang relatif tinggi
  • Interval proporsi non-perokok berada pada nilai yang lebih rendah

Jika kedua interval tidak tumpang tindih (atau hanya sedikit overlap), maka perbedaan proporsi dapat dianggap signifikan secara statistik.

Mengapa demikian:

Interval kepercayaan mempertimbangkan variasi sampel. Ketika dua interval terpisah, berarti perbedaan yang diamati tidak hanya disebabkan oleh kebetulan sampel, tetapi mencerminkan perbedaan nyata di populasi.


8.2.3.3 Ukuran Asosiasi

RD <- p_smoker - p_nonsmoker
RR <- p_smoker / p_nonsmoker
OR <- (688 * 59) / (650 * 21)

RD
## [1] 0.2517003
RR
## [1] 1.958858
OR
## [1] 2.973773

Interpretasi:

  • Risk Difference (RD) bernilai positif (sekitar 0.25), menunjukkan adanya selisih risiko yang cukup besar antara perokok dan non-perokok.
  • Risk Ratio (RR) > 1, yang berarti risiko kanker pada perokok lebih tinggi dibandingkan non-perokok.
  • Odds Ratio (OR) > 1, menunjukkan bahwa peluang terjadinya kanker jauh lebih besar pada perokok.

Perokok memiliki risiko dan peluang yang secara signifikan lebih tinggi untuk mengalami kanker paru dibandingkan non-perokok.

Mengapa demikian:

Nilai RR dan OR yang lebih besar dari 1 secara matematis menunjukkan bahwa kejadian kanker lebih sering terjadi pada kelompok perokok. Hal ini konsisten dengan teori epidemiologi bahwa merokok merupakan faktor risiko utama kanker paru.


8.2.3.4 Uji Dua Proporsi

prop.test(c(688,21), c(1338,80), correct = FALSE)
## 
##  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

Interpretasi:

Hipotesis yang diuji:

  • H0: Proporsi kanker pada perokok = proporsi kanker pada non-perokok
  • H1: Proporsi berbeda

Hasil menunjukkan p-value < 0.05, sehingga:

➡️ Keputusan: Tolak H0

➡️ Kesimpulan: Terdapat perbedaan signifikan antara proporsi kanker pada perokok dan non-perokok.

Perbedaan proporsi yang cukup besar (51.4% vs 26.2%) menghasilkan statistik uji yang tinggi, sehingga probabilitas bahwa perbedaan ini terjadi secara kebetulan menjadi sangat kecil.

8.2.3.5 Uji Chi-Square

chisq.test(data_kasus1, correct = FALSE)
## 
##  Pearson's Chi-squared test
## 
## data:  data_kasus1
## X-squared = 19.129, df = 1, p-value = 1.222e-05

Interpretasi:

Hipotesis:

  • H0: Tidak ada hubungan antara merokok dan kanker
  • H1: Ada hubungan

Hasil menunjukkan p-value sangat kecil (< 0.05), sehingga:

➡️ Keputusan: Tolak H0

➡️ Kesimpulan: Terdapat hubungan antara kebiasaan merokok dan kejadian kanker paru.

Mengapa demikian:

Nilai chi-square menjadi besar karena terdapat perbedaan signifikan antara frekuensi observasi dan frekuensi harapan, khususnya pada sel kanker pada perokok yang jauh lebih tinggi dari yang diharapkan jika tidak ada hubungan.

8.2.3.6 Likelihood Ratio Test (G²)

library(DescTools)
## Warning: package 'DescTools' was built under R version 4.5.3
GTest(data_kasus1)
## 
##  Log likelihood ratio (G-test) test of independence without correction
## 
## data:  data_kasus1
## G = 19.878, X-squared df = 1, p-value = 8.254e-06

Interpretasi:

Uji G² menghasilkan kesimpulan yang sama dengan uji chi-square, yaitu:

➡️ Terdapat hubungan signifikan antara merokok dan kanker paru.

Mengapa demikian:

Uji G² menggunakan pendekatan likelihood, tetapi tetap mengukur deviasi antara data observasi dan model tanpa hubungan. Karena deviasinya besar, hasilnya menjadi signifikan.

8.2.3.7 Fisher Exact Test

fisher.test(data_kasus1)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  data_kasus1
## 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:

Hasil uji Fisher juga menunjukkan p-value < 0.05, sehingga:

➡️ Terdapat hubungan signifikan antara merokok dan kanker paru.

Mengapa demikian:

Fisher exact test menghitung probabilitas secara eksak. Hasil yang tetap signifikan menunjukkan bahwa hubungan ini sangat kuat dan robust, bahkan tanpa asumsi aproksimasi.


8.2.3.8 Perbandingan Hasil

data.frame(
  Metode = c("Uji Dua Proporsi","Chi-Square","Likelihood Ratio","Fisher Exact"),
  P_Value = c(
    prop.test(c(688,21), c(1338,80), correct=FALSE)$p.value,
    chisq.test(data_kasus1, correct=FALSE)$p.value,
    GTest(data_kasus1)$p.value,
    fisher.test(data_kasus1)$p.value
  )
)
##             Metode      P_Value
## 1 Uji Dua Proporsi 1.221601e-05
## 2       Chi-Square 1.221601e-05
## 3 Likelihood Ratio 8.254410e-06
## 4     Fisher Exact 1.476303e-05

Interpretasi: Semua metode pengujian (uji dua proporsi, chi-square, G², dan Fisher) memberikan hasil yang konsisten:

  • Hipotesis yang diuji sama (tidak ada hubungan/perbedaan)
  • Semua menghasilkan p-value sangat kecil
  • Semua menolak H0

Makna:

➡️ Kesimpulan menjadi sangat kuat dan dapat dipercaya, karena tidak bergantung pada satu metode saja.

Mengapa demikian:

Ketika berbagai metode statistik yang berbeda memberikan hasil yang sama, maka kemungkinan kesalahan inferensi menjadi sangat kecil. Hal ini menunjukkan bahwa hubungan yang ditemukan benar-benar berasal dari pola data, bukan kebetulan.


8.2.4 Visualisasi

8.2.4.1 Mosaic Plot

id="mos1"
mosaicplot(data_kasus1, color=TRUE,
           main="Mosaic Plot: Merokok vs Kanker Paru")

Interpretasi:

Mosaic plot digunakan untuk menggambarkan hubungan antara dua variabel kategorik berdasarkan proporsi data.

  • Luas kotak merepresentasikan frekuensi pada setiap kombinasi kategori.

  • Warna menunjukkan deviasi antara frekuensi observasi dengan frekuensi harapan:

    • Warna yang semakin mencolok menandakan perbedaan yang semakin besar.
  • Jika tidak ada hubungan, maka pembagian area akan terlihat relatif seimbang.

Cara membaca: Perhatikan ukuran dan warna tiap kotak. Perbedaan luas dan warna yang mencolok antar kategori menunjukkan adanya asosiasi antara status merokok dan kanker paru.


8.2.4.2 2. Barplot Proporsi

id="bar1"
barplot(prop.table(data_kasus1,1),
        beside=TRUE,
        col=c("red","blue"),
        legend=TRUE,
        main="Proporsi Kanker Paru")

Interpretasi:

Barplot ini menunjukkan perbandingan proporsi kejadian kanker pada masing-masing kelompok.

  • Setiap kelompok memiliki dua batang: Cancer dan Control
  • Tinggi batang menunjukkan besar proporsi

Cara membaca: Jika batang Cancer pada kelompok smoker lebih tinggi dibanding non-smoker, maka proporsi kanker pada smoker lebih besar, yang mengindikasikan adanya hubungan.


8.2.4.3 3. Plot Residual (Assoc Plot)

id="assoc1"
library(vcd)
## Warning: package 'vcd' was built under R version 4.5.3
## Loading required package: grid
assoc(data_kasus1, shade=TRUE)

Interpretasi:

Plot ini menampilkan residual Pearson untuk melihat kontribusi tiap sel terhadap uji chi-square.

  • Warna biru → frekuensi observasi lebih besar dari harapan
  • Warna merah → frekuensi observasi lebih kecil dari harapan
  • Intensitas warna → semakin gelap berarti penyimpangan semakin besar
  • Ukuran kotak → menunjukkan besar kontribusi terhadap statistik uji

Cara membaca: Sel dengan warna paling mencolok (biru tua atau merah tua) merupakan sel yang paling berkontribusi terhadap hubungan antar variabel.


Kesimpulan Visual:

Ketiga visualisasi menunjukkan pola yang konsisten, yaitu adanya perbedaan distribusi antara kelompok smoker dan non-smoker, sehingga mendukung hasil uji statistik bahwa terdapat hubungan antara kebiasaan merokok dan kejadian kanker paru.


8.2.5 Kesimpulan

Berdasarkan hasil analisis:

  • Proporsi kanker paru lebih tinggi pada kelompok smoker.
  • Nilai RR > 1 menunjukkan bahwa merokok meningkatkan risiko kanker paru.
  • Semua uji statistik menunjukkan hasil signifikan (p < 0.05).
  • Jadi, terdapat hubungan yang signifikan antara kebiasaan merokok dan kejadian kanker paru.

8.3 Kasus 2: Tabel Kontingensi 2x3

Analisis ini bertujuan untuk mengkaji hubungan antara gender dan identifikasi partai politik menggunakan tabel kontingensi 2x3 serta uji chi-square.

8.3.1 Data dan Penyusunan Tabel Kontingensi

data_kasus2 <- matrix(c(495,272,590,
                        330,265,498),
                      nrow = 2,
                      byrow = TRUE)

rownames(data_kasus2) <- c("Female", "Male")
colnames(data_kasus2) <- c("Democrat", "Republican", "Independent")

data_kasus2
##        Democrat Republican Independent
## Female      495        272         590
## Male        330        265         498
addmargins(data_kasus2)
##        Democrat Republican Independent  Sum
## Female      495        272         590 1357
## Male        330        265         498 1093
## Sum         825        537        1088 2450

Interpretasi:

Tabel kontingensi menunjukkan distribusi responden berdasarkan gender dan identifikasi partai politik. Dari data terlihat bahwa:

  • Pada kelompok Female, jumlah terbesar terdapat pada kategori Independent (590), diikuti Democrat (495), dan Republican (272).
  • Pada kelompok Male, pola yang sama juga terlihat, yaitu jumlah terbesar pada Independent (498), kemudian Democrat (330), dan Republican (265).

Secara umum, baik laki-laki maupun perempuan cenderung lebih banyak mengidentifikasi diri sebagai Independent, yang mengindikasikan bahwa preferensi non-partisan cukup dominan pada kedua kelompok gender.

8.3.2 Metode Analisis

Metode yang digunakan:

  • Uji Chi-Square independensi
  • Residual Pearson
  • Partisi Chi-Square
  • Visualisasi (mosaic plot dan barplot)

8.3.3 Hasil dan Interpretasi

8.3.3.1 Frekuensi Harapan

uji_chi <- chisq.test(data_kasus2)
uji_chi$expected
##        Democrat Republican Independent
## Female  456.949   297.4322    602.6188
## Male    368.051   239.5678    485.3812

Interpretasi:

Frekuensi harapan menggambarkan jumlah observasi yang seharusnya terjadi jika tidak ada hubungan antara gender dan identifikasi partai politik.

Nilai frekuensi harapan dihitung berdasarkan perkalian proporsi marginal baris dan kolom. Dengan membandingkan frekuensi observasi dan frekuensi harapan:

  • Jika nilainya mendekati → hubungan lemah / tidak ada hubungan
  • Jika jauh berbeda → ada indikasi hubungan

Pada data ini, terlihat beberapa sel memiliki perbedaan yang cukup mencolok antara frekuensi observasi dan harapan, yang menjadi indikasi awal adanya hubungan antara gender dan pilihan partai.

8.3.3.2 Uji Chi-Square

uji_chi
## 
##  Pearson's Chi-squared test
## 
## data:  data_kasus2
## X-squared = 12.569, df = 2, p-value = 0.001865

Interpretasi:

Uji chi-square digunakan untuk menguji hipotesis:

  • H0: Tidak ada hubungan antara gender dan identifikasi partai politik
  • H1: Ada hubungan antara gender dan identifikasi partai politik

Berdasarkan hasil uji, diperoleh nilai p-value < 0.05, sehingga:

➡️ Keputusan: Tolak H0

➡️ Kesimpulan: Terdapat hubungan yang signifikan antara gender dan pilihan partai politik.

8.3.3.3 Residual Pearson

uji_chi$residuals
##         Democrat Republican Independent
## Female  1.780051  -1.474656  -0.5140388
## Male   -1.983409   1.643125   0.5727640

Interpretasi: Residual Pearson digunakan untuk mengidentifikasi sel mana yang paling berkontribusi terhadap nilai chi-square.

  • Residual positif → observasi lebih besar dari harapan
  • Residual negatif → observasi lebih kecil dari harapan
  • Nilai absolut besar (>|2|) → kontribusi signifikan

Dari hasil residual:

  • Kategori dengan residual besar menunjukkan adanya deviasi kuat dari kondisi independen
  • Sel dengan nilai residual terbesar merupakan penyumbang utama hubungan antara variabel

Hal ini menunjukkan bahwa pada kategori tertentu, preferensi partai tidak terjadi secara acak, tetapi dipengaruhi oleh gender.

8.3.3.4 Visualisasi 1: Mosaic Plot

mosaicplot(data_kasus2, color = TRUE,
           main = "Mosaic Plot Gender vs Partai")

Penjelasan: Mosaic plot memberikan visualisasi hubungan antara gender dan partai politik dengan mempertimbangkan proporsi dan deviasi dari nilai harapan.

  • Warna biru menunjukkan frekuensi observasi lebih besar dari harapan
  • Warna merah menunjukkan frekuensi lebih kecil dari harapan
  • Intensitas warna menunjukkan besarnya deviasi

Interpretasi:

Dari plot terlihat bahwa beberapa kategori memiliki warna yang cukup kontras, yang menunjukkan adanya kontribusi kuat terhadap hubungan antara gender dan pilihan partai.

8.3.3.5 Visualisasi 2: Barplot Proporsi

barplot(prop.table(data_kasus2,1),
        beside = TRUE,
        legend = TRUE,
        main = "Proporsi Partai Berdasarkan Gender")

Penjelasan:

Barplot proporsi menunjukkan distribusi pilihan partai dalam masing-masing gender.

Interpretasi:

  • Kedua gender menunjukkan pola yang relatif mirip, dengan dominasi kategori Independent
  • Namun terdapat perbedaan proporsi pada masing-masing kategori, yang mengindikasikan bahwa gender tetap memiliki pengaruh terhadap preferensi partai

8.3.3.6 Partisi Chi-Square

# Democrat vs Republican
sub1 <- data_kasus2[,1:2]
uji_sub1 <- chisq.test(sub1)

Uji ini membandingkan apakah terdapat perbedaan distribusi antara Democrat dan Republican berdasarkan gender.

Jika p-value kecil:

➡️ Ada perbedaan signifikan antara laki-laki dan perempuan dalam memilih dua partai utama tersebut.

Jika p-value besar:

➡️ Tidak ada perbedaan signifikan.

# (Democrat + Republican) vs Independent
sub2 <- cbind(rowSums(data_kasus2[,1:2]), data_kasus2[,3])
uji_sub2 <- chisq.test(sub2)

uji_sub1
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  sub1
## X-squared = 11.178, df = 1, p-value = 0.0008279
uji_sub2
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  sub2
## X-squared = 0.98267, df = 1, p-value = 0.3215

Uji ini mengelompokkan dua partai utama dan membandingkannya dengan Independent.

Jika hasil signifikan:

➡️ Perbedaan utama terletak pada kecenderungan memilih Independent dibandingkan partai utama.

8.3.3.7 Perbandingan Hasil

data.frame(
  Metode = c("Chi-Square Total","Dem vs Rep","(Dem+Rep) vs Indep"),
  P_Value = c(uji_chi$p.value,
              uji_sub1$p.value,
              uji_sub2$p.value)
)
##               Metode      P_Value
## 1   Chi-Square Total 0.0018647504
## 2         Dem vs Rep 0.0008278839
## 3 (Dem+Rep) vs Indep 0.3215393863

Interpretasi: Hasil partisi chi-square membantu menjelaskan sumber hubungan yang ditemukan pada uji keseluruhan.

  • Jika salah satu partisi signifikan → bagian tersebut menjadi penyumbang utama
  • Jika keduanya signifikan → hubungan tersebar di beberapa kategori
  • Jika hanya satu yang dominan → hubungan lebih spesifik

Dengan demikian, uji keseluruhan memberikan gambaran umum, sedangkan partisi memberikan penjelasan yang lebih detail.

8.3.3.8 Interpretasi Kontribusi

Berdasarkan nilai residual Pearson dan hasil partisi, kategori dengan nilai residual terbesar (positif atau negatif) merupakan kontributor utama terhadap hubungan.

  • Kategori tersebut menunjukkan pola yang paling berbeda dari kondisi acak
  • Artinya, preferensi pada kategori tersebut sangat dipengaruhi oleh gender

8.3.4 Kesimpulan

Terdapat hubungan yang signifikan antara gender dan identifikasi partai politik berdasarkan uji chi-square. Analisis lebih lanjut menggunakan residual Pearson dan partisi chi-square menunjukkan bahwa hubungan ini tidak merata pada seluruh kategori, melainkan dipengaruhi secara kuat oleh kategori tertentu.

Visualisasi dan analisis tambahan memperkuat bahwa preferensi terhadap partai politik, khususnya kategori tertentu, memiliki pola yang berbeda antara laki-laki dan perempuan. Oleh karena itu, dapat disimpulkan bahwa gender merupakan faktor yang berasosiasi dengan identifikasi partai politik dalam data ini.