1 Definisi Analisis Data Kategori

1.1 Apa yang Dimaksud dengan Analisis Data Kategori

Dalam banyak penelitian, tidak semua data yang dikumpulkan berbentuk angka kontinu. Sebagian data justru berbentuk kategori, misalnya status pekerjaan (bekerja/tidak), jenis kelamin (laki‑laki/perempuan), atau status kesehatan (sehat/sakit). Data seperti ini disebut data kategorik.

Analisis data kategori merupakan metode statistik yang digunakan untuk mempelajari hubungan antara variabel‑variabel yang bersifat kategorik tersebut. Tujuan utama dari analisis ini adalah untuk melihat apakah terdapat hubungan, ketergantungan, atau asosiasi antara dua atau lebih variabel kategori.

Salah satu alat yang paling sering digunakan dalam analisis data kategori adalah tabel kontingensi. Tabel ini menyajikan frekuensi pengamatan dari kombinasi kategori beberapa variabel sehingga pola hubungan antar variabel dapat diamati secara lebih jelas.

Menurut Agresti (2019), analisis data kategori berfokus pada pemodelan probabilitas kejadian yang dinyatakan dalam bentuk kategori diskrit. Oleh karena itu, analisis yang dilakukan biasanya melibatkan proporsi, peluang, serta ukuran asosiasi seperti odds ratio atau relative risk.

1.2 Karakteristik Variabel Kategori

Variabel kategori memiliki beberapa karakteristik penting.

  1. Nilainya berupa label atau kelompok
    Angka yang digunakan pada variabel kategori tidak memiliki makna kuantitatif langsung, melainkan hanya berfungsi sebagai penanda kategori.

  2. Jumlah kategori terbatas
    Variabel kategori biasanya memiliki jumlah kategori yang tetap dan tidak kontinu.

  3. Analisis dilakukan menggunakan frekuensi atau proporsi
    Data sering disajikan dalam bentuk tabel frekuensi atau tabel kontingensi.

Secara umum variabel kategori dibagi menjadi dua jenis utama.

  • Variabel nominal, yaitu kategori yang tidak memiliki urutan tertentu
    (misalnya jenis kelamin atau golongan darah).

  • Variabel ordinal, yaitu kategori yang memiliki urutan atau tingkatan
    (misalnya tingkat pendidikan atau tingkat kepuasan).

1.3 Contoh Penerapan dalam Penelitian

Analisis data kategori banyak digunakan dalam berbagai bidang penelitian. Beberapa contoh penerapannya antara lain:

  1. Penelitian kesehatan masyarakat
    Menganalisis hubungan antara status vaksinasi dengan kemungkinan terinfeksi penyakit.

  2. Penelitian pendidikan
    Menilai hubungan antara metode pembelajaran dengan tingkat kelulusan mahasiswa.

  3. Penelitian sosial
    Mengkaji hubungan antara tingkat pendidikan dan status pekerjaan.

Dalam banyak kasus, hubungan antara dua variabel kategori pertama kali diamati menggunakan tabel kontingensi, kemudian dianalisis lebih lanjut menggunakan ukuran asosiasi atau uji statistik seperti uji chi‑square.

2 Tabel Kontingensi

2.1 Definisi Tabel Kontingensi

Tabel kontingensi adalah tabel yang digunakan untuk menyajikan distribusi frekuensi dari dua atau lebih variabel kategorik secara bersamaan. Melalui tabel ini, peneliti dapat melihat bagaimana kategori pada satu variabel berkaitan dengan kategori pada variabel lainnya.

Tabel kontingensi sering disebut juga sebagai cross tabulation karena menampilkan data dalam bentuk persilangan antara baris dan kolom.

2.2 Struktur Tabel Kontingensi

Sebagai contoh, misalkan dilakukan penelitian mengenai hubungan antara status vaksin influenza dan kejadian infeksi influenza pada suatu populasi.

Tabel kontingensi 2 × 2 dapat dituliskan sebagai berikut:

Infeksi Tidak Infeksi Total
Vaksin a b a+b
Tidak Vaksin c d c+d
Total a+c b+d n

Keterangan:

  • Baris menunjukkan status vaksinasi
  • Kolom menunjukkan kejadian infeksi
  • Sel tabel menunjukkan jumlah individu pada kombinasi kategori tertentu

2.3 Joint Distribution

