Manipulasi Data dengan Library dplyr


Oleh Ihsan Bagus Fahad Arafat
Dosen Pengampu Prof. Dr. Suhartono, M.Kom
Program Magister Informatika
Kampus UIN Maulana Malik Ibrahim Malang
Tanggal 9 Juni 2022

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
datainflowsumatera <- read_excel(path = "SUMATRA.xlsx")
datainflowsumatera
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.8
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## Warning: package 'ggplot2' was built under R version 4.1.3
## Warning: package 'tibble' was built under R version 4.1.3
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'purrr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## Warning: package 'stringr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
sumatera2011 <- select(datainflowsumatera, '2011')
sumatera2011
library(tidyverse)
sumateranon2011 <- select(datainflowsumatera, -'2011')
sumateranon2011
sumatera2012 <- datainflowsumatera %>% select('2012')
sumatera2012
library(dplyr)
sumateratahun <- datainflowsumatera %>% rename('2010' = '2011')
head(sumateratahun)
library(dplyr)
sumateraaceh <- datainflowsumatera %>%
    filter(Propinsi == 'Aceh') %>%
    select('2011','2012')
sumateraaceh
library(dplyr)
sumateraup1 <- datainflowsumatera %>%
  filter(Propinsi == 'Aceh', Propinsi == 'Bengkulu') %>%
  select('2011','2012')
sumateraup1
str(datainflowsumatera)
## tibble [10 x 12] (S3: tbl_df/tbl/data.frame)
##  $ Propinsi: chr [1:10] "Aceh" "Sumatera Utara" "Sumatera Barat" "Riau" ...
##  $ 2011    : num [1:10] 2308 23238 9385 3012 1426 ...
##  $ 2012    : num [1:10] 2620 25981 11192 4447 2236 ...
##  $ 2013    : num [1:10] 36337 18120 14056 8933 3378 ...
##  $ 2014    : num [1:10] 4567 30503 14103 6358 2563 ...
##  $ 2015    : num [1:10] 4710 30254 13309 7156 3218 ...
##  $ 2016    : num [1:10] 5775 34427 14078 8211 4317 ...
##  $ 2017    : num [1:10] 5514 35617 15312 8553 4412 ...
##  $ 2018    : num [1:10] 5799 41769 15058 10730 5134 ...
##  $ 2019    : num [1:10] 7509 47112 14750 10915 6077 ...
##  $ 2020    : num [1:10] 6641 36609 10696 9148 6175 ...
##  $ 2021    : num [1:10] 3702 31840 10748 7769 5009 ...
str(datainflowsumatera %>% group_by(Propinsi))
## grouped_df [10 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
##  $ Propinsi: chr [1:10] "Aceh" "Sumatera Utara" "Sumatera Barat" "Riau" ...
##  $ 2011    : num [1:10] 2308 23238 9385 3012 1426 ...
##  $ 2012    : num [1:10] 2620 25981 11192 4447 2236 ...
##  $ 2013    : num [1:10] 36337 18120 14056 8933 3378 ...
##  $ 2014    : num [1:10] 4567 30503 14103 6358 2563 ...
##  $ 2015    : num [1:10] 4710 30254 13309 7156 3218 ...
##  $ 2016    : num [1:10] 5775 34427 14078 8211 4317 ...
##  $ 2017    : num [1:10] 5514 35617 15312 8553 4412 ...
##  $ 2018    : num [1:10] 5799 41769 15058 10730 5134 ...
##  $ 2019    : num [1:10] 7509 47112 14750 10915 6077 ...
##  $ 2020    : num [1:10] 6641 36609 10696 9148 6175 ...
##  $ 2021    : num [1:10] 3702 31840 10748 7769 5009 ...
##  - attr(*, "groups")= tibble [10 x 2] (S3: tbl_df/tbl/data.frame)
##   ..$ Propinsi: chr [1:10] "Aceh" "Bengkulu" "Jambi" "Kep. Bangka Belitung" ...
##   ..$ .rows   : list<int> [1:10] 
##   .. ..$ : int 1
##   .. ..$ : int 8
##   .. ..$ : int 6
##   .. ..$ : int 10
##   .. ..$ : int 5
##   .. ..$ : int 9
##   .. ..$ : int 4
##   .. ..$ : int 3
##   .. ..$ : int 7
##   .. ..$ : int 2
##   .. ..@ ptype: int(0) 
##   ..- attr(*, ".drop")= logi TRUE
sumateraup3 <- datainflowsumatera %>%
    group_by(Propinsi)
sumateraup3
datainflowsumatera %>%
    filter(Propinsi == 'Aceh') %>%
    count('2011', sort = TRUE)
sumateraacehup1 <- datainflowsumatera %>%
    mutate('2010' = datainflowsumatera$'2011'/2)
sumateraacehup1 
ggplot(data = datainflowsumatera, mapping = aes(x = Propinsi, y = `2011`)) +
  geom_point()