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
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
//Berapa rata-rata umur responden dalam dataset kesehatan fisik?
aggregate(umur ~ jenis_kelamin, data=data_kesehatan,mean)
## jenis_kelamin umur
## 1 Laki-laki 44.02778
## 2 Perempuan 44.65217
//Apakah terdapat perbedaan rata-rata tinggi badan antara laki-laki dan perempuan?
aggregate(tinggi_badan ~ jenis_kelamin, data = data_kesehatan, 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)?
jmlh <- data_kesehatan%>%
filter(gula_darah < 110, kolesterol < 200, tekanan_sistolik < 130, tekanan_diastolik<85)%>%
group_by(jenis_kelamin)%>%
summarise(jumlah=n())
jmlh
## # A tibble: 2 × 2
## jenis_kelamin jumlah
## <chr> <int>
## 1 Laki-laki 25
## 2 Perempuan 23
//Siapa saja yang memiliki 5 skor kesehatan terendah?
data_kesehatan [order (data_kesehatan$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
//Bagaimana rata-rata skor kesehatan per kelompok umur, <30, 30-50, dan >50 tahun secara berturut-turut?
data<-read.csv("data_kesehatan.csv")
data$kelompok_umur<- cut(data$umur, breaks = c(0,29,50,120),labels = c("<30", "30-50", ">50"), right = TRUE)
rata_skor <- aggregate(skor_kesehatan~kelompok_umur,data=data,mean)
print(rata_skor)
## kelompok_umur skor_kesehatan
## 1 <30 90.37880
## 2 30-50 89.35499
## 3 >50 89.53153
//Siapakah yang memiliki gula darah terendah?
data_kesehatan[order(+data_kesehatan$gula_darah),c ("id", "gula_darah")] |> head(1)
## id gula_darah
## 5 5 49.01314
//Berapa rata-rata skor_kesehatan pada responden dengan kolesterol <200 dan gula <110?
data <- read.csv("data_kesehatan.csv")
data_filter <- subset(data_kesehatan, kolesterol< 200 & gula_darah <110)
rata_skor<-mean(data_filter $ skor_kesehatan, na.rm = TRUE)
print(rata_skor)
## [1] 96.57272