Joint distribution atau distribusi bersama menggambarkan probabilitas dua kejadian terjadi secara bersamaan.

Jika total pengamatan adalah (n), maka probabilitas bersama dapat dituliskan sebagai

\[ P(A,B) = \frac{n_{ij}}{n} \]

Sebagai contoh:

\[ P(Vaksin \cap Infeksi) = \frac{a}{n} \]

Artinya, probabilitas seorang individu telah divaksin dan mengalami infeksi sama dengan jumlah individu pada sel tersebut dibagi dengan total sampel.

2.4 Marginal Distribution

Distribusi marginal menggambarkan distribusi probabilitas untuk satu variabel tanpa mempertimbangkan variabel lainnya.

Contohnya:

\[ P(Vaksin) = \frac{a+b}{n} \]

\[ P(Infeksi) = \frac{a+c}{n} \]

Distribusi ini diperoleh dari jumlah baris atau kolom pada tabel kontingensi.

2.5 Conditional Probability

Probabilitas bersyarat menyatakan peluang suatu kejadian terjadi dengan syarat kejadian lain telah terjadi.

Sebagai contoh:

\[ P(Infeksi|Vaksin) = \frac{a}{a+b} \]

\[ P(Infeksi|Tidak\ Vaksin) = \frac{c}{c+d} \]

Probabilitas ini sering digunakan dalam penelitian epidemiologi untuk membandingkan tingkat risiko antara dua kelompok.

3 Ukuran Asosiasi

Ukuran asosiasi digunakan untuk mengukur kekuatan hubungan antara dua variabel kategori pada tabel kontingensi.

3.1 Odds

Odds merupakan perbandingan antara peluang suatu kejadian terjadi dengan peluang kejadian tersebut tidak terjadi.

\[ Odds = \frac{p}{1-p} \]

Pada tabel kontingensi, odds infeksi pada kelompok yang divaksin adalah

\[ Odds_{Vaksin} = \frac{a}{b} \]

Interpretasi: semakin besar nilai odds, semakin besar kemungkinan kejadian tersebut terjadi dibandingkan tidak terjadi.

3.2 Odds Ratio

Odds Ratio (OR) membandingkan odds dari dua kelompok.

\[ OR = \frac{ad}{bc} \]

Interpretasi nilai OR:

  • (OR = 1) menunjukkan tidak ada asosiasi.
  • (OR > 1) menunjukkan faktor tersebut meningkatkan peluang kejadian.
  • (OR < 1) menunjukkan faktor tersebut bersifat protektif.

3.3 Relative Risk

Relative Risk (RR) membandingkan probabilitas kejadian antara dua kelompok.

\[ RR = \frac{a/(a+b)}{c/(c+d)} \]

Interpretasi:

  • (RR = 1) berarti risiko kedua kelompok sama.
  • (RR > 1) berarti kelompok pertama memiliki risiko lebih tinggi.
  • (RR < 1) berarti kelompok pertama memiliki risiko lebih rendah.

4 Contoh Perhitungan Manual

Misalkan dilakukan penelitian sederhana mengenai hubungan vaksin influenza dengan kejadian infeksi influenza.

4.1 Tabel Kontingensi

Infeksi Tidak Infeksi Total
Vaksin 15 85 100
Tidak Vaksin 40 60 100

4.2 Menghitung Peluang Bersyarat

Peluang infeksi pada individu yang divaksin:

\[ P(Infeksi|Vaksin) = \frac{15}{100} = 0.15 \]

Peluang infeksi pada individu yang tidak divaksin:

\[ P(Infeksi|Tidak\ Vaksin) = \frac{40}{100} = 0.40 \]

Hasil ini menunjukkan bahwa proporsi infeksi pada kelompok yang tidak divaksin lebih tinggi dibandingkan kelompok yang divaksin.

4.3 Menghitung Odds

Odds infeksi pada kelompok yang divaksin:

\[ Odds_{Vaksin} = \frac{15}{85} = 0.176 \]

Odds infeksi pada kelompok yang tidak divaksin:

\[ Odds_{TidakVaksin} = \frac{40}{60} = 0.667 \]

4.4 Menghitung Odds Ratio

\[ OR = \frac{15 \times 60}{85 \times 40} \]

\[ OR = \frac{900}{3400} = 0.265 \]

Interpretasi:

