Analisis Data Kategori merupakan metode statistik yang digunakan berbagai bidang penelitian. Data kategori yaitu data yang menyatakan klasifikasi atau kelompok tertentu. Salah satu metode yang digunakan untuk menganalisis hubungan antara variabel kategori adalah melalui tabel kontingensi. Dari tabel tersebut dapat dihitung berbagai ukuran asosiasi, seperti odds, odds ratio, dan relative risk, untuk menggambarkan kekuatan hubungan antar variabel.
Analisis data kategori adalah metode statistik yang digunakan untuk menganalisis data yang berbentuk kategori atau kelompok. Data kategori merupakan data yang nilai variabelnya berupa label atau klasifikasi tertentu, bukan angka yang memiliki makna kuantitatif.
Menurut Alan Agresti dalam buku Categorical Data Analysis, analisis data kategori digunakan untuk mempelajari hubungan antara variabel yang berskala nominal atau ordinal melalui distribusi frekuensi atau probabilitas. Teknik ini sering digunakan untuk mengetahui apakah terdapat hubungan atau asosiasi antara dua atau lebih variabel kategori.
Analisis ini biasanya menggunakan tabel frekuensi, tabel kontingensi, serta metode inferensi seperti uji chi-square untuk mengevaluasi hubungan antar variabel.
Variabel kategori memiliki beberapa karakteristik utama, yaitu:
Contoh penerapan analisis data kategori antara lain:
Metode analisis yang sering digunakan dalam analisis data kategori meliputi tabel kontingensi, uji Chi-Square, dan regresi logistik.
Tabel kontingensi adalah tabel yang digunakan untuk menyajikan data kategori dengan menampilkan frekuensi dari kombinasi dua atau lebih variabel kategori. Tabel ini membantu peneliti melihat bagaimana suatu kategori pada satu variabel berhubungan dengan kategori pada variabel lainnya.
Menurut Alan Agresti dalam buku Categorical Data Analysis, tabel kontingensi digunakan untuk merangkum dan menggambarkan hubungan antara variabel kategori melalui distribusi frekuensi. Dengan tabel ini, peneliti dapat lebih mudah memahami pola hubungan dalam data serta menjadi dasar untuk melakukan analisis statistik lebih lanjut.
Struktur tabel kontingensi terdiri dari baris dan kolom yang masing-masing merepresentasikan kategori dari variabel yang berbeda. Setiap sel dalam tabel menunjukkan jumlah frekuensi atau banyaknya pengamatan untuk kombinasi kategori tertentu dari kedua variabel. Selain itu, tabel kontingensi juga biasanya dilengkapi dengan jumlah total pada setiap baris dan kolom yang disebut sebagai distribusi marginal. Sebagai contoh, tabel kontingensi 2 × 2 dapat digunakan untuk melihat hubungan antara dua variabel yang masing-masing memiliki dua kategori.
Tabel kontingensi 2 × 2 memiliki struktur sebagai berikut:
| Kategori 1 (+) | Kategori 2 (-) | Total | |
|---|---|---|---|
| Grup 1 | \(n_{11}\) | \(n_{12}\) | \(n_{1.}\) |
| Grup 2 | \(n_{21}\) | \(n_{22}\) | \(n_{2.}\) |
| Total | \(n_{.1}\) | \(n_{.2}\) | \(n\) |
Keterangan:
Contoh kasus dalam Tabel Kontingensi:
data <- matrix(c(30,20,
25,25),
nrow=2,
byrow=TRUE)
rownames(data) <- c("Pria","Wanita")
colnames(data) <- c("Suka Produk","Tidak Suka")
knitr::kable(data)
| Suka Produk | Tidak Suka | |
|---|---|---|
| Pria | 30 | 20 |
| Wanita | 25 | 25 |
Joint distribution atau distribusi gabungan merupakan distribusi probabilitas yang menunjukkan peluang terjadinya dua kejadian secara bersamaan. Dalam tabel kontingensi, joint distribution diperoleh dengan membagi frekuensi pada setiap sel dengan jumlah total pengamatan.
Secara matematis, joint distribution dinyatakan sebagai
\[ P(X=i, Y=j) = \frac{n_{ij}}{n} \] Sebagai contoh, berikut Tabel Kontingensi untuk kasus joint distribution:
joint <- prop.table(data)
knitr::kable(round(joint,3))
| Suka Produk | Tidak Suka | |
|---|---|---|
| Pria | 0.30 | 0.20 |
| Wanita | 0.25 | 0.25 |
Marginal distribution adalah distribusi probabilitas dari satu variabel tanpa memperhatikan variabel lainnya. Distribusi ini diperoleh dari jumlah total pada baris atau kolom dalam tabel kontingensi yang kemudian dibagi dengan jumlah total observasi.
Secara matematis, marginal distribution dinyatakan sebagai:
\[ P(X=i) = \frac{n_{i.}}{n} \]
dan
\[ P(Y=j) = \frac{n_{.j}}{n} \] Berikut Tabel Kontingensi untuk kasus marginal distribution:
data <- matrix(c(30,20,
25,25),
nrow=2,
byrow=TRUE)
rownames(data) <- c("Pria","Wanita")
colnames(data) <- c("Suka Produk","Tidak Suka")
knitr::kable(data)
| Suka Produk | Tidak Suka | |
|---|---|---|
| Pria | 30 | 20 |
| Wanita | 25 | 25 |
Marginal distribution baris:
marginal_row <- prop.table(data,1)
knitr::kable(round(marginal_row,3))
| Suka Produk | Tidak Suka | |
|---|---|---|
| Pria | 0.6 | 0.4 |
| Wanita | 0.5 | 0.5 |
Marginal distribution kolom:
marginal_col <- prop.table(data,2)
knitr::kable(round(marginal_col,3))
| Suka Produk | Tidak Suka | |
|---|---|---|
| Pria | 0.545 | 0.444 |
| Wanita | 0.455 | 0.556 |
Sebagai contoh, nilai pada marginal distribution baris menunjukkan proporsi preferensi produk pada masing-masing kelompok responden. Sementara itu, marginal distribution kolom menunjukkan proporsi responden berdasarkan kategori preferensi produk secara keseluruhan.
Conditional probability adalah probabilitas suatu kategori terjadi dengan syarat kategori lain telah terjadi.
Sebagai contoh, probabilitas seseorang menyukai produk A dengan syarat orang tersebut adalah pria.
# conditional probability
prop.table(data, margin = 1)
## Suka Produk Tidak Suka
## Pria 0.6 0.4
## Wanita 0.5 0.5
Ukuran asosiasi digunakan untuk mengukur kekuatan hubungan antara dua variabel kategori dalam tabel kontingensi. Beberapa ukuran asosiasi yang sering digunakan adalah odds, odds ratio, dan relative risk.
Misalkan diberikan tabel kontingensi 2 × 2 sebagai berikut:
\[ \begin{array}{c|cc} & Outcome\;1 & Outcome\;0 \\ \hline Exposure\;1 & a & b \\ Exposure\;0 & c & d \\ \end{array} \]
Odds merupakan perbandingan antara peluang suatu kejadian terjadi dengan peluang kejadian tersebut tidak terjadi.
Rumus odds secara umum adalah:
\[ Odds = \frac{p}{1-p} \]
Dalam tabel kontingensi, odds pada kelompok yang terpapar dapat dituliskan sebagai:
\[ Odds = \frac{a}{b} \]
Odds Ratio digunakan untuk membandingkan odds antara dua kelompok.
Rumus Odds Ratio adalah:
\[ OR = \frac{a/b}{c/d} \]
yang dapat disederhanakan menjadi:
\[ OR = \frac{ad}{bc} \]
Relative Risk digunakan untuk membandingkan probabilitas kejadian antara kelompok yang terpapar dan kelompok yang tidak terpapar.
Rumus Relative Risk adalah:
\[ RR = \frac{a/(a+b)}{c/(c+d)} \]
Sebagai contoh, akan dianalisis hubungan antara kebiasaan merokok dan kejadian kanker paru-paru.
Misalkan diperoleh data sebagai berikut:
\[ \begin{array}{c|cc} & Kanker & Tidak\;Kanker \\ \hline Merokok & 60 & 40 \\ Tidak\;Merokok & 20 & 80 \\ \end{array} \]
Peluang terkena kanker pada kelompok perokok:
\[ P(Kanker | Merokok) = \frac{60}{60+40} = \frac{60}{100} = 0.6 \]
Peluang terkena kanker pada kelompok tidak merokok:
\[ P(Kanker | Tidak\;Merokok) = \frac{20}{20+80} = \frac{20}{100} = 0.2 \]
Odds terkena kanker pada kelompok perokok:
\[ Odds_{merokok} = \frac{60}{40} = 1.5 \]
Odds terkena kanker pada kelompok tidak merokok:
\[ Odds_{tidak\;merokok} = \frac{20}{80} = 0.25 \]
\[ OR = \frac{ad}{bc} \]
\[ OR = \frac{(60)(80)}{(40)(20)} \]
\[ OR = \frac{4800}{800} = 6 \]
Interpretasi: Individu yang merokok memiliki odds terkena kanker paru-paru sekitar 6 kali lebih besar dibandingkan individu yang tidak merokok.
Analisis yang sama dapat dilakukan menggunakan R.
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
library(epitools)
oddsratio(data)
## $data
## Kanker Tidak Kanker Total
## Merokok 60 40 100
## Tidak Merokok 20 80 100
## Total 80 120 200
##
## $measure
## NA
## odds ratio with 95% C.I. estimate lower upper
## Merokok 1.000000 NA NA
## Tidak Merokok 5.915517 3.181806 11.37695
##
## $p.value
## NA
## two-sided midp.exact fisher.exact chi.square
## Merokok NA NA NA
## Tidak Merokok 6.163344e-09 1.063603e-08 7.764037e-09
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
library(epitools)
oddsratio(data)
## $data
## Kanker Tidak Kanker Total
## Merokok 60 40 100
## Tidak Merokok 20 80 100
## Total 80 120 200
##
## $measure
## NA
## odds ratio with 95% C.I. estimate lower upper
## Merokok 1.000000 NA NA
## Tidak Merokok 5.915517 3.181806 11.37695
##
## $p.value
## NA
## two-sided midp.exact fisher.exact chi.square
## Merokok NA NA NA
## Tidak Merokok 6.163344e-09 1.063603e-08 7.764037e-09
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
Berdasarkan hasil analisis yang telah dilakukan sebelumnya menggunakan tabel kontingensi, perhitungan odds ratio, dan uji chi-square, dapat diberikan interpretasi sebagai berikut.
Dari hasil perhitungan diperoleh nilai Odds Ratio (OR) = 6. Nilai ini menunjukkan bahwa odds terjadinya kanker paru-paru pada individu yang merokok sekitar 6 kali lebih besar dibandingkan individu yang tidak merokok.
Selain itu, hasil uji Chi-Square digunakan untuk menguji apakah terdapat hubungan yang signifikan antara kebiasaan merokok dan kejadian kanker paru-paru. Jika nilai p-value lebih kecil dari tingkat signifikansi (misalnya 0.05), maka hipotesis nol yang menyatakan tidak adanya hubungan antara kedua variabel ditolak.
Dengan demikian, dapat disimpulkan bahwa terdapat hubungan yang signifikan antara kebiasaan merokok dan kejadian kanker paru-paru.
Secara substantif, hasil ini menunjukkan bahwa kebiasaan merokok merupakan faktor yang berasosiasi kuat dengan meningkatnya risiko terkena kanker paru-paru. Individu yang merokok memiliki kemungkinan yang jauh lebih besar mengalami kanker paru-paru dibandingkan dengan individu yang tidak merokok.
Temuan ini konsisten dengan banyak penelitian kesehatan masyarakat yang menyatakan bahwa merokok merupakan salah satu faktor risiko utama bagi penyakit kanker paru-paru. Oleh karena itu, upaya pencegahan seperti pengurangan konsumsi rokok dan kampanye berhenti merokok sangat penting untuk menurunkan risiko penyakit tersebut.