# Membuat tabel kontingensi
data <- matrix(c(20, 80,
                 30, 30),
               nrow = 2, byrow = TRUE)

# Menambahkan nama baris dan kolom
rownames(data) <- c("Sudah Vaksin Lengkap", "Belum Vaksin Lengkap")
colnames(data) <- c("Terkonfirmasi", "Tidak Terkonfirmasi")
# Melihat tabel
data
                     Terkonfirmasi Tidak Terkonfirmasi
Sudah Vaksin Lengkap            20                  80
Belum Vaksin Lengkap            30                  30
# Melakukan uji chi-square independensi
uji_chi <- chisq.test(data, correct = FALSE)
uji_chi

    Pearson's Chi-squared test

data:  data
X-squared = 15.709, df = 1, p-value = 7.387e-05
# Menampilkan expected value (nilai harapan)
uji_chi$expected
                     Terkonfirmasi Tidak Terkonfirmasi
Sudah Vaksin Lengkap         31.25               68.75
Belum Vaksin Lengkap         18.75               41.25

Lihat nilai p-value pada hasil uji_chi.

Jika p-value < 0.05 → Ada hubungan antara status vaksinasi dan kejadian COVID-19.

Jika p-value ≥ 0.05 → Tidak ada hubungan yang signifikan.

hasil uji chi-square biasanya akan memberikan:

Chi-squared sekitar 15,709 ~ 15,71 (Jawaban sama dengan manual yang saya buat)

df = 1

Jika menggunakan Pvalue, didapatkan bahwa p-value < 0.001 → artinya ada hubungan signifikan antara vaksinasi dan kejadian COVID-19.

# Data tabel
a <- 20  # Sudah vaksin & terkonfirmasi
b <- 80  # Sudah vaksin & tidak terkonfirmasi
c <- 30  # Belum vaksin & terkonfirmasi
d <- 30  # Belum vaksin & tidak terkonfirmasi

# Hitung Odds Ratio
or <- (a * d) / (b * c)
or

# Hitung Confidence Interval 95%
se_log_or <- sqrt(1/a + 1/b + 1/c + 1/d)
ci_lower <- exp(log(or) - 1.96 * se_log_or)
ci_upper <- exp(log(or) + 1.96 * se_log_or)

cat("Odds Ratio =", round(or, 2), "\n")
cat("95% CI =", round(ci_lower, 2), "-", round(ci_upper, 2), "\n")

