==============================================================================

Import Dataset

==============================================================================

library(readxl)

data <- read_excel( “C:/Users/Hype GLK/OneDrive/Dokumen/Project kodingan/R/dataset_kesehatan.xlsx” )

print(data, n = 55)

==============================================================================

Statistika Deskriptif Awal

==============================================================================

summary(data) str(data) sapply(data, class)

==============================================================================

Ringkasan Statistik

==============================================================================

library(dplyr)

a <- data %>% summarise(

n = n(),

# ----------------------------- USIA ----------------------------------------

mean_usia   = mean(data$usia_tahun),
median_usia = median(data$usia_tahun),
sd_usia     = sd(data$usia_tahun),
max_usia    = max(data$usia_tahun),
min_usia    = min(data$usia_tahun),

# -------------------------- BERAT BADAN ------------------------------------

mean_berat   = mean(data$berat_badan_kg),
median_berat = median(data$berat_badan_kg),
sd_berat     = sd(data$berat_badan_kg),
max_berat    = max(data$berat_badan_kg),
min_berat    = min(data$berat_badan_kg),

# ------------------------- TINGGI BADAN ------------------------------------

mean_tinggi   = mean(data$tinggi_badan_cm),
median_tinggi = median(data$tinggi_badan_cm),
sd_tinggi     = sd(data$tinggi_badan_cm),
max_tinggi    = max(data$tinggi_badan_cm),
min_tinggi    = min(data$tinggi_badan_cm),

# ------------------------ TEKANAN DARAH ------------------------------------

mean_tekanan   = mean(data$tekanan_darah_sistolik),
median_tekanan = median(data$tekanan_darah_sistolik),
sd_tekanan     = sd(data$tekanan_darah_sistolik),
max_tekanan    = max(data$tekanan_darah_sistolik),
min_tekanan    = min(data$tekanan_darah_sistolik),

# ------------------------ LANGKAH HARIAN -----------------------------------

mean_langkah   = mean(data$langkah_harian),
median_langkah = median(data$langkah_harian),
sd_langkah     = sd(data$langkah_harian),
max_langkah    = max(data$langkah_harian),
min_langkah    = min(data$langkah_harian)

)

print(a, width = Inf)

==============================================================================

Visualisasi Data

==============================================================================

————————- BARPLOT FREKUENSI ———————————-

par(mfrow = c(1, 3))

freq_usia <- table(data$usia_tahun)

barplot( freq_usia, main = “Barplot Usia”, xlab = “Usia (Tahun)”, ylab = “Frekuensi” )

freq_berat <- table(data$berat_badan_kg)

barplot( freq_berat, main = “Barplot Berat Badan”, xlab = “Berat (kg)”, ylab = “Frekuensi” )

freq_tinggi <- table(data$tinggi_badan_cm)

barplot( freq_tinggi, main = “Barplot Tinggi Badan”, xlab = “Tinggi (cm)”, ylab = “Frekuensi” )

freq_tekanan <- table(data$tekanan_darah_sistolik)

barplot( freq_tekanan, main = “Barplot Tekanan Darah Sistolik”, xlab = “Tekanan Darah”, ylab = “Frekuensi” )

freq_langkah <- table(data$langkah_harian)

barplot( freq_langkah, main = “Barplot Langkah Harian”, xlab = “Jumlah Langkah”, ylab = “Frekuensi” )

—————————— BOXPLOT —————————————

par(mfrow = c(1, 3))

boxplot( data$usia_tahun, main = “Boxplot Usia”, ylab = “Usia (Tahun)” )

boxplot( data$berat_badan_kg, main = “Boxplot Berat Badan”, ylab = “Berat (kg)” )

boxplot( data$tinggi_badan_cm, main = “Boxplot Tinggi Badan”, ylab = “Tinggi (cm)” )

boxplot( data$tekanan_darah_sistolik, main = “Boxplot Tekanan Darah Sistolik”, ylab = “Tekanan Darah” )

boxplot( data$langkah_harian, main = “Boxplot Langkah Harian”, ylab = “Jumlah Langkah” )

==============================================================================

Minggu 3 — Probabilitas Empiris

==============================================================================

ambang_usia <- 40 ambang_berat <- 70 ambang_tinggi <- 165 ambang_tekanan <- 120 ambang_langkah <- 8000

———————- HITUNG PROBABILITAS ———————————–

p_usia <- mean(data\(usia_tahun > ambang_usia) p_berat <- mean(data\)berat_badan_kg > ambang_berat) p_tinggi <- mean(data\(tinggi_badan_cm > ambang_tinggi) p_tekanan <- mean(data\)tekanan_darah_sistolik > ambang_tekanan) p_langkah <- mean(data$langkah_harian < ambang_langkah)

———————- TABEL PROBABILITAS ————————————

