library(tidyverse)
?tidyverse
library(datasets)
data(iris)
iris <- tibble::as.tibble(iris)
install.packages("dplyr")
library(dplyr)
class(iris)
## [1] "tbl_df"     "tbl"        "data.frame"
view(iris)
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
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…
mean(iris$Sepal.Length) == iris$Sepal.Length %>% mean () #%>% tuh dpl yr ada di package tidyverse 
## [1] TRUE
mean(iris$Sepal.Length)
## [1] 5.843333
iris$Sepal.Length %>% mean ()
## [1] 5.843333
mean(iris$Petal.Length)
## [1] 3.758
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]  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 sepale.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
#mutate
iris %>% mutate(Sepal.Length=Sepal.Width)
## # A tibble: 150 × 5
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
##           <dbl>       <dbl>        <dbl>       <dbl> <fct>  
##  1          3.5         3.5          1.4         0.2 setosa 
##  2          3           3            1.4         0.2 setosa 
##  3          3.2         3.2          1.3         0.2 setosa 
##  4          3.1         3.1          1.5         0.2 setosa 
##  5          3.6         3.6          1.4         0.2 setosa 
##  6          3.9         3.9          1.7         0.4 setosa 
##  7          3.4         3.4          1.4         0.3 setosa 
##  8          3.4         3.4          1.5         0.2 setosa 
##  9          2.9         2.9          1.4         0.2 setosa 
## 10          3.1         3.1          1.5         0.1 setosa 
## # ℹ 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