# Install library yang akan digunakan terlebih dahulu
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'lubridate' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.4.4 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ 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)
data(Loblolly)
view(Loblolly)
Loblolly = tibble::as.tibble(Loblolly)
## Warning: `as.tibble()` was deprecated in tibble 2.0.0.
## ℹ Please use `as_tibble()` instead.
## ℹ The signature and semantics have changed, see `?as_tibble`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
class(Loblolly)
## [1] "tbl_df" "tbl" "data.frame"
head(Loblolly)
## # A tibble: 6 × 3
## height age Seed
## <dbl> <dbl> <ord>
## 1 4.51 3 301
## 2 10.9 5 301
## 3 28.7 10 301
## 4 41.7 15 301
## 5 52.7 20 301
## 6 60.9 25 301
glimpse(Loblolly)
## Rows: 84
## Columns: 3
## $ height <dbl> 4.51, 10.89, 28.72, 41.74, 52.70, 60.92, 4.55, 10.92, 29.07, 42…
## $ age <dbl> 3, 5, 10, 15, 20, 25, 3, 5, 10, 15, 20, 25, 3, 5, 10, 15, 20, 2…
## $ Seed <ord> 301, 301, 301, 301, 301, 301, 303, 303, 303, 303, 303, 303, 305…
# Menghitung mean, median, dan standar deviasi dari variabel height secara keseluruhan dengan menggunakan fungsi summarize
Loblolly %>% summarize(meanHeight=mean(height), medianHeight=median(height), sdHeight=sd(height))
## # A tibble: 1 × 3
## meanHeight medianHeight sdHeight
## <dbl> <dbl> <dbl>
## 1 32.4 34 20.7
# Mengurutkan data berdasarkan age dengan menggunakan fungsi arrange
## Ascending (default)
Loblolly %>% arrange(age)
## # A tibble: 84 × 3
## height age Seed
## <dbl> <dbl> <ord>
## 1 4.51 3 301
## 2 4.55 3 303
## 3 4.79 3 305
## 4 3.91 3 307
## 5 4.81 3 309
## 6 3.88 3 311
## 7 4.32 3 315
## 8 4.57 3 319
## 9 3.77 3 321
## 10 4.33 3 323
## # ℹ 74 more rows
## Descending
Loblolly %>% arrange(desc(age))
## # A tibble: 84 × 3
## height age Seed
## <dbl> <dbl> <ord>
## 1 60.9 25 301
## 2 63.4 25 303
## 3 64.1 25 305
## 4 59.1 25 307
## 5 63.0 25 309
## 6 59.6 25 311
## 7 60.1 25 315
## 8 60.7 25 319
## 9 60.3 25 321
## 10 61.6 25 323
## # ℹ 74 more rows
# Menampilkan data dengan age 20 menggunakan fungsi filter
Loblolly %>% filter(age == 20)
## # A tibble: 14 × 3
## height age Seed
## <dbl> <dbl> <ord>
## 1 52.7 20 301
## 2 53.9 20 303
## 3 55.8 20 305
## 4 50.8 20 307
## 5 53.3 20 309
## 6 51.5 20 311
## 7 51.3 20 315
## 8 52.4 20 319
## 9 49.8 20 321
## 10 53.2 20 323
## 11 50.1 20 325
## 12 48.4 20 327
## 13 48.3 20 329
## 14 49.1 20 331
# Memilih atau mengeliminasi variabel tertentu dalam data untuk ditampilkan menggunakan fungsi select
## Memilih variabel height dan Seed agar ditampilkan
Loblolly %>% select(height, Seed)
## # A tibble: 84 × 2
## height Seed
## <dbl> <ord>
## 1 4.51 301
## 2 10.9 301
## 3 28.7 301
## 4 41.7 301
## 5 52.7 301
## 6 60.9 301
## 7 4.55 303
## 8 10.9 303
## 9 29.1 303
## 10 42.8 303
## # ℹ 74 more rows
## Mengeliminasi variabel height agar tidak ditampilkan
Loblolly %>% select(-height)
## # A tibble: 84 × 2
## age Seed
## <dbl> <ord>
## 1 3 301
## 2 5 301
## 3 10 301
## 4 15 301
## 5 20 301
## 6 25 301
## 7 3 303
## 8 5 303
## 9 10 303
## 10 15 303
## # ℹ 74 more rows
# Membuat variabel baru yaitu usia dalam satuan bulan menggunakan fungsi mutate
Loblolly %>% mutate('age(months)' = age*12)
## # A tibble: 84 × 4
## height age Seed `age(months)`
## <dbl> <dbl> <ord> <dbl>
## 1 4.51 3 301 36
## 2 10.9 5 301 60
## 3 28.7 10 301 120
## 4 41.7 15 301 180
## 5 52.7 20 301 240
## 6 60.9 25 301 300
## 7 4.55 3 303 36
## 8 10.9 5 303 60
## 9 29.1 10 303 120
## 10 42.8 15 303 180
## # ℹ 74 more rows
# Menampilkan variabel height dan seed dengan nilai height lebih besar dari 10 yang kemudian diurutkan dari nilai terbesar ke terkecil menggunakan fungsi select, filter, dan arrange
Loblolly %>% select(height, Seed) %>% filter(height > 10) %>% arrange(desc(height))
## # A tibble: 64 × 2
## height Seed
## <dbl> <ord>
## 1 64.1 305
## 2 63.4 303
## 3 63.0 309
## 4 61.6 323
## 5 60.9 301
## 6 60.7 319
## 7 60.3 321
## 8 60.1 315
## 9 59.6 311
## 10 59.5 331
## # ℹ 54 more rows
# Menampilkan variabel age yang nilainya lebih besar atau sama dengan 10 dan kemudian membuat variabel baru berisi nilai height dalam satuan meter menggunakan fungsi filter dan mutate
Loblolly %>% filter(age >= 10) %>% mutate('height(meter)' = height*0.3048)
## # A tibble: 56 × 4
## height age Seed `height(meter)`
## <dbl> <dbl> <ord> <dbl>
## 1 28.7 10 301 8.75
## 2 41.7 15 301 12.7
## 3 52.7 20 301 16.1
## 4 60.9 25 301 18.6
## 5 29.1 10 303 8.86
## 6 42.8 15 303 13.1
## 7 53.9 20 303 16.4
## 8 63.4 25 303 19.3
## 9 30.2 10 305 9.21
## 10 44.4 15 305 13.5
## # ℹ 46 more rows
# Menampilkan variabel age dan mengurutkannya dari nilai terkecil ke nilai terbesar kemudian membuat variabel baru berisi age dalam satuan bulan dan age dalam satuan hari menggunakan fungsi select, arrange, dan mutate
Loblolly %>% select(age) %>% arrange(age) %>% mutate('age(months)' = age*12, 'age(days)' = age*365)
## # A tibble: 84 × 3
## age `age(months)` `age(days)`
## <dbl> <dbl> <dbl>
## 1 3 36 1095
## 2 3 36 1095
## 3 3 36 1095
## 4 3 36 1095
## 5 3 36 1095
## 6 3 36 1095
## 7 3 36 1095
## 8 3 36 1095
## 9 3 36 1095
## 10 3 36 1095
## # ℹ 74 more rows