prob_empiris <- data.frame( kejadian = c( paste0(“usia >”, ambang_usia), paste0(“berat badan >”, ambang_berat), paste0(“tinggi badan >”, ambang_tinggi), paste0(“tekanan darah >”, ambang_tekanan), paste0(“langkah harian <”, ambang_langkah) ), peluang_empiris = c( p_usia, p_berat, p_tinggi, p_tekanan, p_langkah ) ) print(prob_empiris)

==============================================================================

Minggu 4 — Variabel Acak & Distribusi Diskrit (PMF Empiris)

==============================================================================

——————————- PMF USIA ————————————-

freq_usia <- table(data$usia_tahun) pmf_usia <- prop.table(freq_usia)

pmf_df_usia <- data.frame( usia_tahun = as.numeric(names(pmf_usia)), probabilitas = as.numeric(pmf_usia) )

print(pmf_df_usia)

————————— PMF BERAT BADAN ———————————-

freq_berat <- table(data$berat_badan_kg) pmf_berat <- prop.table(freq_berat)

pmf_df_berat <- data.frame( berat_badan_kg = as.numeric(names(pmf_berat)), probabilitas = as.numeric(pmf_berat) )

print(pmf_df_berat)

————————– PMF TINGGI BADAN ———————————-

freq_tinggi <- table(data$tinggi_badan_cm) pmf_tinggi <- prop.table(freq_tinggi)

pmf_df_tinggi <- data.frame( tinggi_badan_cm = as.numeric(names(pmf_tinggi)), probabilitas = as.numeric(pmf_tinggi) )

print(pmf_df_tinggi)

————————– PMF TEKANAN DARAH ———————————

freq_tekanan <- table(data$tekanan_darah_sistolik) pmf_tekanan <- prop.table(freq_tekanan)

pmf_df_tekanan <- data.frame( tekanan_darah_sistolik = as.numeric(names(pmf_tekanan)), probabilitas = as.numeric(pmf_tekanan) )

print(pmf_df_tekanan)

————————- PMF LANGKAH HARIAN ———————————

freq_langkah <- table(data$langkah_harian) pmf_langkah <- prop.table(freq_langkah)

pmf_df_langkah <- data.frame( langkah_harian = as.numeric(names(pmf_langkah)), probabilitas = as.numeric(pmf_langkah) )

print(pmf_df_langkah)

==============================================================================

Visualisasi PMF

==============================================================================

par(mfrow = c(1, 2))

variabel <- c( “usia_tahun”, “berat_badan_kg”, “tinggi_badan_cm”, “tekanan_darah_sistolik”, “langkah_harian” )

for (v in variabel) {

freq <- table(data[[v]]) pmf <- prop.table(freq)

barplot( pmf, main = paste(“PMF”, v), xlab = v, ylab = “Probabilitas” )

}

print(prob_empiris)

==============================================================================

Minggu 5 — Distribusi Probabilitas Kontinu (Normal Aproksimasi)

==============================================================================

———————- AMBANG (MEAN SEBAGAI BATAS) —————————

ambang_usia <- mean(data\(usia_tahun) ambang_berat <- mean(data\)berat_badan_kg) ambang_tinggi <- mean(data\(tinggi_badan_cm) ambang_tekanan <- mean(data\)tekanan_darah_sistolik) ambang_langkah <- mean(data$langkah_harian)

—————————- MEAN (MU) —————————————

mu1 <- mean(data\(usia_tahun) mu2 <- mean(data\)berat_badan_kg) mu3 <- mean(data\(tinggi_badan_cm) mu4 <- mean(data\)tekanan_darah_sistolik) mu5 <- mean(data$langkah_harian)

———————- STANDAR DEVIASI (SIGMA) ——————————–

sigma1 <- sd(data\(usia_tahun) sigma2 <- sd(data\)berat_badan_kg) sigma3 <- sd(data\(tinggi_badan_cm) sigma4 <- sd(data\)tekanan_darah_sistolik) sigma5 <- sd(data$langkah_harian)

—————— PROBABILITAS NORMAL P(X > AMBANG) ————————-

p_usia <- 1 - pnorm(ambang_usia, mean = mu1, sd = sigma1) p_berat <- 1 - pnorm(ambang_berat, mean = mu2, sd = sigma2) p_tinggi <- 1 - pnorm(ambang_tinggi, mean = mu3, sd = sigma3) p_tekanan <- 1 - pnorm(ambang_tekanan, mean = mu4, sd = sigma4) p_langkah <- 1 - pnorm(ambang_langkah, mean = mu5, sd = sigma5)

————————— TABEL OUTPUT MODEL ——————————–

