library(readr)
data_kesehatan <- read_csv("data_kesehatan.csv")
## New names:
## Rows: 200 Columns: 11
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (1): jenis_kelamin dbl (10): ...1, id, umur, tinggi_badan, berat_badan,
## gula_darah, tekanan_sis...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
head(data_kesehatan)
## # A tibble: 6 × 11
##    ...1    id  umur jenis_kelamin tinggi_badan berat_badan gula_darah
##   <dbl> <dbl> <dbl> <chr>                <dbl>       <dbl>      <dbl>
## 1     1     1    33 Perempuan             160.        62.9       80.1
## 2     2     2    59 Perempuan             153.        54.7       79.2
## 3     3     3    39 Perempuan             156.        66.8       99.6
## 4     4     4    64 Laki-laki             174.        54.8       97.4
## 5     5     5    67 Perempuan             164.        62.2       49.0
## 6     6     6    20 Perempuan             150.        61.2      121. 
## # ℹ 4 more variables: tekanan_sistolik <dbl>, tekanan_diastolik <dbl>,
## #   kolesterol <dbl>, skor_kesehatan <dbl>
sort(table(data_kesehatan$jenis_kelamin), decreasing = TRUE)
## 
## Laki-laki Perempuan 
##       108        92
aggregate (tinggi_badan ~ jenis_kelamin, data = data_kesehatan, mean)
##   jenis_kelamin tinggi_badan
## 1     Laki-laki     171.0215
## 2     Perempuan     159.6470
Kategori_umur <- cut(data_kesehatan$umur,
                                        breaks = c(-Inf, 30, 50, Inf),
                                        labels = c("dewasa", "Menuju_Lansia", "Lansia"))
table(Kategori_umur)
## Kategori_umur
##        dewasa Menuju_Lansia        Lansia 
##            42            85            73
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
ratarata_skor <- aggregate (skor_kesehatan ~ Kategori_umur, data = data_kesehatan, mean)
ratarata_skor
##   Kategori_umur skor_kesehatan
## 1        dewasa       90.56762
## 2 Menuju_Lansia       89.21351
## 3        Lansia       89.53153
gula_sorted_desc <- arrange(data_kesehatan, (gula_darah))

head(gula_sorted_desc)
## # A tibble: 6 × 11
##    ...1    id  umur jenis_kelamin tinggi_badan berat_badan gula_darah
##   <dbl> <dbl> <dbl> <chr>                <dbl>       <dbl>      <dbl>
## 1     5     5    67 Perempuan             164.        62.2       49.0
## 2    92    92    52 Laki-laki             177.        81.9       52.5
## 3   190   190    65 Laki-laki             172.        63.5       56.0
## 4   166   166    46 Laki-laki             169.        79.7       59.6
## 5   120   120    39 Laki-laki             176.        74.0       59.9
## 6   179   179    63 Laki-laki             170.        74.7       64.4
## # ℹ 4 more variables: tekanan_sistolik <dbl>, tekanan_diastolik <dbl>,
## #   kolesterol <dbl>, skor_kesehatan <dbl>
data_kesehatan$bmi <- data_kesehatan$berat_badan / ((data_kesehatan$tinggi_badan/100)^2)
obesitas <- subset(data_kesehatan, data_kesehatan$bmi >30)
rata_obesitas <- mean(obesitas$skor_kesehatan, na.rm = TRUE)
rata_obesitas
## [1] 74.92593