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