R Markdown

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
dfkesehatan <- read.csv("data_kesehatan.csv")
head(dfkesehatan)
##   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

//No 2 Berapa rata-rata umur responden dalam dataset kesehatan fisik?

summary(dfkesehatan)
##        X                id              umur       jenis_kelamin     
##  Min.   :  1.00   Min.   :  1.00   Min.   :18.00   Length:200        
##  1st Qu.: 50.75   1st Qu.: 50.75   1st Qu.:32.00   Class :character  
##  Median :100.50   Median :100.50   Median :43.00   Mode  :character  
##  Mean   :100.50   Mean   :100.50   Mean   :44.31                     
##  3rd Qu.:150.25   3rd Qu.:150.25   3rd Qu.:56.00                     
##  Max.   :200.00   Max.   :200.00   Max.   :70.00                     
##   tinggi_badan    berat_badan      gula_darah     tekanan_sistolik
##  Min.   :143.1   Min.   :39.94   Min.   : 49.01   Min.   : 85.29  
##  1st Qu.:159.4   1st Qu.:57.82   1st Qu.: 86.74   1st Qu.:108.77  
##  Median :165.1   Median :63.35   Median :100.44   Median :119.92  
##  Mean   :165.8   Mean   :64.75   Mean   :101.01   Mean   :119.53  
##  3rd Qu.:171.7   3rd Qu.:72.17   3rd Qu.:111.90   3rd Qu.:129.62  
##  Max.   :186.9   Max.   :96.92   Max.   :163.68   Max.   :170.86  
##  tekanan_diastolik   kolesterol     skor_kesehatan  
##  Min.   : 53.05    Min.   : 98.56   Min.   : 45.45  
##  1st Qu.: 74.21    1st Qu.:172.44   1st Qu.: 84.30  
##  Median : 81.64    Median :190.25   Median : 92.92  
##  Mean   : 80.64    Mean   :191.80   Mean   : 89.61  
##  3rd Qu.: 87.18    3rd Qu.:216.47   3rd Qu.:100.00  
##  Max.   :102.84    Max.   :288.72   Max.   :100.00

//No 3 Apakah terdapat perbedaan rata-rata tinggi badan antara laki-laki dan perempuan?

aggregate(tinggi_badan ~ jenis_kelamin, data = dfkesehatan, mean)
##   jenis_kelamin tinggi_badan
## 1     Laki-laki     171.0215
## 2     Perempuan     159.6470

//No 6 Siapa saja yang memiliki 5 skor kesehatan terendah?

dfkesehatan[order(dfkesehatan$skor_kesehatan), c("id", "skor_kesehatan")] |> head(5)
##      id skor_kesehatan
## 49   49       45.44594
## 11   11       48.51474
## 70   70       53.51686
## 193 193       54.22224
## 176 176       57.96087

//No 8 Siapakah yang memiliki gula darah terendah?

dfkesehatan[order(dfkesehatan$gula_darah), c("id", "gula_darah")] |> head(1)
##   id gula_darah
## 5  5   49.01314

//No 10 Berapa rata-rata skor_kesehatan responden obesitas (BMI > 30)?

dfkesehatan$bmi <- dfkesehatan$berat_badan / ((dfkesehatan$tinggi_badan/100)^2)
obesitas <- subset(dfkesehatan, dfkesehatan$bmi > 30)
rata_obesitas <- mean(obesitas$skor_kesehatan, na.rm = TRUE)
rata_obesitas
## [1] 74.92593