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