Analisis data kategori (categorical data analysis) merupakan cabang ilmu statistika yang secara khusus membahas metode-metode statistik untuk data yang bersifat kualitatif, yaitu data yang nilainya menyatakan keanggotaan suatu observasi pada kelompok atau kategori tertentu, bukan berupa besaran numerik yang dapat diukur secara kontinu. Agresti (2013) mendefinisikan data kategori sebagai data di mana setiap observasi termasuk ke dalam salah satu dari sekumpulan kategori yang saling lepas (mutually exclusive) dan lengkap (exhaustive).
Berbeda dengan data kuantitatif yang dapat dijumlahkan, dirata-ratakan, atau dioperasikan secara aritmatika, data kategori hanya dapat dihitung frekuensinya pada masing-masing kategori. Oleh karena itu, metode analisis yang digunakan pun berbeda, misalnya menggunakan tabel kontingensi, uji chi-square, ukuran asosiasi seperti odds ratio, hingga model regresi khusus seperti regresi logistik dan model loglinear.
Secara umum, tujuan analisis data kategori adalah untuk:
Variabel kategori memiliki beberapa karakteristik utama sebagai berikut.
Skala Nominal Kategori tidak memiliki urutan atau tingkatan tertentu. Contoh: jenis kelamin (laki-laki, perempuan), status merokok (merokok, tidak merokok), golongan darah (A, B, AB, O).
Skala Ordinal Kategori memiliki urutan atau tingkatan yang bermakna, namun jarak antar kategori tidak dapat diukur secara pasti. Contoh: tingkat pendidikan (SD, SMP, SMA, Perguruan Tinggi), tingkat kepuasan (sangat tidak puas, tidak puas, puas, sangat puas).
Bersifat Diskrit Jumlah kategori bersifat terbatas (finite) dan dapat dihitung (countable), berbeda dengan data kontinu yang nilainya dapat berupa bilangan real dalam suatu interval.
Tidak Dapat Dioperasikan Secara Aritmatika Operasi penjumlahan, pengurangan, perkalian, atau pembagian secara langsung terhadap nilai kategori tidak memiliki makna. Sebagai contoh, kategori “SMA” tidak dapat dijumlahkan dengan kategori “SMP”.
Diringkas dalam Bentuk Frekuensi atau Proporsi Karena tidak dapat dioperasikan secara numerik, data kategori umumnya diringkas menggunakan frekuensi (jumlah observasi pada tiap kategori) atau proporsi/persentase.
Analisis data kategori banyak diterapkan pada berbagai bidang ilmu, di antaranya:
Penerapan-penerapan tersebut umumnya diawali dengan penyusunan tabel kontingensi, dilanjutkan dengan uji asosiasi (misalnya uji chi-square), serta perhitungan ukuran asosiasi seperti odds ratio dan relative risk untuk mengukur kekuatan hubungan antar variabel.
Referensi:
Agresti, A. (2013). Categorical Data Analysis (3rd ed.). Hoboken, NJ: Wiley.
Sudjana. (2005). Metoda Statistika. Bandung: Tarsito.
Tabel kontingensi (contingency table) adalah tabel yang digunakan untuk menyajikan dan menganalisis hubungan antara dua atau lebih variabel kategori dengan menampilkan frekuensi bersama (joint frequency) dari kombinasi kategori-kategori tersebut (Agresti, 2013). Tabel kontingensi juga sering disebut tabel silang (cross tabulation) karena menyilangkan kategori dari satu variabel dengan kategori dari variabel lainnya.
Tabel kontingensi menjadi dasar dari berbagai analisis data kategori, seperti uji independensi chi-square, perhitungan odds ratio, relative risk, hingga analisis loglinear untuk tabel berdimensi lebih tinggi.
Secara umum, tabel kontingensi berukuran \(r \times c\) terdiri atas \(r\) baris (kategori variabel \(X\)) dan \(c\) kolom (kategori variabel \(Y\)), dengan \(n_{ij}\) menyatakan frekuensi observasi pada baris ke-\(i\) dan kolom ke-\(j\).
Untuk kasus khusus tabel \(2 \times 2\), strukturnya adalah sebagai berikut.
| \(Y=1\) (Kejadian) | \(Y=0\) (Tidak Kejadian) | Total | |
|---|---|---|---|
| \(X=1\) (Terpapar) | \(a\) | \(b\) | \(a+b\) |
| \(X=0\) (Tidak Terpapar) | \(c\) | \(d\) | \(c+d\) |
| Total | \(a+c\) | \(b+d\) | \(n\) |
Keterangan:
Distribusi peluang bersama (joint distribution) menyatakan peluang terjadinya kombinasi kategori dari dua variabel secara bersamaan, dinotasikan sebagai:
\[ P(X=i, Y=j) = \frac{n_{ij}}{n} \]
Sebagai ilustrasi pada tabel \(2\times 2\) di atas, peluang bersama seseorang terpapar dan mengalami kejadian adalah:
\[ P(X=1, Y=1) = \frac{a}{n} \]
sedangkan peluang bersama seseorang tidak terpapar dan tidak mengalami kejadian adalah:
\[ P(X=0, Y=0) = \frac{d}{n} \]
Seluruh nilai joint distribution pada tabel harus memenuhi syarat:
\[ \sum_{i} \sum_{j} P(X=i, Y=j) = 1 \]
Distribusi marginal adalah distribusi peluang dari salah satu variabel saja, tanpa memperhatikan kategori variabel lainnya. Distribusi ini diperoleh dengan menjumlahkan sel-sel pada baris atau kolom yang bersesuaian, sehingga disebut juga sebagai “total pinggir” (marginal totals).
\[ P(X=1) = \frac{a+b}{n}, \qquad P(X=0) = \frac{c+d}{n} \]
\[ P(Y=1) = \frac{a+c}{n}, \qquad P(Y=0) = \frac{b+d}{n} \]
Distribusi marginal berguna untuk melihat proporsi keseluruhan masing-masing kategori tanpa memandang hubungannya dengan variabel lain.
Peluang bersyarat (conditional probability) menyatakan peluang terjadinya suatu kategori variabel \(Y\) dengan syarat kategori variabel \(X\) telah diketahui, dirumuskan sebagai:
\[ P(Y=j \mid X=i) = \frac{P(X=i, Y=j)}{P(X=i)} \]
Untuk tabel \(2 \times 2\), peluang bersyarat seseorang mengalami kejadian dengan syarat ia terpapar adalah:
\[ P(Y=1 \mid X=1) = \frac{P(X=1, Y=1)}{P(X=1)} = \frac{a/n}{(a+b)/n} = \frac{a}{a+b} \]
sedangkan peluang bersyarat seseorang mengalami kejadian dengan syarat ia tidak terpapar adalah:
\[ P(Y=1 \mid X=0) = \frac{c}{c+d} \]
Perbandingan antara kedua peluang bersyarat inilah yang nantinya mendasari perhitungan ukuran asosiasi seperti relative risk pada Bagian 3.
Ukuran asosiasi (measures of association) digunakan untuk mengukur kekuatan dan arah hubungan antara dua variabel kategori pada tabel kontingensi \(2 \times 2\). Tiga ukuran yang paling umum digunakan adalah odds, odds ratio, dan relative risk.
Odds menyatakan perbandingan antara peluang suatu kejadian terjadi dengan peluang kejadian tersebut tidak terjadi, dirumuskan secara umum sebagai:
\[ \text{Odds} = \frac{P(Y=1)}{1-P(Y=1)} = \frac{P(Y=1)}{P(Y=0)} \]
Pada tabel kontingensi \(2\times 2\), odds kejadian pada kelompok terpapar (\(X=1\)) adalah:
\[ \text{Odds}_{X=1} = \frac{P(Y=1 \mid X=1)}{P(Y=0 \mid X=1)} = \frac{a/(a+b)}{b/(a+b)} = \frac{a}{b} \]
dan odds kejadian pada kelompok tidak terpapar (\(X=0\)) adalah:
\[ \text{Odds}_{X=0} = \frac{c}{d} \]
Interpretasi:
Odds ratio (OR) mengukur perbandingan odds antara dua kelompok (misalnya kelompok terpapar dan tidak terpapar), dan merupakan salah satu ukuran asosiasi yang paling banyak digunakan karena dapat dihitung baik pada studi kohort maupun studi kasus-kontrol (case-control).
\[ OR = \frac{\text{Odds}_{X=1}}{\text{Odds}_{X=0}} = \frac{a/b}{c/d} = \frac{ad}{bc} \]
Interpretasi:
Semakin jauh nilai \(OR\) dari 1 (baik ke atas maupun ke bawah), semakin kuat asosiasi antara kedua variabel.
Relative risk (RR), atau disebut juga risiko relatif, mengukur perbandingan proporsi (risiko) kejadian antara dua kelompok, dan hanya dapat dihitung secara sahih pada studi kohort atau studi cross-sectional (bukan pada studi kasus-kontrol).
\[ RR = \frac{P(Y=1 \mid X=1)}{P(Y=1 \mid X=0)} = \dfrac{\dfrac{a}{a+b}}{\dfrac{c}{c+d}} \]
Interpretasi:
Perlu dicatat bahwa ketika suatu kejadian tergolong jarang terjadi (rare event, biasanya proporsi kejadian di bawah 10%), nilai odds ratio akan mendekati nilai relative risk, sehingga OR sering digunakan sebagai pendekatan (approximation) terhadap RR terutama pada studi kasus-kontrol di mana RR tidak dapat dihitung secara langsung.
Pada bagian ini disajikan dua contoh kasus perhitungan manual agar konsep yang telah dijelaskan pada Bagian 3 dapat dipahami secara lebih mendalam.
Misalkan diperoleh data hasil survei terhadap 200 orang sebagai berikut.
| Kanker | Tidak Kanker | Total | |
|---|---|---|---|
| Merokok | 60 | 40 | 100 |
| Tidak Merokok | 20 | 80 | 100 |
| Total | 80 | 120 | 200 |
Sehingga \(a=60\), \(b=40\), \(c=20\), \(d=80\), dan \(n=200\).
1. Membuat Tabel Kontingensi
Tabel kontingensi telah disajikan di atas dengan \(a=60,\ b=40,\ c=20,\ d=80\).
2. Menghitung Peluang Bersyarat
\[ P(\text{Kanker} \mid \text{Merokok}) = \frac{a}{a+b} = \frac{60}{100} = 0.60 \]
\[ P(\text{Kanker} \mid \text{Tidak Merokok}) = \frac{c}{c+d} = \frac{20}{100} = 0.20 \]
3. Menghitung Odds
\[ \text{Odds}_{\text{merokok}} = \frac{a}{b} = \frac{60}{40} = 1.5 \]
\[ \text{Odds}_{\text{tidak merokok}} = \frac{c}{d} = \frac{20}{80} = 0.25 \]
4. Menghitung Odds Ratio
\[ OR = \frac{ad}{bc} = \frac{(60)(80)}{(40)(20)} = \frac{4800}{800} = 6 \]
Interpretasi manual: Odds seseorang mengalami kanker paru-paru pada kelompok perokok adalah 6 kali lebih besar dibandingkan kelompok bukan perokok.
Sebagai pelengkap, dihitung juga relative risk:
\[ RR = \frac{0.60}{0.20} = 3 \]
Interpretasi: Risiko mengalami kanker paru-paru pada kelompok perokok adalah 3 kali lipat dibandingkan kelompok bukan perokok.
Sebagai contoh tambahan, misalkan dilakukan studi kohort terhadap 300 orang untuk melihat hubungan antara status vaksinasi dengan kejadian infeksi, dengan hasil sebagai berikut.
| Infeksi | Tidak Infeksi | Total | |
|---|---|---|---|
| Tidak Divaksin | 45 | 105 | 150 |
| Divaksin | 15 | 135 | 150 |
| Total | 60 | 240 | 300 |
Di sini kelompok “Tidak Divaksin” diposisikan sebagai kelompok terpapar (faktor risiko), sehingga \(a=45\), \(b=105\), \(c=15\), \(d=135\), dan \(n=300\).
1. Membuat Tabel Kontingensi
Tabel kontingensi telah disajikan di atas dengan \(a=45,\ b=105,\ c=15,\ d=135\).
2. Menghitung Peluang Bersyarat
\[ P(\text{Infeksi} \mid \text{Tidak Divaksin}) = \frac{a}{a+b} = \frac{45}{150} = 0.30 \]
\[ P(\text{Infeksi} \mid \text{Divaksin}) = \frac{c}{c+d} = \frac{15}{150} = 0.10 \]
3. Menghitung Odds
\[ \text{Odds}_{\text{tidak divaksin}} = \frac{a}{b} = \frac{45}{105} = 0.4286 \]
\[ \text{Odds}_{\text{divaksin}} = \frac{c}{d} = \frac{15}{135} = 0.1111 \]
4. Menghitung Odds Ratio
\[ OR = \frac{ad}{bc} = \frac{(45)(135)}{(105)(15)} = \frac{6075}{1575} = 3.857 \]
Interpretasi manual: Odds seseorang mengalami infeksi pada kelompok yang tidak divaksin adalah sekitar 3,86 kali lebih besar dibandingkan kelompok yang divaksin.
Relative risk untuk kasus ini:
\[ RR = \frac{0.30}{0.10} = 3 \]
Interpretasi: Risiko mengalami infeksi pada kelompok yang tidak divaksin adalah 3 kali lipat dibandingkan kelompok yang divaksin, sehingga vaksinasi terbukti memiliki efek protektif terhadap kejadian infeksi pada data ini.
Pada bagian ini, kedua contoh kasus manual di atas direplikasi menggunakan perangkat lunak R agar hasil perhitungan manual dapat diverifikasi.
data1 <- matrix(c(60, 40, 20, 80),
nrow = 2,
byrow = TRUE)
rownames(data1) <- c("Merokok", "Tidak Merokok")
colnames(data1) <- c("Kanker", "Tidak Kanker")
data1## Kanker Tidak Kanker
## Merokok 60 40
## Tidak Merokok 20 80
Menghitung Odds dan Odds Ratio
a <- data1[1,1]; b <- data1[1,2]
c <- data1[2,1]; d <- data1[2,2]
odds_merokok <- a/b
odds_tidak_merokok <- c/d
OR1 <- (a*d)/(b*c)
odds_merokok## [1] 1.5
## [1] 0.25
## [1] 6
Menghitung Relative Risk
## [1] 3
Melakukan Uji Chi-Square
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: data1
## X-squared = 31.688, df = 1, p-value = 1.811e-08
Membuat Tabel Kontingensi
data2 <- matrix(c(45, 105, 15, 135),
nrow = 2,
byrow = TRUE)
rownames(data2) <- c("Tidak Divaksin", "Divaksin")
colnames(data2) <- c("Infeksi", "Tidak Infeksi")
data2## Infeksi Tidak Infeksi
## Tidak Divaksin 45 105
## Divaksin 15 135
Menghitung Odds dan Odds Ratio
a2 <- data2[1,1]; b2 <- data2[1,2]
c2 <- data2[2,1]; d2 <- data2[2,2]
odds_tidak_divaksin <- a2/b2
odds_divaksin <- c2/d2
OR2 <- (a2*d2)/(b2*c2)
odds_tidak_divaksin## [1] 0.4285714
## [1] 0.1111111
## [1] 3.857143
Menghitung Relative Risk
## [1] 3
Melakukan Uji Chi-Square
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: data2
## X-squared = 17.521, df = 1, p-value = 2.842e-05
Sebagai pelengkap, berikut disajikan visualisasi mosaic plot untuk melihat proporsi masing-masing sel pada kedua tabel kontingensi.
par(mfrow = c(1,2))
mosaicplot(data1, main = "Merokok vs Kanker", color = c("#9ecae1", "#3182bd"),
xlab = "Status Merokok", ylab = "Status Kanker")
mosaicplot(data2, main = "Vaksin vs Infeksi", color = c("#9ecae1", "#3182bd"),
xlab = "Status Vaksin", ylab = "Status Infeksi")Berdasarkan hasil perhitungan manual maupun output R, diperoleh nilai odds ratio sebesar \(OR = 6\) dan relative risk sebesar \(RR = 3\). Hasil uji chi-square menghasilkan nilai p-value yang perlu dibandingkan dengan taraf signifikansi \(\alpha = 0.05\). Jika p-value \(< \alpha\), maka \(H_0\) (tidak ada asosiasi antara status merokok dan kejadian kanker) ditolak, sehingga disimpulkan terdapat asosiasi yang signifikan secara statistik antara status merokok dan kejadian kanker paru-paru.
Secara substantif, nilai \(OR = 6\) menunjukkan bahwa peluang (odds) seseorang mengalami kanker paru-paru pada kelompok perokok adalah 6 kali lebih besar dibandingkan kelompok bukan perokok. Nilai \(RR = 3\) mengindikasikan bahwa risiko mengalami kanker paru-paru pada perokok adalah 3 kali lebih tinggi dibandingkan bukan perokok. Temuan ini konsisten dengan berbagai studi epidemiologi yang menunjukkan merokok sebagai faktor risiko utama kanker paru-paru, sehingga upaya pencegahan dan pengendalian konsumsi rokok menjadi penting dalam konteks kesehatan masyarakat.
Diperoleh nilai odds ratio sebesar \(OR \approx 3.86\) dan relative risk sebesar \(RR = 3\). Sebagaimana kasus pertama, hasil uji chi-square perlu dibandingkan dengan \(\alpha = 0.05\); jika p-value \(< \alpha\), maka \(H_0\) (tidak ada asosiasi antara status vaksinasi dan kejadian infeksi) ditolak, sehingga disimpulkan terdapat asosiasi yang signifikan secara statistik antara status vaksinasi dan kejadian infeksi.
Secara substantif, nilai \(OR \approx 3.86\) menunjukkan bahwa odds seseorang mengalami infeksi pada kelompok yang tidak divaksin adalah hampir 4 kali lebih besar dibandingkan kelompok yang divaksin. Nilai \(RR = 3\) menunjukkan bahwa risiko infeksi pada kelompok tidak divaksin adalah 3 kali lebih tinggi dibandingkan kelompok yang divaksin. Hasil ini secara substantif mendukung efektivitas program vaksinasi dalam menurunkan risiko infeksi pada populasi yang diteliti, sehingga cakupan vaksinasi perlu terus ditingkatkan sebagai upaya pencegahan penyakit menular.
Kedua contoh kasus di atas menunjukkan bagaimana tabel kontingensi \(2\times 2\) dapat digunakan untuk mengukur kekuatan asosiasi antara variabel paparan (status merokok, status vaksinasi) dengan variabel hasil (kejadian kanker, kejadian infeksi) melalui ukuran odds, odds ratio, dan relative risk. Pada kedua kasus, nilai OR dan RR yang jauh dari 1 secara konsisten menunjukkan adanya asosiasi yang kuat, yang kemudian diverifikasi signifikansinya secara statistik menggunakan uji chi-square di R.
Perbandingan antar kasus juga menunjukkan bahwa selisih antara nilai OR dan RR dipengaruhi oleh besar-kecilnya proporsi kejadian pada kelompok terpapar: semakin jarang suatu kejadian terjadi (rare event), semakin dekat nilai OR terhadap RR, sebagaimana terlihat dari perbandingan Kasus 1 (kejadian relatif umum, \(OR=6\) vs \(RR=3\)) dan Kasus 2 (kejadian relatif jarang, \(OR\approx 3.86\) vs \(RR=3\)). Pemahaman terhadap perbedaan ini penting agar pemilihan dan interpretasi ukuran asosiasi disesuaikan dengan desain studi dan karakteristik data yang dianalisis.
Agresti, A. (2013). Categorical Data Analysis (3rd ed.). Hoboken, NJ: Wiley.
Sudjana. (2005). Metoda Statistika. Bandung: Tarsito.