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
data_kesehatan <- read.csv("data_kesehatan.csv")
table(data_kesehatan$jenis_kelamin)
## 
## Laki-laki Perempuan 
##       108        92
aggregate(tinggi_badan ~ jenis_kelamin, data = data_kesehatan, FUN = mean, na.rm = TRUE)
##   jenis_kelamin tinggi_badan
## 1     Laki-laki     171.0215
## 2     Perempuan     159.6470
library(dplyr)
indikator_sehat <- data_kesehatan %>%
filter(gula_darah < 110 & kolesterol < 200 & tekanan_sistolik < 130 & tekanan_diastolik < 85) %>%
group_by(jenis_kelamin) %>%
summarise(Jumlah = n())

print(indikator_sehat)
## # A tibble: 2 × 2
##   jenis_kelamin Jumlah
##   <chr>          <int>
## 1 Laki-laki         25
## 2 Perempuan         23
data_terendah <- data_kesehatan[order(data_kesehatan$skor_kesehatan), ]
lima_terendah <- head(data_terendah, 5)
lima_terendah[, c("id", "skor_kesehatan")]
##      id skor_kesehatan
## 49   49       45.44594
## 11   11       48.51474
## 70   70       53.51686
## 193 193       54.22224
## 176 176       57.96087
min_gula <- min(data_kesehatan$gula, na.rm = TRUE)
responden_terendah <- data_kesehatan[data_kesehatan$gula_darah == min_gula, ]
responden_terendah[, c("id", "gula_darah")]
##   id gula_darah
## 5  5   49.01314
data_kesehatan <- data_kesehatan %>%
  mutate(BMI = berat_badan / (tinggi_badan/100)^2)
data_kesehatan %>%
  filter(BMI > 30) %>%
  summarise(rata_rata = mean(skor_kesehatan, na.rm = TRUE))
##   rata_rata
## 1  74.92593