Nilai OR yang lebih kecil dari 1 menunjukkan bahwa vaksinasi memiliki efek protektif terhadap infeksi influenza. Dengan kata lain, peluang infeksi pada individu yang telah divaksin lebih rendah dibandingkan individu yang tidak divaksin.

5 Analisis Menggunakan R

Analisis yang sama juga dapat dilakukan menggunakan perangkat lunak R.

5.1 Membuat Tabel Kontingensi

data <- matrix(c(15,85,40,60), nrow=2, byrow=TRUE)

colnames(data) <- c("Infeksi","Tidak_Infeksi") 

rownames(data) <-
c("Vaksin","Tidak_Vaksin")

data
##              Infeksi Tidak_Infeksi
## Vaksin            15            85
## Tidak_Vaksin      40            60
# Menghitung odds ratio
library(epitools)
## Warning: package 'epitools' was built under R version 4.5.2
oddsratio(data)
## $data
##              Infeksi Tidak_Infeksi Total
## Vaksin            15            85   100
## Tidak_Vaksin      40            60   100
## Total             55           145   200
## 
## $measure
##                         NA
## odds ratio with 95% C.I.  estimate     lower     upper
##             Vaksin       1.0000000        NA        NA
##             Tidak_Vaksin 0.2679298 0.1318942 0.5207895
## 
## $p.value
##               NA
## two-sided        midp.exact fisher.exact   chi.square
##   Vaksin                 NA           NA           NA
##   Tidak_Vaksin 7.460922e-05 0.0001197284 7.525229e-05
## 
## $correction
## [1] FALSE
## 
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"

5.2 Melakukan Uji Chi-Square

chisq.test(data)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  data
## X-squared = 14.445, df = 1, p-value = 0.0001443

Uji chi‑square digunakan untuk menguji hipotesis:

  • (H_0): tidak terdapat hubungan antara vaksinasi dan infeksi influenza
  • (H_1): terdapat hubungan antara vaksinasi dan infeksi influenza

Uji chi-square digunakan untuk menguji apakah terdapat hubungan yang signifikan antara dua variabel kategori. Jika nilai p-value lebih kecil dari tingkat signifikansi (misalnya 0.05), maka dapat disimpulkan bahwa terdapat hubungan yang signifikan antara variabel tersebut.

Jika nilai p‑value < 0.05, maka hipotesis nol ditolak dan dapat disimpulkan bahwa terdapat hubungan yang signifikan antara kedua variabel tersebut.

6 Inferensi Tabel Kontingensi Dua Arah

Inferensi pada tabel kontingensi dua arah digunakan untuk menganalisis hubungan antara dua variabel kategorik. Melalui pendekatan ini, peneliti tidak hanya melihat distribusi data secara deskriptif, tetapi juga menguji apakah terdapat hubungan yang signifikan secara statistik antara kedua variabel tersebut.

Metode yang umum digunakan dalam analisis ini meliputi estimasi proporsi, ukuran asosiasi seperti relative risk dan odds ratio, serta uji hipotesis seperti uji chi-square, uji dua proporsi, dan uji eksak Fisher. Selain itu, analisis residual dan kontribusi chi-square digunakan untuk mengidentifikasi kategori mana yang paling berpengaruh dalam hubungan yang terjadi.

6.1 Kasus 1: Tabel Kontingensi 2×2 (Merokok dan Kanker Paru)

6.1.1 Data

# Membuat tabel kontingensi 2x2
data_merokok <- matrix(c(688, 650, 21, 59),
                       nrow = 2,
                       byrow = TRUE,
                       dimnames = list(StatusMerokok = c("Smoker", "Non-Smoker"),
                                       KankerParu = c("Cancer (+)","Control (-)")))
print(data_merokok)
##              KankerParu
## StatusMerokok Cancer (+) Control (-)
##    Smoker            688         650
##    Non-Smoker         21          59

Interpretasi Data: Tabel di atas menunjukkan bahwa dari 1338 perokok,688 orang menderita kanker paru, sedangkan dari 80 non-perokok, hanya 21 orang yang menderita kanker paru. Secara deskriptif, proporsi penderita kanker lebih tinggi pada kelompok perokok.

6.1.2 Estimasi Titik Proporsi

\[ \hat{p} = \frac{x}{n} \]

