==============================================
1. PEMBANGKITAN DATA
==============================================
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.6
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.1 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
set.seed(123)
data_mahasiswa <- data.frame(
nama = paste0("Mahasiswa_", 1:50),
usia = sample(18:30, 50, replace = TRUE),
gender = sample(c("Laki-laki", "Perempuan"), 50, replace = TRUE),
merokok = sample(c("Ya", "Tidak"), 50, replace = TRUE, prob = c(0.3, 0.7)),
harapan_hidup = rnorm(50, mean = 75, sd = 5)
)
head(data_mahasiswa)
summary(data_mahasiswa)
## nama usia gender merokok
## Length:50 Min. :18.00 Length:50 Length:50
## Class :character 1st Qu.:22.00 Class :character Class :character
## Mode :character Median :26.00 Mode :character Mode :character
## Mean :24.74
## 3rd Qu.:27.00
## Max. :30.00
## harapan_hidup
## Min. :66.66
## 1st Qu.:71.90
## Median :74.68
## Mean :74.92
## 3rd Qu.:77.11
## Max. :85.94
==============================================
2. COMPLETE & CURTATE LIFE EXPECTANCY (PER MAHASISWA)
==============================================
# Hitung untuk SETIAP mahasiswa
data_mahasiswa <- data_mahasiswa %>%
mutate(
complete_le = harapan_hidup - usia,
curtate_le = floor(complete_le),
sisa_hidup = complete_le
)
head(data_mahasiswa)
==============================================
3. RATA-RATA HARAPAN HIDUP BERDASARKAN GENDER
==============================================
rata_gender <- data_mahasiswa %>%
group_by(gender) %>%
summarise(
jumlah = n(),
rata_rata_harapan_hidup = mean(harapan_hidup),
sd = sd(harapan_hidup)
)
rata_gender
==============================================
4. UJI HIPOTESIS PERBEDAAN GENDER
==============================================
t_test_gender <- t.test(harapan_hidup ~ gender, data = data_mahasiswa)
t_test_gender
##
## Welch Two Sample t-test
##
## data: harapan_hidup by gender
## t = 0.20116, df = 47.869, p-value = 0.8414
## alternative hypothesis: true difference in means between group Laki-laki and group Perempuan is not equal to 0
## 95 percent confidence interval:
## -2.146226 2.623393
## sample estimates:
## mean in group Laki-laki mean in group Perempuan
## 75.03551 74.79693
==============================================
5. HISTOGRAM COMPLETE LIFE EXPECTANCY
==============================================
hist(data_mahasiswa$complete_le,
main = "Histogram Complete Life Expectancy",
xlab = "Complete Life Expectancy",
col = "blue",
border = "black")

==============================================
6. BOXPLOT BERDASARKAN STATUS MEROKOK
==============================================
boxplot(harapan_hidup ~ merokok,
data = data_mahasiswa,
main = "Boxplot Harapan Hidup berdasarkan Status Merokok",
xlab = "Status Merokok",
ylab = "Harapan Hidup",
col = c("orange", "green"))

==============================================
7. SCATTER PLOT USIA vs SISA HARAPAN HIDUP
==============================================
plot(data_mahasiswa$usia,
data_mahasiswa$sisa_hidup,
main = "Scatter Plot usia vs harapan_hidup",
xlab = "usia",
ylab = "Sisa harapan_hidup",
col = "lightgreen",
pch = 16)
abline(lm(sisa_hidup ~ usia, data = data_mahasiswa),
col = "red", lwd = 2)

==============================================
8. RINGKASAN AKHIR
==============================================
cat("====================================================\n")
## ====================================================
cat("RINGKASAN ANALISIS\n")
## RINGKASAN ANALISIS
cat("====================================================\n")
## ====================================================
cat("Jumlah Observasi:", nrow(data_mahasiswa), "\n")
## Jumlah Observasi: 50
cat("Rata-rata Harapan Hidup:",
round(mean(data_mahasiswa$harapan_hidup),2), "\n")
## Rata-rata Harapan Hidup: 74.92
cat("Rata-rata Complete LE:",
round(mean(data_mahasiswa$complete_le),2), "\n")
## Rata-rata Complete LE: 50.18
cat("Rata-rata Curtate LE:",
round(mean(data_mahasiswa$curtate_le),2), "\n")
## Rata-rata Curtate LE: 49.64
cat("====================================================\n")
## ====================================================