Mata Kuliah: Analisis Data Kategori
Program Studi: S1 Statistika FMIPA — Universitas
Padjadjaran
Dosen: I Gede Nyoman Mindra Jaya
Tanggal: 09 March 2026
Laporan ini menyajikan analisis data kategori secara lengkap, mulai dari konsep dasar, tabel kontingensi, ukuran asosiasi, perhitungan manual, hingga implementasi menggunakan R.
Analisis data kategori (categorical data analysis) adalah sekumpulan metode statistik yang digunakan untuk menganalisis data yang bersifat kualitatif atau nominal, di mana setiap pengamatan dikelompokkan ke dalam kategori-kategori yang saling eksklusif dan kolektif (Agresti, 2013).
Berbeda dengan data kontinu, data kategori tidak memiliki jarak antar nilai yang bermakna secara matematis. Fokus analisis terletak pada frekuensi, proporsi, dan hubungan antar kategori.
Variabel kategori memiliki ciri-ciri berikut:
| Karakteristik | Penjelasan |
|---|---|
| Skala pengukuran | Nominal atau ordinal |
| Nilai yang mungkin | Terbatas dan diskrit |
| Representasi | Frekuensi atau proporsi |
| Operasi aritmatika | Tidak berlaku secara langsung |
| Contoh nilai | “Ya/Tidak”, “Sakit/Sehat”, “Rendah/Sedang/Tinggi” |
1. Variabel Nominal
Kategori tanpa urutan yang bermakna.
Contoh: jenis kelamin (laki-laki, perempuan), golongan darah
(A, B, AB, O).
2. Variabel Ordinal
Kategori dengan urutan yang bermakna, tetapi jarak antar kategori tidak
seragam.
Contoh: tingkat pendidikan (SD < SMP < SMA < Perguruan
Tinggi), tingkat nyeri (ringan < sedang < berat).
3. Variabel Biner (Dikotomi)
Variabel dengan hanya dua kategori.
Contoh: status penyakit (sakit/tidak sakit), hasil tes
(positif/negatif).
Contoh penerapan analisis data kategori:
Metode yang umum digunakan antara lain: uji chi-square, regresi logistik, analisis log-linear, dan ukuran asosiasi seperti odds ratio serta relative risk (Agresti, 2013; Stokes et al., 2012).
Tabel kontingensi (contingency table) adalah suatu representasi tabular yang menyajikan distribusi frekuensi dua variabel kategori atau lebih secara bersama-sama. Tabel ini memungkinkan kita untuk melihat pola hubungan (asosiasi) antar variabel (Agresti, 2013).
Tabel kontingensi paling sederhana adalah tabel 2 × 2, yang terdiri dari dua baris dan dua kolom.
Misalkan kita memiliki dua variabel:
| Kanker (\(Y=1\)) | Tidak Kanker (\(Y=0\)) | Total Baris | |
|---|---|---|---|
| Merokok (\(X=1\)) | \(n_{11}\) | \(n_{12}\) | \(n_{1+}\) |
| Tidak Merokok (\(X=0\)) | \(n_{21}\) | \(n_{22}\) | \(n_{2+}\) |
| Total Kolom | \(n_{+1}\) | \(n_{+2}\) | \(n\) |
Keterangan notasi:
Distribusi bersama (joint distribution) menggambarkan peluang dua variabel terjadi secara bersamaan. Diperoleh dengan membagi setiap sel dengan total keseluruhan:
\[\hat{\pi}_{ij} = \frac{n_{ij}}{n}\]
Sehingga berlaku:
\[\sum_{i}\sum_{j} \hat{\pi}_{ij} = 1\]
Contoh interpretasi: \(\hat{\pi}_{11}\) adalah estimasi peluang seorang individu merupakan perokok dan menderita kanker secara bersamaan.
Distribusi marginal adalah distribusi peluang satu variabel saja, diperoleh dengan menjumlahkan peluang sel di seluruh kategori variabel lainnya:
Marginal baris (variabel X): \[\hat{\pi}_{i+} = \sum_{j} \hat{\pi}_{ij} = \frac{n_{i+}}{n}\]
Marginal kolom (variabel Y): \[\hat{\pi}_{+j} = \sum_{i} \hat{\pi}_{ij} = \frac{n_{+j}}{n}\]
Catatan penting: Jika \(\hat{\pi}_{ij} = \hat{\pi}_{i+} \cdot \hat{\pi}_{+j}\) untuk semua \(i\) dan \(j\), maka variabel X dan Y dikatakan independen (tidak ada asosiasi).
Peluang bersyarat adalah peluang satu variabel terjadi dengan syarat variabel lain telah diketahui nilainya.
Peluang bersyarat Y diberikan X = i: \[P(Y = j \mid X = i) = \frac{\hat{\pi}_{ij}}{\hat{\pi}_{i+}} = \frac{n_{ij}}{n_{i+}}\]
Peluang bersyarat X diberikan Y = j: \[P(X = i \mid Y = j) = \frac{\hat{\pi}_{ij}}{\hat{\pi}_{+j}} = \frac{n_{ij}}{n_{+j}}\]
Interpretasi: \(P(Y=1 \mid X=1)\) adalah peluang menderita kanker di antara kelompok perokok.
Odds adalah rasio antara peluang suatu kejadian terjadi dibandingkan peluang kejadian tersebut tidak terjadi.
\[\text{Odds} = \frac{P(\text{kejadian terjadi})}{P(\text{kejadian tidak terjadi})} = \frac{p}{1-p}\]
Dalam konteks tabel kontingensi, odds untuk kelompok ke-\(i\):
\[\text{Odds}_i = \frac{n_{i1}}{n_{i2}}\]
Interpretasi Odds:
Odds Ratio (rasio odds) adalah rasio antara odds kelompok pertama (terpapar) dengan odds kelompok kedua (tidak terpapar). Merupakan ukuran asosiasi yang paling umum digunakan dalam studi kasus-kontrol.
\[OR = \frac{\text{Odds kelompok 1}}{\text{Odds kelompok 2}} = \frac{n_{11}/n_{12}}{n_{21}/n_{22}} = \frac{n_{11} \cdot n_{22}}{n_{12} \cdot n_{21}} = \frac{ad}{bc}\]
di mana:
\[\begin{pmatrix} a & b \\ c & d \end{pmatrix} = \begin{pmatrix} n_{11} & n_{12} \\ n_{21} & n_{22} \end{pmatrix}\]
Interpretasi Odds Ratio:
Contoh: \(OR = 3{,}5\) berarti perokok memiliki odds terkena kanker 3,5 kali lebih besar dibanding bukan perokok.
Relative Risk (juga disebut Risk Ratio) adalah rasio antara risiko (probabilitas) terjadinya hasil pada kelompok terpapar dibandingkan kelompok tidak terpapar. Umumnya digunakan dalam studi kohort.
\[RR = \frac{P(\text{outcome} \mid \text{exposed})}{P(\text{outcome} \mid \text{unexposed})} = \frac{n_{11}/n_{1+}}{n_{21}/n_{2+}} = \frac{n_{11} \cdot n_{2+}}{n_{21} \cdot n_{1+}}\]
Interpretasi Relative Risk:
Catatan: Ketika prevalensi outcome rendah (< 10%), nilai OR ≈ RR. Namun ketika prevalensi tinggi, OR dapat melebih-lebihkan RR.
| Aspek | Odds Ratio | Relative Risk |
|---|---|---|
| Desain studi | Kasus-kontrol & kohort | Kohort |
| Rentang nilai | \((0, \infty)\) | \((0, \infty)\) |
| Simetri | Simetris | Tidak simetris |
| Interpretasi | Rasio odds | Rasio probabilitas |
| Approx. saat prevalensi rendah | OR ≈ RR | — |
Misalkan dilakukan penelitian kohort terhadap 200 orang untuk meneliti hubungan antara kebiasaan merokok dan kejadian kanker paru. Berikut adalah data yang diperoleh:
| Kanker Paru | Tidak Kanker | Total | |
|---|---|---|---|
| Merokok | 60 | 40 | 100 |
| Tidak Merokok | 20 | 80 | 100 |
| Total | 80 | 120 | 200 |
Peluang kanker paru pada kelompok perokok: \[P(\text{Kanker} \mid \text{Merokok}) = \frac{n_{11}}{n_{1+}} = \frac{60}{100} = 0{,}60\]
Peluang kanker paru pada kelompok tidak merokok: \[P(\text{Kanker} \mid \text{Tidak Merokok}) = \frac{n_{21}}{n_{2+}} = \frac{20}{100} = 0{,}20\]
Perokok memiliki peluang terkena kanker paru sebesar 60%, sedangkan bukan perokok hanya 20%. Terlihat adanya perbedaan yang substansial.
Odds kanker paru pada kelompok perokok: \[\text{Odds}_{\text{Merokok}} = \frac{P(\text{Kanker} \mid \text{Merokok})}{1 - P(\text{Kanker} \mid \text{Merokok})} = \frac{0{,}60}{1 - 0{,}60} = \frac{0{,}60}{0{,}40} = \frac{60}{40} = 1{,}50\]
Odds kanker paru pada kelompok tidak merokok: \[\text{Odds}_{\text{Tidak Merokok}} = \frac{P(\text{Kanker} \mid \text{Tidak Merokok})}{1 - P(\text{Kanker} \mid \text{Tidak Merokok})} = \frac{0{,}20}{0{,}80} = \frac{20}{80} = 0{,}25\]
\[OR = \frac{\text{Odds}_{\text{Merokok}}}{\text{Odds}_{\text{Tidak Merokok}}} = \frac{1{,}50}{0{,}25} = 6{,}00\]
Verifikasi menggunakan rumus silang: \[OR = \frac{a \times d}{b \times c} = \frac{60 \times 80}{40 \times 20} = \frac{4800}{800} = 6{,}00 \checkmark\]
\[RR = \frac{P(\text{Kanker} \mid \text{Merokok})}{P(\text{Kanker} \mid \text{Tidak Merokok})} = \frac{60/100}{20/100} = \frac{0{,}60}{0{,}20} = 3{,}00\]
Ringkasan Hasil Perhitungan Manual:
| Ukuran | Nilai |
|---|---|
| \(P(\text{Kanker} \mid \text{Merokok})\) | 0,60 |
| \(P(\text{Kanker} \mid \text{Tidak Merokok})\) | 0,20 |
| \(\text{Odds}_{\text{Merokok}}\) | 1,50 |
| \(\text{Odds}_{\text{Tidak Merokok}}\) | 0,25 |
| Odds Ratio (OR) | 6,00 |
| Relative Risk (RR) | 3,00 |
# Membuat matriks data
data <- matrix(c(60, 40, 20, 80),
nrow = 2,
byrow = TRUE)
rownames(data) <- c("Merokok", "Tidak Merokok")
colnames(data) <- c("Kanker", "Tidak Kanker")
# Tampilkan tabel
cat("=== Tabel Kontingensi ===\n")## === Tabel Kontingensi ===
## Kanker Tidak Kanker
## Merokok 60 40
## Tidak Merokok 20 80
# Tampilkan proporsi baris (conditional distribution)
cat("\n=== Proporsi Baris (Peluang Bersyarat) ===\n")##
## === Proporsi Baris (Peluang Bersyarat) ===
## Kanker Tidak Kanker
## Merokok 0.6 0.4
## Tidak Merokok 0.2 0.8
# Ekstrak nilai sel
a <- data[1, 1] # Merokok & Kanker
b <- data[1, 2] # Merokok & Tidak Kanker
c <- data[2, 1] # Tidak Merokok & Kanker
d <- data[2, 2] # Tidak Merokok & Tidak Kanker
# Hitung Odds masing-masing kelompok
odds_merokok <- a / b
odds_tidak_merokok <- c / d
# Hitung Odds Ratio dan Relative Risk
OR <- (a * d) / (b * c)
RR <- (a / (a + b)) / (c / (c + d))
cat("=== Hasil Perhitungan ===\n")## === Hasil Perhitungan ===
## Odds (Merokok) : 1.5000
## Odds (Tidak Merokok) : 0.2500
## Odds Ratio (OR) : 6.0000
## Relative Risk (RR) : 3.0000
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: data
## X-squared = 31.688, df = 1, p-value = 1.811e-08
##
## === Ringkasan ===
## Chi-square statistic : 31.6875
## Derajat kebebasan : 1
## p-value : 0.000000
alpha <- 0.05
if (hasil_chi$p.value < alpha) {
cat("\nKesimpulan: Terdapat asosiasi yang signifikan antara merokok dan kanker paru (p < 0,05).\n")
} else {
cat("\nKesimpulan: Tidak terdapat asosiasi yang signifikan (p >= 0,05).\n")
}##
## Kesimpulan: Terdapat asosiasi yang signifikan antara merokok dan kanker paru (p < 0,05).
par(mfrow = c(1, 2), mar = c(4, 4, 3, 1))
# --- Plot 1: Grouped bar chart ---
barplot(t(prop.table(data, margin = 1)),
beside = TRUE,
col = c("#2980b9", "#bdc3c7"),
legend.text = colnames(data),
args.legend = list(x = "topright", bty = "n"),
main = "Proporsi Status Kanker\nBerdasarkan Kebiasaan Merokok",
xlab = "Kebiasaan Merokok",
ylab = "Proporsi",
ylim = c(0, 1),
names.arg = rownames(data),
border = NA)
# --- Plot 2: Mosaic plot ---
mosaicplot(data,
main = "Mosaic Plot\nMerokok vs Kanker Paru",
color = c("#2980b9", "#bdc3c7"),
border = "white",
xlab = "Kebiasaan Merokok",
ylab = "Status Kanker")Berdasarkan uji chi-square, diperoleh nilai statistik \(\chi^2\) yang sangat besar dengan \(p\text{-value} \ll 0{,}05\). Dengan demikian, pada tingkat signifikansi \(\alpha = 0{,}05\), terdapat asosiasi yang signifikan secara statistik antara kebiasaan merokok dan kejadian kanker paru.
Nilai Odds Ratio = 6,00 beserta Relative Risk = 3,00 memperkuat kesimpulan bahwa asosiasi ini bersifat kuat dan positif.
Dalam konteks kasus merokok dan kanker paru:
Peluang Bersyarat: Perokok memiliki peluang terkena kanker paru sebesar 60%, sementara bukan perokok hanya 20%.
Odds Ratio (OR = 6,00): Odds terkena kanker paru pada kelompok perokok adalah 6 kali lebih besar dibandingkan kelompok bukan perokok.
Relative Risk (RR = 3,00): Risiko terkena kanker paru pada kelompok perokok adalah 3 kali lebih tinggi dibandingkan kelompok bukan perokok.
Kesimpulan Substantif: Hasil analisis menunjukkan bahwa kebiasaan merokok merupakan faktor risiko yang kuat dan signifikan terhadap kejadian kanker paru. Temuan ini konsisten dengan berbagai studi epidemiologi yang telah ada (Doll & Hill, 1950; IARC, 2004).
Agresti, A. (2013). Categorical Data Analysis (3rd ed.). Wiley.
Doll, R., & Hill, A. B. (1950). Smoking and carcinoma of the lung. British Medical Journal, 2(4682), 739–748.
IARC Working Group. (2004). Tobacco Smoke and Involuntary Smoking (IARC Monographs Vol. 83). International Agency for Research on Cancer.
Stokes, M. E., Davis, C. S., & Koch, G. G. (2012). Categorical Data Analysis Using SAS (3rd ed.). SAS Institute.
Laporan ini dibuat menggunakan R Markdown • Program Studi S1 Statistika FMIPA Universitas Padjadjaran