data_kesehatan.csv <-read.csv("data_kesehatan.csv")
head (data_kesehatan.csv)
##   X id umur jenis_kelamin tinggi_badan berat_badan gula_darah tekanan_sistolik
## 1 1  1   33     Perempuan     159.5587    62.85027   80.08403         129.2978
## 2 2  2   59     Perempuan     152.9881    54.73592   79.20090         108.6373
## 3 3  3   39     Perempuan     156.1915    66.84162   99.64040         132.7729
## 4 4  4   64     Laki-laki     173.8024    54.83932   97.35650         108.7811
## 5 5  5   67     Perempuan     164.0242    62.21020   49.01314         129.4536
## 6 6  6   20     Perempuan     150.0967    61.15284  120.81147         136.4499
##   tekanan_diastolik kolesterol skor_kesehatan
## 1          69.13882   181.3293      100.00000
## 2          73.34697   209.6954      100.00000
## 3          87.14848   176.3801       88.52949
## 4          75.68339   172.1841      100.00000
## 5          82.27615   138.6886      100.00000
## 6          92.94946   183.7165       75.39378
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
library(ggplot2)
  1. Berapa rata-rata tinggi badan responden laki-laki?
aggregate(tinggi_badan ~ jenis_kelamin, data = data_kesehatan.csv, mean)
##   jenis_kelamin tinggi_badan
## 1     Laki-laki     171.0215
## 2     Perempuan     159.6470
  1. Berapa jumlah responden yang memenuhi semua indikator sehat (gula <110, kolesterol <200, tekanan <130/85)?
sehat <- data_kesehatan.csv %>%
  filter(gula_darah < 110) %>%
  filter(kolesterol < 200) %>%
  filter(tekanan_sistolik < 130) %>%
  filter(tekanan_diastolik < 85) %>%
  select(jenis_kelamin, gula_darah, kolesterol, tekanan_sistolik, tekanan_diastolik ) %>%
  group_by(jenis_kelamin) %>%
  summarise(Orang_sehat = n())
sehat
## # A tibble: 2 × 2
##   jenis_kelamin Orang_sehat
##   <chr>               <int>
## 1 Laki-laki              25
## 2 Perempuan              23
  1. Berapa rata-rata skor_kesehatan pada responden dengan kolesterol <200 dan gula <110?
sehat2 <- data_kesehatan.csv %>%
  filter(gula_darah < 110) %>%
  filter(kolesterol < 200) %>%
  summarise(mean(skor_kesehatan))
sehat2
##   mean(skor_kesehatan)
## 1             96.57272
  1. Berapa rata-rata skor_kesehatan responden obesitas (BMI > 30)?
bmi <- data_kesehatan.csv %>%
  mutate(bmi = berat_badan/(tinggi_badan / 100)^2) 

obes <- bmi %>%
  filter( bmi > 30) %>%
  summarise(mean(skor_kesehatan))
obes
##   mean(skor_kesehatan)
## 1             74.92593