# Membaca data
data_heart <- read.csv("Heart Disease.csv")
# Mengatur level faktor agar interpretasi konsisten
data_heart$Gender <- factor(data_heart$Gender, levels = c("F", "M"))
data_heart$HeartDisease <- factor(data_heart$HeartDisease, levels = c("no", "yes"))
# Membuat tabel kontingensi antara Gender dan HeartDisease
tabel_kontingensi <- table(data_heart$Gender, data_heart$HeartDisease)
dimnames(tabel_kontingensi) <- list(Gender = c("Female", "Male"),
HeartDisease = c("No", "Yes"))
# Menampilkan hasil tabel kontingensi
print(tabel_kontingensi)
## HeartDisease
## Gender No Yes
## Female 72 25
## Male 89 113
# Melakukan uji Chi-Square
uji_chisq <- chisq.test(tabel_kontingensi)
print(uji_chisq)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: tabel_kontingensi
## X-squared = 22.799, df = 1, p-value = 1.799e-06
H0= Tidak terdapat hubungan antara jenis kelamin dan status penyakit jantung (Independen).
H1= Terdapat hubungan antara jenis kelamin dan status penyakit jantung (Dependen).
Nilai \(p\)-value yang diperoleh adalah \(1,799 \times 10^{-6}\) (atau \(0,000001799\)). Karena \(p\)-value \(< 0,05\), maka Tolak \(H_0\). Pada taraf nyata 5%, terdapat cukup bukti untuk menyatakan bahwa ada hubungan yang signifikan antara jenis kelamin seseorang dengan status penyakit jantung yang dideritanya.
# Menghitung Odds Ratio secara manual
a <- tabel_kontingensi[1,1] # Female, No
b <- tabel_kontingensi[1,2] # Female, Yes
c <- tabel_kontingensi[2,1] # Male, No
d <- tabel_kontingensi[2,2] # Male, Yes
OR <- (a * d) / (b * c)
cat("Nilai Odds Ratio (OR):", OR)
## Nilai Odds Ratio (OR): 3.656629
Nilai OR sebesar 3,6566 menunjukkan bahwa laki-laki memiliki kecenderungan (odds) menderita penyakit jantung sebesar 3,6566 kali lipat dibandingkan perempuan. Karena \(OR > 1\), jenis kelamin laki-laki merupakan faktor risiko yang lebih tinggi terhadap penyakit jantung pada dataset ini.
# Membangun model regresi logistik biner
model_logistik <- glm(HeartDisease ~ Gender + HeartRate + Vessel,
data = data_heart,
family = binomial)
# Ringkasan model untuk melihat signifikansi parameter
summary(model_logistik)
##
## Call:
## glm(formula = HeartDisease ~ Gender + HeartRate + Vessel, family = binomial,
## data = data_heart)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.079707 1.116123 3.655 0.000257 ***
## GenderM 1.520229 0.333810 4.554 5.26e-06 ***
## HeartRate -0.040174 0.007406 -5.425 5.81e-08 ***
## Vessel 1.172716 0.192693 6.086 1.16e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 412.73 on 298 degrees of freedom
## Residual deviance: 283.79 on 295 degrees of freedom
## AIC: 291.79
##
## Number of Fisher Scoring iterations: 5
# Menghitung eksponensial koefisien untuk interpretasi Odds Ratio
cat("\nInterpretasi Odds Ratio untuk setiap variabel:\n")
##
## Interpretasi Odds Ratio untuk setiap variabel:
exp(coef(model_logistik))
## (Intercept) GenderM HeartRate Vessel
## 59.1281285 4.5732729 0.9606221 3.2307565
Berdasarkan tabel koefisien model, nilai \(p\)-value (\(Pr(>|z|)\)) untuk semua variabel adalah: GenderM: \(5,26 \times 10^{-6}\)HeartRate: \(5,81 \times 10^{-8}\)Vessel: \(1,16 \times 10^{-9}\) Seluruh variabel memiliki \(p\)-value \(< 0,05\), sehingga disimpulkan bahwa Jenis Kelamin (Laki-laki), Detak Jantung, dan Jumlah Pembuluh Darah Tersumbat berpengaruh signifikan terhadap peluang seseorang menderita penyakit jantung.
\[\ln\left(\frac{\hat{\pi}}{1-\hat{\pi}}\right) = 4,0797 + 1,5202(\text{GenderM}) - 0,0402(\text{HeartRate}) + 1,1727(\text{Vessel})\]
Interpretasi dilakukan dengan melihat nilai eksponensial dari koefisien (\(\exp(\beta)\)):
GenderM (\(\text{OR} = 4,573\)): Dengan asumsi variabel lain tetap, laki-laki memiliki risiko terkena penyakit jantung 4,573 kali lebih besar dibandingkan perempuan.
HeartRate (\(\text{OR} = 0,961\)): Setiap kenaikan 1 satuan detak jantung maksimal, maka kecenderungan terkena penyakit jantung menurun sebesar faktor 0,961 (atau turun sekitar 3,9%), dengan asumsi variabel lain konstan.
Vessel (\(\text{OR} = 3,231\)): Setiap penambahan satu pembuluh darah yang tersumbat, kecenderungan seseorang menderita penyakit jantung meningkat sebesar 3,231 kali lipat.