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)
- 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
- 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
- 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
- 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