library(readxl)
tugas_1_adk_data <- read_excel("C:/Users/tengk/Downloads/tugas 1 adk data.xlsx")
View(tugas_1_adk_data)
# Membuat tabel kontingensi (tabel silang)
tabel_kontingensi <- table(tugas_1_adk_data$Gender, tugas_1_adk_data$HeartDisease)
# Menampilkan hasilnya
tabel_kontingensi
##
## no yes
## F 72 25
## M 89 113
Dari tabel di atas, kita dapat melihat:
Perempuan (F): Mayoritas perempuan dalam data ini (72) tidak menderita penyakit jantung, dibandingkan dengan 25 yang menderita.
Laki-laki (M): Mayoritas laki-laki dalam data ini (113) menderita penyakit jantung, dibandingkan dengan 89 yang tidak menderita.
Diketahui nuntuk sel baris pertama yaitu 52,23 dan frekuensi observasi aktualnya Adalah 72. Jika variable X dan Y independent, maka nilai harapan Perempuan untuk perempuan tidak terkena penyakit jantung Adalah sebesar 52,23; nilai harapan untuk Perempuan terkena penyakit jantung sebesar 44,77. Sedangkan untuk laki-laki nilai harapan untuk tidak terkena penyakit jantung sebesar 108,77 dan terkena penyakit jantung sebesar 93,28.
Menguji apakah ada hubungan yang signifikan antara Jenis Kelamin dan Status Penyakit Jantung. Hipotesis Nol H0: Tidak ada hubungan yang signifikan (independen) antara Jenis Kelamin dan Status Penyakit Jantung. Hipotesis Alternatif Ha: Ada hubungan yang signifikan (dependen) antara Jenis Kelamin dan Status Penyakit Jantung.
# 2. Melakukan Uji Chi-squared
uji_chi2 <- chisq.test(tabel_kontingensi, correct=FALSE)
# Menampilkan hasil uji (Chi-squared statistic, df, dan p-value)
print(uji_chi2)
##
## Pearson's Chi-squared test
##
## data: tabel_kontingensi
## X-squared = 23.997, df = 1, p-value = 9.646e-07
Keputusan : Nilai pvalue = 1,799 e^-06 atau Pvalue= 0,000 dengan alpha = 5%. Karena Nilai-p lebih kecil dari taraf nyata (0.0000 < 0.05), kita menolak Hipotesis Nol (H0). Kesimpulan:Pada taraf nyata 5%, terdapat bukti statistik yang kuat untuk menyimpulkan bahwa ada hubungan yang signifikan antara Jenis Kelamin dan Status Penyakit Jantung. Ini berarti status penyakit jantung (menderita/tidak menderita) dependen (tidak independen) terhadap jenis kelamin. Secara observasi, laki-laki memiliki kecenderungan yang lebih tinggi untuk menderita penyakit jantung dalam dataset ini.
# Menghitung Odds Ratio
or <- ((tabel_kontingensi[1,1] * tabel_kontingensi[2,2]) / (tabel_kontingensi[2,1] * tabel_kontingensi[1,2]))
or
## [1] 3.656629
Dari hasil R diatas, nilai Odds sebesar 3,6566 menunjukkan bahwa Perempuan memiliki kemunhkinan 3,65 kali lebih besar untuk mendera penyakit jantung dibandingkan dengan laki-laki.
library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
df <- read_excel("tugas 1 adk data.xlsx")
# Pastikan nama kolom pas
names(df)
## [1] "Age" "Gender" "ChestPain"
## [4] "BloodPressure" "Cholesterol" "BloodSugar"
## [7] "Electrocardiographic" "HeartRate" "Exang"
## [10] "ST" "slope" "Vessel"
## [13] "Thalassemia" "HeartDisease"
# Set semua kategori yang lain juga jadi faktor
df$Gender <- factor(df$Gender)
# Vessel harus numeric (boleh NA kalau gak bisa)
df$Vessel <- suppressWarnings(as.numeric(df$Vessel))
df$HeartRate <- suppressWarnings(as.numeric(df$HeartRate))
# Label HeartDisease jadi biner faktor
df$HeartDisease <- factor(ifelse(df$HeartDisease == "yes", 1, 0))
# Fit model lengkap
model_full <- glm(HeartDisease ~ Gender + HeartRate + Vessel,data = df,
family = binomial)
summary(model_full)
##
## Call:
## glm(formula = HeartDisease ~ Gender + HeartRate + Vessel, family = binomial,
## data = df)
##
## 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
-PARSIAL Hasil uji parameter secara parsial berdasarkan Tabel 2 diatas menunjukkan bahwa semua variabel x yaitu gender, heartrate dan vessel berpengaruh signifikan terhadap status penyakit jantung.
#uJI KECOCOKAN MODEL
anova(model_full)
Dari hasil diatas didapatkan bahwa Residual deviance G_1^2=283,79 dan Null Deviance G_0^2=412,73 Rsq = 1- (G_1^2- G_0^2) Nilai rsq = 0,3124 Nilai 0,3124 memiliki arti bahwa Gender, heartrate dan vessel menjelaskan status penyakit jantung sebesar 31,24%
#b. Model regresi
beta = coef(model_full)
beta
## (Intercept) GenderM HeartRate Vessel
## 4.07970676 1.52022911 -0.04017422 1.17271633
Logit (π)= 4,0797 + 1,5202Gender - 0,0402HeartRate +1,1727Vessel
Interpretasikan koefisien model yang diperoleh
Logit (π)= 4,0797 + 1,5202Gender - 0,0402HeartRate +1,1727Vessel
Exp (intercept) = exp(4,0797) = 59,13
Peluang masyarakat memiliki status penyakit jantung adalah 59,12 kali masyarakat yang berjenis kelamin laki-laki, vessel dan heartrate bernilai 0. Exp (β1) = exp (1,502) = 4,57 Interpretasi : Dengan menganggap variabel numerik (HeartRate dan Vessel) konstan, odds (peluang) subjek pada kategori gender perempuan menderita penyakit jantung adalah 4,573 kali lipat dibandingkan dengan odds subjek pada kategori Gender = 0 (laki-laki). Gender adalah prediktor yang kuat, meningkatkan peluang penyakit jantung lebih dari empat kali lipat untuk kategori Gender=1 (perempuan)