library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.2
## Warning: package 'ggplot2' was built under R version 4.4.2
## Warning: package 'tibble' was built under R version 4.4.2
## Warning: package 'tidyr' was built under R version 4.4.2
## Warning: package 'readr' was built under R version 4.4.2
## Warning: package 'purrr' was built under R version 4.4.2
## Warning: package 'dplyr' was built under R version 4.4.2
## Warning: package 'stringr' was built under R version 4.4.2
## Warning: package 'forcats' was built under R version 4.4.2
## Warning: package 'lubridate' was built under R version 4.4.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(datasets)
library(dplyr)
women
## height weight
## 1 58 115
## 2 59 117
## 3 60 120
## 4 61 123
## 5 62 126
## 6 63 129
## 7 64 132
## 8 65 135
## 9 66 139
## 10 67 142
## 11 68 146
## 12 69 150
## 13 70 154
## 14 71 159
## 15 72 164
Summarize
women %>% summarise(
mean_height = mean(height),
mean_weight = mean(weight)
)
## mean_height mean_weight
## 1 65 136.7333
Arrange
women %>% arrange(desc(height))
## height weight
## 1 72 164
## 2 71 159
## 3 70 154
## 4 69 150
## 5 68 146
## 6 67 142
## 7 66 139
## 8 65 135
## 9 64 132
## 10 63 129
## 11 62 126
## 12 61 123
## 13 60 120
## 14 59 117
## 15 58 115
women %>% arrange(desc(weight))
## height weight
## 1 72 164
## 2 71 159
## 3 70 154
## 4 69 150
## 5 68 146
## 6 67 142
## 7 66 139
## 8 65 135
## 9 64 132
## 10 63 129
## 11 62 126
## 12 61 123
## 13 60 120
## 14 59 117
## 15 58 115
Filter
filtered_data <- women %>% filter(weight > 132)
print(filtered_data)
## height weight
## 1 65 135
## 2 66 139
## 3 67 142
## 4 68 146
## 5 69 150
## 6 70 154
## 7 71 159
## 8 72 164
filtered_data <- women %>% filter(height > 65)
print(filtered_data)
## height weight
## 1 66 139
## 2 67 142
## 3 68 146
## 4 69 150
## 5 70 154
## 6 71 159
## 7 72 164
Mutate
Konversi ke Kilogram
Konversi ke Meter
Mencari BMI
mutated_data <- women %>%
mutate(
weight_kg = weight * 0.453592,
height_m = height * 0.0254,
BMI = weight_kg / (height_m^2)
)
print(mutated_data)
## height weight weight_kg height_m BMI
## 1 58 115 52.16308 1.4732 24.03476
## 2 59 117 53.07026 1.4986 23.63087
## 3 60 120 54.43104 1.5240 23.43563
## 4 61 123 55.79182 1.5494 23.24039
## 5 62 126 57.15259 1.5748 23.04545
## 6 63 129 58.51337 1.6002 22.85107
## 7 64 132 59.87414 1.6256 22.65750
## 8 65 135 61.23492 1.6510 22.46493
## 9 66 139 63.04929 1.6764 22.43494
## 10 67 142 64.41006 1.7018 22.24010
## 11 68 146 66.22443 1.7272 22.19898
## 12 69 150 68.03880 1.7526 22.15088
## 13 70 154 69.85317 1.7780 22.09645
## 14 71 159 72.12113 1.8034 22.17575
## 15 72 164 74.38909 1.8288 22.24215
Select
selected_data <- mutated_data %>% select(height, BMI)
print(selected_data)
## height BMI
## 1 58 24.03476
## 2 59 23.63087
## 3 60 23.43563
## 4 61 23.24039
## 5 62 23.04545
## 6 63 22.85107
## 7 64 22.65750
## 8 65 22.46493
## 9 66 22.43494
## 10 67 22.24010
## 11 68 22.19898
## 12 69 22.15088
## 13 70 22.09645
## 14 71 22.17575
## 15 72 22.24215
Gabungan 2 Fungsi
Fungsi Mutate dan Select
result <- women %>%
mutate(weight_kg = weight * 0.453592) %>%
select(height, weight_kg)
print(result)
## height weight_kg
## 1 58 52.16308
## 2 59 53.07026
## 3 60 54.43104
## 4 61 55.79182
## 5 62 57.15259
## 6 63 58.51337
## 7 64 59.87414
## 8 65 61.23492
## 9 66 63.04929
## 10 67 64.41006
## 11 68 66.22443
## 12 69 68.03880
## 13 70 69.85317
## 14 71 72.12113
## 15 72 74.38909
Fungsi Filter dan Mutate
result <- women %>%
filter(weight > 130) %>%
mutate(
weight_kg = weight * 0.453592,
height_m = height * 0.0254,
BMI = weight_kg / (height_m^2)
)
print(result)
## height weight weight_kg height_m BMI
## 1 64 132 59.87414 1.6256 22.65750
## 2 65 135 61.23492 1.6510 22.46493
## 3 66 139 63.04929 1.6764 22.43494
## 4 67 142 64.41006 1.7018 22.24010
## 5 68 146 66.22443 1.7272 22.19898
## 6 69 150 68.03880 1.7526 22.15088
## 7 70 154 69.85317 1.7780 22.09645
## 8 71 159 72.12113 1.8034 22.17575
## 9 72 164 74.38909 1.8288 22.24215