# Proporsi pada Smoker
p_smoker <- 688/(688+650)
cat("Proporsi Smoker:", round(p_smoker,4), "\n")
## Proporsi Smoker: 0.5142
# Proporsi pada Non-Smoker
p_nonsmoker <- 21/(21+59)
cat("Proporsi Non-Smoker:", round(p_nonsmoker,4), "\n")
## Proporsi Non-Smoker: 0.2625

Interpretasi: Proporsi kejadian kanker paru pada perokok sebesar 51.41%, sedangkan pada non-perokok hanya 26.25%. Perokok memiliki proporsi hampir dua kali lipat.

6.1.3 Interval Kepercayaan 95%

\[ \hat{p} \pm 1.96 \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]

# Interval kepercayaan proporsi

ci_smoker <- binom.test(688,1338)$conf.int
ci_nonsmoker <-binom.test(21,80)$conf.int
cat("95% CI Smoker    : [", round(ci_smoker[1],4), ",", round(ci_smoker[2],4), "]\n")
## 95% CI Smoker    : [ 0.487 , 0.5413 ]
cat("95% CI Non-Smoker: [", round(ci_nonsmoker[1],4), ",", round(ci_nonsmoker[2],4), "]\n")
## 95% CI Non-Smoker: [ 0.1704 , 0.3729 ]
# Risk Difference (RD)
RD <- p_smoker - p_nonsmoker

# Relative Risk (RR)
RR <- p_smoker / p_nonsmoker

# Odds Ratio (OR)
OR <- (688/650)/(21/59)

cat("Risk Difference (RD):", round(RD,4), "\n")
## Risk Difference (RD): 0.2517
cat("Relative Risk (RR)  :", round(RR,4), "\n")
## Relative Risk (RR)  : 1.9589
cat("Odds Ratio (OR)     :", round(OR,4), "\n")
## Odds Ratio (OR)     : 2.9738

\[ RR = \frac{a/(a+b)}{c/(c+d)} \]

\[ OR = \frac{ad}{bc} \] Interpretasi: 1. Proporsi Smoker (95% CI: 0.485 - 0.543): Kita 95% percaya bahwa proporsi sebenarnya kanker paru pada populasi perokok berada antara 48.5% dan 54.3%.

  1. Proporsi Non-Smoker (95% CI: 0.168 - 0.377): Kita 95% percaya bahwa proporsi sebenarnya kanker paru pada populasi non-perokok berada antara 16.8% dan 37.7%.

  2. Risk Difference (RD = 0.2516, 95% CI: 0.153 - 0.350): Interval ini tidak mencakup 0, artinya perbedaan risiko antara perokok dan non-perokok signifikan secara statistik.

  3. Relative Risk (RR = 1.958, 95% CI: 1.388 - 2.764): Interval tidak mencakup 1, artinya perokok memiliki risiko 1.39 hingga 2.76 kali lebih tinggi.

6.1.4 Uji Dua Proporsi

prop_test <- prop.test(x = c(688,21), n = c(1338,80), correct = FALSE)
print(prop_test)
## 
##  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: p-value = 9.5e-06 < 0.05, maka Tolak H₀. Ada perbedaan proporsi signifikan.

6.1.5 Uji Chi-Square Independensi

\[ \chi^2 = \sum \frac{(O - E)^2}{E} \]

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

Interpretasi: p-value < 0.05, Tolak H₀. Ada hubungan signifikan antara merokok dan kanker paru.

6.1.6 Uji Likelihood Ratio (G²)

expected <- chisq_test$expected
G2 <- 2 * sum(data_merokok * log(data_merokok / expected))
p_g2 <- pchisq(G2, df=1, lower.tail=FALSE)

cat("G² =", round(G2,4), ", p-value =", p_g2, "\n")
## G² = 19.878 , p-value = 8.25441e-06

Interpretasi: p-value < 0.05, Tolak H₀. Konsisten dengan uji sebelumnya.

6.1.7 Uji Eksak Fisher

fisher_test <- fisher.test(data_merokok)
print(fisher_test)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  data_merokok
## 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: p-value = 1.1e-05 < 0.05, Tolak H₀.

6.1.8 Perbandingan Hasil Uji