model_normal_semua <- data.frame(

variabel = c( “Usia”, “Berat Badan”, “Tinggi Badan”, “Tekanan Darah”, “Langkah Harian” ),

distribusi = “Normal (aproksimasi)”,

mean = c( mu1, mu2, mu3, mu4, mu5 ),

sd = c( sigma1, sigma2, sigma3, sigma4, sigma5 ),

ambang = c( ambang_usia, ambang_berat, ambang_tinggi, ambang_tekanan, ambang_langkah ),

p_model_X_gt_ambang = c( p_usia, p_berat, p_tinggi, p_tekanan, p_langkah )

)

print(model_normal_semua)

==============================================================================

Visualisasi Histogram + Kurva Normal

==============================================================================

par(mfrow = c(2, 3))

————————— HISTOGRAM USIA ———————————–

hist( data$usia_tahun, probability = TRUE, main = “Histogram Usia + Kurva Normal”, xlab = “Usia (Tahun)” )

curve( dnorm(x, mean = mu1, sd = sigma1), add = TRUE, lwd = 2 )

———————— HISTOGRAM BERAT BADAN ——————————–

hist( data$berat_badan_kg, probability = TRUE, main = “Histogram Berat + Kurva Normal”, xlab = “Berat Badan (kg)” )

curve( dnorm(x, mean = mu2, sd = sigma2), add = TRUE, lwd = 2 )

———————– HISTOGRAM TINGGI BADAN ——————————–

hist( data$tinggi_badan_cm, probability = TRUE, main = “Histogram Tinggi + Kurva Normal”, xlab = “Tinggi Badan (cm)” )

curve( dnorm(x, mean = mu3, sd = sigma3), add = TRUE, lwd = 2 )

———————- HISTOGRAM TEKANAN DARAH ——————————–

hist( data$tekanan_darah_sistolik, probability = TRUE, main = “Histogram Tekanan + Kurva Normal”, xlab = “Tekanan Darah Sistolik” )

curve( dnorm(x, mean = mu4, sd = sigma4), add = TRUE, lwd = 2 )

———————– HISTOGRAM LANGKAH HARIAN ——————————

hist( data$langkah_harian, probability = TRUE, main = “Histogram Langkah + Kurva Normal”, xlab = “Langkah Harian” )

curve( dnorm(x, mean = mu5, sd = sigma5), add = TRUE, lwd = 2 )

==============================================================================

Minggu 6 — Distribusi Sampling (Simulasi Rata-rata Sampel)

==============================================================================

set.seed(123)

B <- 2000 n1 <- 10 n2 <- 30

———————- SIMULASI RATA-RATA SAMPEL USIA ————————

mean_n10 <- replicate( B, mean(sample(data$usia_tahun, n1, replace = TRUE)) )

mean_n30 <- replicate( B, mean(sample(data$usia_tahun, n2, replace = TRUE)) )

—————————– DATAFRAME HASIL ———————————

sampling_df <- data.frame( mean_n10 = mean_n10, mean_n30 = mean_n30 )

sampling_df

——————— HISTOGRAM DISTRIBUSI SAMPLING ————————–

par(mfrow = c(1, 2))

hist( mean_n10, main = “Distribusi Sampling Mean Usia (n = 10)”, xlab = “Mean Sampel” )

hist( mean_n30, main = “Distribusi Sampling Mean Usia (n = 30)”, xlab = “Mean Sampel” )

dev.off()

==============================================================================

Minggu 7 — Estimasi Parameter (Titik + CI 95%)

==============================================================================

————————— ESTIMASI MEAN ————————————

mean_usia <- mean(data\(usia_tahun) mean_berat <- mean(data\)berat_badan_kg) mean_tinggi <- mean(data\(tinggi_badan_cm) mean_tekanan <- mean(data\)tekanan_darah_sistolik) mean_langkah <- mean(data$langkah_harian)

———————– CONFIDENCE INTERVAL 95% ——————————

ci_usia <- t.test( data\(usia_tahun, conf.level = 0.95 )\)conf.int

ci_berat <- t.test( data\(berat_badan_kg, conf.level = 0.95 )\)conf.int

ci_tinggi <- t.test( data\(tinggi_badan_cm, conf.level = 0.95 )\)conf.int

ci_tekanan <- t.test( data\(tekanan_darah_sistolik, conf.level = 0.95 )\)conf.int

ci_langkah <- t.test( data\(langkah_harian, conf.level = 0.95 )\)conf.int

————————— TABEL HASIL ESTIMASI —————————–

estimasi <- data.frame(

parameter = c( “mean_usia”, “mean_berat_badan”, “mean_tinggi_badan”, “mean_tekanan_darah”, “mean_langkah_harian” ),

estimasi_titik = c( mean_usia, mean_berat, mean_tinggi, mean_tekanan, mean_langkah ),

CI95_bawah = c( ci_usia[1], ci_berat[1], ci_tinggi[1], ci_tekanan[1], ci_langkah[1] ),

CI95_atas = c( ci_usia[2], ci_berat[2], ci_tinggi[2], ci_tekanan[2], ci_langkah[2] )

)

print(estimasi)