Didapatkan bahwa nilai OR 0,25 (sama seperti yang saya dapatkan manual) artinya status vaksinasi lengkap memiliki kemungkinan 0,25 kali untuk terkonfirmasi Covid-19

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCg0KYGBge3J9DQojIE1lbWJ1YXQgdGFiZWwga29udGluZ2Vuc2kNCmRhdGEgPC0gbWF0cml4KGMoMjAsIDgwLA0KICAgICAgICAgICAgICAgICAzMCwgMzApLA0KICAgICAgICAgICAgICAgbnJvdyA9IDIsIGJ5cm93ID0gVFJVRSkNCg0KIyBNZW5hbWJhaGthbiBuYW1hIGJhcmlzIGRhbiBrb2xvbQ0Kcm93bmFtZXMoZGF0YSkgPC0gYygiU3VkYWggVmFrc2luIExlbmdrYXAiLCAiQmVsdW0gVmFrc2luIExlbmdrYXAiKQ0KY29sbmFtZXMoZGF0YSkgPC0gYygiVGVya29uZmlybWFzaSIsICJUaWRhayBUZXJrb25maXJtYXNpIikNCiMgTWVsaWhhdCB0YWJlbA0KZGF0YQ0KYGBgDQoNCmBgYHtyfQ0KIyBNZWxha3VrYW4gdWppIGNoaS1zcXVhcmUgaW5kZXBlbmRlbnNpDQp1amlfY2hpIDwtIGNoaXNxLnRlc3QoZGF0YSwgY29ycmVjdCA9IEZBTFNFKQ0KdWppX2NoaQ0KYGBgDQpgYGB7cn0NCiMgTWVuYW1waWxrYW4gZXhwZWN0ZWQgdmFsdWUgKG5pbGFpIGhhcmFwYW4pDQp1amlfY2hpJGV4cGVjdGVkDQpgYGANCg0KTGloYXQgbmlsYWkgcC12YWx1ZSBwYWRhIGhhc2lsIHVqaV9jaGkuDQoNCkppa2EgcC12YWx1ZSA8IDAuMDUg4oaSIEFkYSBodWJ1bmdhbiBhbnRhcmEgc3RhdHVzIHZha3NpbmFzaSBkYW4ga2VqYWRpYW4gQ09WSUQtMTkuDQoNCkppa2EgcC12YWx1ZSDiiaUgMC4wNSDihpIgVGlkYWsgYWRhIGh1YnVuZ2FuIHlhbmcgc2lnbmlmaWthbi4NCg0KaGFzaWwgdWppIGNoaS1zcXVhcmUgYmlhc2FueWEgYWthbiBtZW1iZXJpa2FuOg0KDQpDaGktc3F1YXJlZCBzZWtpdGFyIDE1LDcwOSB+IDE1LDcxIChKYXdhYmFuIHNhbWEgZGVuZ2FuIG1hbnVhbCB5YW5nIHNheWEgYnVhdCkNCg0KZGYgPSAxDQoNCkppa2EgbWVuZ2d1bmFrYW4gUHZhbHVlLCBkaWRhcGF0a2FuIGJhaHdhIHAtdmFsdWUgPCAwLjAwMSDihpIgYXJ0aW55YSBhZGEgaHVidW5nYW4gc2lnbmlmaWthbiBhbnRhcmEgdmFrc2luYXNpIGRhbiBrZWphZGlhbiBDT1ZJRC0xOS4NCg0KYGBge3J9DQojIERhdGEgdGFiZWwNCmEgPC0gMjAgICMgU3VkYWggdmFrc2luICYgdGVya29uZmlybWFzaQ0KYiA8LSA4MCAgIyBTdWRhaCB2YWtzaW4gJiB0aWRhayB0ZXJrb25maXJtYXNpDQpjIDwtIDMwICAjIEJlbHVtIHZha3NpbiAmIHRlcmtvbmZpcm1hc2kNCmQgPC0gMzAgICMgQmVsdW0gdmFrc2luICYgdGlkYWsgdGVya29uZmlybWFzaQ0KDQojIEhpdHVuZyBPZGRzIFJhdGlvDQpvciA8LSAoYSAqIGQpIC8gKGIgKiBjKQ0Kb3INCg0KIyBIaXR1bmcgQ29uZmlkZW5jZSBJbnRlcnZhbCA5NSUNCnNlX2xvZ19vciA8LSBzcXJ0KDEvYSArIDEvYiArIDEvYyArIDEvZCkNCmNpX2xvd2VyIDwtIGV4cChsb2cob3IpIC0gMS45NiAqIHNlX2xvZ19vcikNCmNpX3VwcGVyIDwtIGV4cChsb2cob3IpICsgMS45NiAqIHNlX2xvZ19vcikNCg0KY2F0KCJPZGRzIFJhdGlvID0iLCByb3VuZChvciwgMiksICJcbiIpDQpjYXQoIjk1JSBDSSA9Iiwgcm91bmQoY2lfbG93ZXIsIDIpLCAiLSIsIHJvdW5kKGNpX3VwcGVyLCAyKSwgIlxuIikNCg0KDQpgYGANCg0KRGlkYXBhdGthbiBiYWh3YSBuaWxhaSBPUiAwLDI1IChzYW1hIHNlcGVydGkgeWFuZyBzYXlhIGRhcGF0a2FuIG1hbnVhbCkNCmFydGlueWEgc3RhdHVzIHZha3NpbmFzaSBsZW5na2FwIG1lbWlsaWtpIGtlbXVuZ2tpbmFuIDAsMjUga2FsaSB1bnR1ayB0ZXJrb25maXJtYXNpIENvdmlkLTE5