library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'dplyr' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ 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(iris)
iris <- tibble::as.tibble(iris)
## 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(iris)
## [1] "tbl_df" "tbl" "data.frame"
glimpse(iris)
## Rows: 150
## Columns: 5
## $ Sepal.Length <dbl> 5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4.…
## $ Sepal.Width <dbl> 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.…
## $ Petal.Length <dbl> 1.4, 1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.…
## $ Petal.Width <dbl> 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.…
## $ Species <fct> setosa, setosa, setosa, setosa, setosa, setosa, setosa, s…
head (iris)
## # A tibble: 6 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
mean (iris$Sepal.Length)
## [1] 5.843333
mean (iris$Sepal.Length) == iris$Sepal.Length %>% mean() #rumus tidyverse
## [1] TRUE
x <- c(0.109, 0.359, 0.63, 0.996, 0.515, 0.142, 0.017, 0.829, 0.907)
x
## [1] 0.109 0.359 0.630 0.996 0.515 0.142 0.017 0.829 0.907
round(exp(diff(log(x))), 1) #1 angka di belakang koma
## [1] 3.3 1.8 1.6 0.5 0.3 0.1 48.8 1.1
x %>% log () %>%
diff() %>%
exp() %>%
round(1)
## [1] 3.3 1.8 1.6 0.5 0.3 0.1 48.8 1.1
#Summarize
#Menghitung rata-rata Sepal Length setiap species
iris %>% group_by(Species) %>% summarize(mean=mean(Sepal.Length))
## # A tibble: 3 × 2
## Species mean
## <fct> <dbl>
## 1 setosa 5.01
## 2 versicolor 5.94
## 3 virginica 6.59
#Mengurutkan berdasarkan peubah Sepal.Length dari nilai terkecil
iris %>% arrange(Sepal.Length)
## # A tibble: 150 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 4.3 3 1.1 0.1 setosa
## 2 4.4 2.9 1.4 0.2 setosa
## 3 4.4 3 1.3 0.2 setosa
## 4 4.4 3.2 1.3 0.2 setosa
## 5 4.5 2.3 1.3 0.3 setosa
## 6 4.6 3.1 1.5 0.2 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 4.6 3.6 1 0.2 setosa
## 9 4.6 3.2 1.4 0.2 setosa
## 10 4.7 3.2 1.3 0.2 setosa
## # ℹ 140 more rows
# Mengurutkan berdasarkan peubah Sepal.Length dari nilai terbesar
iris %>% arrange(desc(Sepal.Length))
## # A tibble: 150 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 7.9 3.8 6.4 2 virginica
## 2 7.7 3.8 6.7 2.2 virginica
## 3 7.7 2.6 6.9 2.3 virginica
## 4 7.7 2.8 6.7 2 virginica
## 5 7.7 3 6.1 2.3 virginica
## 6 7.6 3 6.6 2.1 virginica
## 7 7.4 2.8 6.1 1.9 virginica
## 8 7.3 2.9 6.3 1.8 virginica
## 9 7.2 3.6 6.1 2.5 virginica
## 10 7.2 3.2 6 1.8 virginica
## # ℹ 140 more rows
#Filter
iris %>% filter(Species=="setosa")
## # A tibble: 50 × 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## # ℹ 40 more rows
iris %>% select(Petal.Width, Species,Petal.Length)
## # A tibble: 150 × 3
## Petal.Width Species Petal.Length
## <dbl> <fct> <dbl>
## 1 0.2 setosa 1.4
## 2 0.2 setosa 1.4
## 3 0.2 setosa 1.3
## 4 0.2 setosa 1.5
## 5 0.2 setosa 1.4
## 6 0.4 setosa 1.7
## 7 0.3 setosa 1.4
## 8 0.2 setosa 1.5
## 9 0.2 setosa 1.4
## 10 0.1 setosa 1.5
## # ℹ 140 more rows
iris %>% select(-Petal.Width,-Species)
## # A tibble: 150 × 3
## Sepal.Length Sepal.Width Petal.Length
## <dbl> <dbl> <dbl>
## 1 5.1 3.5 1.4
## 2 4.9 3 1.4
## 3 4.7 3.2 1.3
## 4 4.6 3.1 1.5
## 5 5 3.6 1.4
## 6 5.4 3.9 1.7
## 7 4.6 3.4 1.4
## 8 5 3.4 1.5
## 9 4.4 2.9 1.4
## 10 4.9 3.1 1.5
## # ℹ 140 more rows
#Mutasi
iris %>% mutate(sepal=Sepal.Length+Sepal.Width)
## # A tibble: 150 × 6
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species sepal
## <dbl> <dbl> <dbl> <dbl> <fct> <dbl>
## 1 5.1 3.5 1.4 0.2 setosa 8.6
## 2 4.9 3 1.4 0.2 setosa 7.9
## 3 4.7 3.2 1.3 0.2 setosa 7.9
## 4 4.6 3.1 1.5 0.2 setosa 7.7
## 5 5 3.6 1.4 0.2 setosa 8.6
## 6 5.4 3.9 1.7 0.4 setosa 9.3
## 7 4.6 3.4 1.4 0.3 setosa 8
## 8 5 3.4 1.5 0.2 setosa 8.4
## 9 4.4 2.9 1.4 0.2 setosa 7.3
## 10 4.9 3.1 1.5 0.1 setosa 8
## # ℹ 140 more rows
irisbaru <- iris %>% select(-Species,-Petal.Width) %>% mutate(sepal=Sepal.Length+Sepal.Width)
irisbaru
## # A tibble: 150 × 4
## Sepal.Length Sepal.Width Petal.Length sepal
## <dbl> <dbl> <dbl> <dbl>
## 1 5.1 3.5 1.4 8.6
## 2 4.9 3 1.4 7.9
## 3 4.7 3.2 1.3 7.9
## 4 4.6 3.1 1.5 7.7
## 5 5 3.6 1.4 8.6
## 6 5.4 3.9 1.7 9.3
## 7 4.6 3.4 1.4 8
## 8 5 3.4 1.5 8.4
## 9 4.4 2.9 1.4 7.3
## 10 4.9 3.1 1.5 8
## # ℹ 140 more rows