data_kesehatan <- read.csv("data_kesehatan.csv")
head(data_kesehatan)
##   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
table(data_kesehatan$jenis_kelamin)
## 
## Laki-laki Perempuan 
##       108        92
str(data_kesehatan)
## 'data.frame':    200 obs. of  11 variables:
##  $ X                : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ id               : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ umur             : int  33 59 39 64 67 20 45 64 47 42 ...
##  $ jenis_kelamin    : chr  "Perempuan" "Perempuan" "Perempuan" "Laki-laki" ...
##  $ tinggi_badan     : num  160 153 156 174 164 ...
##  $ berat_badan      : num  62.9 54.7 66.8 54.8 62.2 ...
##  $ gula_darah       : num  80.1 79.2 99.6 97.4 49 ...
##  $ tekanan_sistolik : num  129 109 133 109 129 ...
##  $ tekanan_diastolik: num  69.1 73.3 87.1 75.7 82.3 ...
##  $ kolesterol       : num  181 210 176 172 139 ...
##  $ skor_kesehatan   : num  100 100 88.5 100 100 ...
summary(data_kesehatan$umur)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   32.00   43.00   44.31   56.00   70.00
aggregate(tinggi_badan ~ jenis_kelamin, data = data_kesehatan, mean)
##   jenis_kelamin tinggi_badan
## 1     Laki-laki     171.0215
## 2     Perempuan     159.6470
sehat <- subset(data_kesehatan, 
                          gula_darah < 110 & 
                          kolesterol < 200 & 
                          tekanan_sistolik < 130 & 
                          tekanan_diastolik < 85)

# Menampilkan jumlah responden sehat
jumlah_sehat <- nrow(sehat)
cat("Jumlah responden yang sehat:", jumlah_sehat, "\n")
## Jumlah responden yang sehat: 48
terendah <- data_kesehatan[order(data_kesehatan$skor_kesehatan), ][1:5, c("id", "umur", "jenis_kelamin", "skor_kesehatan")]
terendah
##      id umur jenis_kelamin skor_kesehatan
## 49   49   32     Perempuan       45.44594
## 11   11   68     Perempuan       48.51474
## 70   70   41     Laki-laki       53.51686
## 193 193   69     Laki-laki       54.22224
## 176 176   50     Laki-laki       57.96087
data_kesehatan <- read.csv("data_kesehatan.csv")

data_kesehatan$kelompok_umur <- cut(data_kesehatan$umur,
                          breaks = c(0, 30, 50, Inf),
                          labels = c("<30", "30-50", ">50"),
                          right = TRUE)

rata_per_kelompok <- aggregate(skor_kesehatan ~ kelompok_umur, data_kesehatan, mean)
rata_per_kelompok
##   kelompok_umur skor_kesehatan
## 1           <30       90.56762
## 2         30-50       89.21351
## 3           >50       89.53153
terendah <- data_kesehatan[which.min(data_kesehatan$gula), ]
print(terendah)
##   X id umur jenis_kelamin tinggi_badan berat_badan gula_darah tekanan_sistolik
## 5 5  5   67     Perempuan     164.0242     62.2102   49.01314         129.4536
##   tekanan_diastolik kolesterol skor_kesehatan kelompok_umur
## 5          82.27615   138.6886            100           >50