comparison_df <- data.frame(
  Uji = c("Dua Proporsi", "Chi-Square", "Likelihood Ratio", "Fisher Exact"),
  Statistik = c(round(prop_test$statistic, 4), round(chisq_test$statistic, 4), round(G2, 4), "-"),
  `p-value` = c(9.5e-06, 9.5e-06, 1.84e-05, 1.1e-05),
  Keputusan = c("Tolak H₀", "Tolak H₀", "Tolak H₀", "Tolak H₀")
)
print(comparison_df, caption = "Tabel 7.3: Perbandingan Hasil Uji")
##                Uji Statistik  p.value Keputusan
## 1     Dua Proporsi   19.1292 9.50e-06  Tolak H₀
## 2       Chi-Square   19.1292 9.50e-06  Tolak H₀
## 3 Likelihood Ratio    19.878 1.84e-05  Tolak H₀
## 4     Fisher Exact         - 1.10e-05  Tolak H₀

Berdasarkan keempat metode uji yang dilakukan, diperoleh keputusan yang seragam yaitu menolak \(H_0\) pada taraf nyata \(\alpha = 0.05\). Hal ini mengindikasikan bahwa hasil analisis bersifat robust (tangguh) dan tidak dipengaruhi oleh spesifikasi uji statistik yang digunakan. Dengan demikian, dapat disimpulkan secara meyakinkan bahwa terdapat hubungan yang signifikan antara perilaku merokok dan kejadian kanker paru.

6.1.9 Visualisasi

# Barplot proporsi
prop_data <- prop.table(data_merokok, margin = 1)

barplot(prop_data,
        beside = TRUE,
        col = c("#E74C3C","#2ECC71"),
        legend = colnames(prop_data),
        main = "Proporsi Kanker Paru berdasarkan Status Merokok",
        ylab = "Proporsi",
        xlab = "Status Merokok")

# Mosaic plot
mosaicplot(data_merokok,
           color = TRUE,
           main = "Mosaic Plot: Merokok vs Kanker Paru")

6.1.10 Kesimpulan

  1. ESTIMASI PROPORSIS:
    • Perokok : 51.41% (95% CI: 48.5% - 54.3%)
    • Non-Perokok : 26.25% (95% CI: 16.8% - 37.7%)
  2. UKURAN ASOSIASI:
    • Risk Difference (RD) : 0.2516 (95% CI: 0.153 - 0.350)
    • Relative Risk (RR) : 1.958 (95% CI: 1.388 - 2.764)
    • Odds Ratio (OR) : 2.959 (95% CI: 1.807 - 4.846)
  3. HASIL UJI HIPOTESIS:
    • Uji Dua Proporsi : p = 9.5e-06 → Tolak H₀
    • Uji Chi-Square : p = 9.5e-06 → Tolak H₀
    • Likelihood Ratio (G²): p = 1.84e-05 → Tolak H₀
    • Fisher Exact : p = 1.1e-05 → Tolak H₀
  4. INTERPRETASI SUBSTANTIF:
    • Perokok memiliki risiko 1.96 kali lebih tinggi terkena kanker paru
    • Perbedaan risiko absolut sebesar 25%
    • Hubungan bersifat positif dan signifikan secara statistik Terdapat bukti statistik yang kuat bahwa merokok berhubungan dengan peningkatan risiko kanker paru. Semua uji hipotesis menunjukkan p-value < 0.05, dan interval kepercayaan untuk RD, RR, dan OR tidak mencakup nilai nol (untuk RD) atau 1 (untuk RR dan OR). Secara substantif, perokok memiliki risiko hampir dua kali lipat dibandingkan non-perokok.

6.2 Kasus 2: Tabel Kontingensi 2×3 (Gender dan Partai Politik)

6.2.1 Data

data_partai <- matrix(c(495,272,590,330,265,498), nrow=2, byrow=TRUE,
                      dimnames=list(Gender=c("Female","Male"),
                                    Partai=c("Democrat","Republican","Independent")))
print(data_partai) 
##         Partai
## Gender   Democrat Republican Independent
##   Female      495        272         590
##   Male        330        265         498
prop_gender <- prop.table(data_partai, 1)
print(round(prop_gender, 4))
##         Partai
## Gender   Democrat Republican Independent
##   Female   0.3648     0.2004      0.4348
##   Male     0.3019     0.2425      0.4556

Interpretasi: Tabel menunjukkan distribusi preferensi partai politik berdasarkan gender. Secara deskriptif, terlihat bahwa dari 1357 perempuan cenderung lebih banyak memilih partai Democrat (36.5%), Republic (20.0%), dan Independent (43.5%), sedangkan dari total 1093 laki-laki memilih Independent (45.6%), (30.2%) Demokrat, (24.2%) Republik.

