datakesehatan <- read.csv("data_kesehatan.csv")
head(datakesehatan)
##   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
frekuensi_jenis_kelamin <- datakesehatan %>%
group_by(jenis_kelamin) %>%
summarise(jumlah_mahasiswa=n())
print(frekuensi_jenis_kelamin)  
## # A tibble: 2 × 2
##   jenis_kelamin jumlah_mahasiswa
##   <chr>                    <int>
## 1 Laki-laki                  108
## 2 Perempuan                   92
library (dplyr)
jenis_kelamin_tinggi_badan <- datakesehatan %>%
group_by(jenis_kelamin) %>%
summarise(tinggi_badan = mean(tinggi_badan, na.rm = TRUE)) %>%
arrange(desc(tinggi_badan))
print(jenis_kelamin_tinggi_badan)
## # A tibble: 2 × 2
##   jenis_kelamin tinggi_badan
##   <chr>                <dbl>
## 1 Laki-laki             171.
## 2 Perempuan             160.
library(dplyr)
indikator_sehat <- datakesehatan %>%
filter(gula_darah < 110 & kolesterol < 200 & tekanan_sistolik < 130 & tekanan_diastolik < 85) %>%
summarise(Jumlah = n())
print(indikator_sehat)
##   Jumlah
## 1     48
skor_kesehatan_terendah <- datakesehatan %>%
slice_min(skor_kesehatan, n = 5) %>%  
select(id, skor_kesehatan)
print (skor_kesehatan_terendah)
##    id skor_kesehatan
## 1  49       45.44594
## 2  11       48.51474
## 3  70       53.51686
## 4 193       54.22224
## 5 176       57.96087
rata_rata_skor_per_umur <- datakesehatan %>%
mutate(kelompok_umur = case_when(
umur < 30 ~ "<30",
umur >= 30 & umur <= 50 ~ "30-50",
umur > 50 ~ ">50",
TRUE ~ NA_character_)) %>%
group_by(kelompok_umur) %>%
summarise(rata_rata_skor_kesehatan_per_umur = mean(skor_kesehatan, na.rm = TRUE)) %>%
arrange(factor(kelompok_umur, levels = c("<30", "30-50", ">50")))
print(rata_rata_skor_per_umur)
## # A tibble: 3 × 2
##   kelompok_umur rata_rata_skor_kesehatan_per_umur
##   <chr>                                     <dbl>
## 1 <30                                        90.4
## 2 30-50                                      89.4
## 3 >50                                        89.5
library(dplyr)
skor_kesehatan_bersyarat <- datakesehatan %>%
filter(gula_darah < 110 & kolesterol < 200) %>%
summarise (skor_kesehatan_bersyarat = mean(skor_kesehatan, na.rm = TRUE))
print(skor_kesehatan_bersyarat)
##   skor_kesehatan_bersyarat
## 1                 96.57272