data_kesehatan <- read.csv("data_kesehatan.csv")
jumlah_responden <- table(data_kesehatan$jenis_kelamin)
print(jumlah_responden)
## 
## Laki-laki Perempuan 
##       108        92

Jumlah responden yang memenuhi semua indikator sehat: gula < 110; kolesterol <200; tekanan < 130/85

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_sehat <- subset(data_kesehatan,
        gula_darah < 110 &
        kolesterol < 200 &
        tekanan_sistolik < 130 & 
        tekanan_diastolik < 85)

jumlah_sehat <- nrow(data_sehat)

print(paste(jumlah_sehat))
## [1] "48"

Mengurutkan data berdasarkan skor kesehatan dari yang terendah dan ambil 5 teratas

top_5_terendah <- data_kesehatan %>%
  arrange(skor_kesehatan) %>%
  slice(1:5)
print(top_5_terendah)
##     X  id umur jenis_kelamin tinggi_badan berat_badan gula_darah
## 1  49  49   32     Perempuan     147.6860    72.92436   135.0351
## 2  11  11   68     Perempuan     162.9534    39.93666   155.9478
## 3  70  70   41     Laki-laki     170.6245    80.10678   135.5821
## 4 193 193   69     Laki-laki     176.1898    78.86749   143.8718
## 5 176 176   50     Laki-laki     165.8736    88.77864   115.3701
##   tekanan_sistolik tekanan_diastolik kolesterol skor_kesehatan
## 1         141.0703          85.51274   218.5767       45.44594
## 2         123.0276          80.65068   224.3279       48.51474
## 3         136.8850          71.69891   238.1264       53.51686
## 4         135.8586          75.48187   236.9744       54.22224
## 5         129.4345          88.19628   232.7038       57.96087

Rata-rata skor kesehatan per kelompok umur, <30, 30-50, dan >50 tahun secara berturut-turut

data <- data_kesehatan %>%
  mutate(umur_kategori = case_when(
    umur < 30 ~ "<30",
    umur >= 30 & umur <= 50 ~ "30-50",
    umur > 50 ~ ">50"
  ))

rata_rata <- data %>%
  group_by(umur_kategori) %>%
  summarize(rata_rata_skor = mean(skor_kesehatan, na.rm = TRUE))
print(rata_rata)
## # A tibble: 3 × 2
##   umur_kategori rata_rata_skor
##   <chr>                  <dbl>
## 1 30-50                   89.4
## 2 <30                     90.4
## 3 >50                     89.5

Yang memiliki gula darah terendah

responden_terendah <- data_kesehatan %>%
  filter(gula_darah == min(gula_darah, na.rm = TRUE))

print(responden_terendah)
##   X id umur jenis_kelamin tinggi_badan berat_badan gula_darah tekanan_sistolik
## 1 5  5   67     Perempuan     164.0242     62.2102   49.01314         129.4536
##   tekanan_diastolik kolesterol skor_kesehatan
## 1          82.27615   138.6886            100

Rata-rata skor_kesehatan pada responden dengan kolesterol <200 dan gula <110?

mean_skor <- data %>%
  filter(kolesterol < 200, gula_darah < 110) %>%
  summarise(rata_rata = mean(skor_kesehatan, na.rm = TRUE))

print(mean_skor)
##   rata_rata
## 1  96.57272