Perempuan cenderung lebih memilih Demokrat, sedangkan laki-laki lebih memilih Republik dan Independen menjadi pilihan terbanyak untuk kedua gender.

6.2.2 Frekuensi Harapan

\[ E_{ij} = \frac{(\text{Total baris})(\text{Total kolom})}{n} \]

chisq_partai <- chisq.test(data_partai)
print(round(chisq_partai$expected,2))
##         Partai
## Gender   Democrat Republican Independent
##   Female   456.95     297.43      602.62
##   Male     368.05     239.57      485.38

Interpretasi: Frekuensi harapan menggambarkan jumlah observasi yang diharapkan pada setiap sel apabila tidak terdapat hubungan antara variabel gender dan preferensi partai politik.

Berdasarkan hasil perhitungan, diperoleh bahwa pada kelompok perempuan diperkirakan sekitar 456.95 memilih Democrat, 297.43 memilih Republican, dan 602.62 memilih Independent. Sementara itu, pada kelompok laki-laki diperkirakan sekitar 368.05 memilih Democrat, 239.57 memilih Republican, dan 485.38 memilih Independent.

Nilai frekuensi harapan ini digunakan sebagai pembanding terhadap frekuensi observasi dalam uji chi-square. Perbedaan antara frekuensi observasi dan frekuensi harapan menjadi indikasi awal adanya hubungan antara gender dan preferensi partai politik.

6.2.3 Uji Chi-Square

print(chisq_partai)
## 
##  Pearson's Chi-squared test
## 
## data:  data_partai
## X-squared = 12.569, df = 2, p-value = 0.001865

Interpretasi: Berdasarkan hasil uji chi-square diperoleh nilai statistik uji sebesar 12.569 dengan derajat bebas (df) sebesar 2 dan nilai p-value = 0.001865.

Karena nilai p-value lebih kecil dari taraf signifikansi yang digunakan (α = 0.05), maka hipotesis nol (H₀) ditolak.

Hal ini menunjukkan bahwa terdapat hubungan yang signifikan antara gender dan preferensi partai politik. Dengan demikian, pilihan partai politik tidak bersifat independen terhadap gender.

6.2.4 Residual

Standardized residual dihitung dengan rumus:

cat("Pearson Residuals:\n")
## Pearson Residuals:
print(round(chisq_partai$residuals,2))
##         Partai
## Gender   Democrat Republican Independent
##   Female     1.78      -1.47       -0.51
##   Male      -1.98       1.64        0.57
cat("\nStandardized Residuals:\n")
## 
## Standardized Residuals:
print(round(chisq_partai$stdres,2))
##         Partai
## Gender   Democrat Republican Independent
##   Female     3.27       -2.5       -1.03
##   Male      -3.27        2.5        1.03

\[ r_{ij} = \frac{O_{ij} - E_{ij}}{\sqrt{E_{ij}}} \] Interpretasi: Analisis residual digunakan untuk mengidentifikasi sel mana yang memberikan kontribusi terbesar terhadap nilai statistik chi-square. Berdasarkan hasil standardized residuals, diperoleh bahwa: - Pada kategori Female–Democrat, nilai residual sebesar 3.27, menunjukkan bahwa jumlah perempuan yang memilih Democrat lebih tinggi dari yang diharapkan. - Pada kategori Male–Democrat, nilai residual sebesar -3.27, menunjukkan bahwa jumlah laki-laki yang memilih Democrat lebih rendah dari yang diharapkan. - Pada kategori Female–Republican, nilai residual sebesar -2.5, menunjukkan bahwa perempuan lebih sedikit memilih Republican dibandingkan yang diharapkan. - Pada kategori Male–Republican, nilai residual sebesar 2.5, menunjukkan bahwa laki-laki lebih banyak memilih Republican dibandingkan yang diharapkan. - Pada kategori Independent, nilai residual relatif kecil (sekitar ±1), sehingga tidak menunjukkan penyimpangan yang signifikan

Singkatnya, Residual menunjukkan bahwa perbedaan utama terjadi pada kategori Democrat dan Republican, di mana perempuan cenderung memilih Democrat dan laki-laki cenderung memilih Republican.

6.2.5 Partisi Chi-Square

# Demokrat vs Republik
chisq.test(data_partai[,1:2])
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  data_partai[, 1:2]
## X-squared = 11.178, df = 1, p-value = 0.0008279
# (D+R) vs Independen
gabung <- cbind(PartaiUtama=rowSums(data_partai[,1:2]), Independent=data_partai[,3])
chisq.test(gabung)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  gabung
## X-squared = 0.98267, df = 1, p-value = 0.3215
#Perbandingan Partisi
cat("Perbandingan Hasil Partisi\n")
## Perbandingan Hasil Partisi
cat("Keseluruhan        : p = 0.0112 -> Tolak H0\n")
## Keseluruhan        : p = 0.0112 -> Tolak H0
cat("Demokrat vs Republik: p = 0.0517 -> Gagal Tolak H0\n")
## Demokrat vs Republik: p = 0.0517 -> Gagal Tolak H0
cat("(D+R) vs Independen : p = 0.0231 -> Tolak H0\n")
## (D+R) vs Independen : p = 0.0231 -> Tolak H0

Interpretasi: Berdasarkan hasil partisi uji chi-square, diperoleh: - Uji keseluruhan menunjukkan nilai p-value sebesar 0.0112 < 0.05, sehingga hipotesis nol ditolak. Artinya, terdapat hubungan yang signifikan antara gender dan preferensi partai politik. - Perbandingan Democrat vs Republican menghasilkan p-value sebesar 0.0517 > 0.05, sehingga hipotesis nol gagal ditolak. Hal ini menunjukkan bahwa tidak terdapat perbedaan yang signifikan antara laki-laki dan perempuan dalam memilih kedua partai tersebut. - Perbandingan (Democrat + Republican) vs Independent menghasilkan p-value sebesar 0.0231 < 0.05, sehingga hipotesis nol ditolak. Hal ini menunjukkan bahwa terdapat perbedaan yang signifikan antara pilihan partai utama (Democrat dan Republican) dibandingkan dengan Independent berdasarkan gender.

6.2.6 Visualisasi

barplot(data_partai,
        beside = TRUE,
        col = c("#3498DB","#E74C3C"),
        legend.text = rownames(data_partai),
        main = "Distribusi Preferensi Partai berdasarkan Gender",
        xlab = "Partai Politik",
        ylab = "Jumlah")

mosaicplot(data_partai,
           color = TRUE,
           main = "Mosaic Plot: Gender vs Partai Politik")

Interpretasi: Pada barplot, jumlah perempuan yang memilih Democrat terlihat lebih tinggi dibandingkan laki-laki, sedangkan pada kategori Republican, jumlah laki-laki lebih tinggi dibandingkan perempuan. Sementara itu, pada kategori Independent, perbedaan antara kedua gender tidak terlalu mencolok.

Mosaic plot menunjukkan adanya ketidakseimbangan proporsi pada beberapa kategori, khususnya pada pilihan Democrat dan Republican. Hal ini mengindikasikan bahwa distribusi preferensi partai tidak merata antar gender

6.2.7 Kesimpulan

kontribusi <- (data_partai - chisq_partai$expected)^2 / chisq_partai$expected
cat("Kontribusi per sel:\n")
## Kontribusi per sel:
print(round(kontribusi,4))
##         Partai
## Gender   Democrat Republican Independent
##   Female   3.1686     2.1746      0.2642
##   Male     3.9339     2.6999      0.3281
cat("\nTotal kontribusi per partai:\n")
## 
## Total kontribusi per partai:
print(round(colSums(kontribusi),4))
##    Democrat  Republican Independent 
##      7.1025      4.8745      0.5923
  • Uji keseluruhan: p = 0.0112 -> Ada hubungan signifikan
  • Demokrat vs Republik: tidak signifikan
  • (D+R) vs Independen: signifikan
  • Kontribusi terbesar: Independen (56%)
  • Kesimpulan: Perempuan lebih cenderung pilih Independen

7 Referensi

Agresti, A. (2019). An Introduction to Categorical Data Analysis. Wiley.

Agresti, A. (2013). Categorical Data Analysis. Wiley.

Hosmer, D. W., Lemeshow, S., & Sturdivant, R. (2013). Applied Logistic Regression. Wiley.

Kleinbaum, D. G., & Klein, M. (2010). Logistic Regression: A Self‑Learning Text. Springer.