Saat melakukan manipulasi data pada R kita dapat menggunakan package dplyr. Package ini dibuat oleh Handley Wickham dan Roman Francois yang berisi kumpulan fungsi yang memudahkan manipulasi data yaitu antara lain: sample() untuk mengambil sampel secara acak dari tabel, mutate() untuk menambah kolom, select() untuk mengambil data atau variabel yang dibutuhkan, arrange() untuk mengurutkan data, filter() untuk menyaring data, groupby() untuk mengelompokkan data dan lain lain.
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
dplyroutflow1 <- read_excel(path = "D:/Matkul Sem2/Linear Algebra/pivot outflow sumatera.xlsx")
dplyroutflow1
## # A tibble: 8 x 12
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5 1.41e5
## 2 Sumater~ 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4 3.98e4
## 3 Sumater~ 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3 8.76e3
## 4 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3 8.95e3
## 5 Sumater~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4 1.83e4
## 6 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3 6.56e3
## 7 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4 1.39e4
## 8 Kep. Ba~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3 3.90e3
## # ... with 1 more variable: 2021 <dbl>
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.2
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.4 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 'tidyr' was built under R version 4.1.2
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
Sumatera2015 <- select(dplyroutflow1, '2015')
Sumatera2015
## # A tibble: 8 x 1
## `2015`
## <dbl>
## 1 109186.
## 2 27877.
## 3 7471.
## 4 8325.
## 5 13484.
## 6 4852.
## 7 9946.
## 8 2005.
Sumateramin2 <- select(dplyroutflow1, '2011', '2012', '2013', '2014', '2016', '2017', '2018', '2020', '2021')
Sumateramin2
## # A tibble: 8 x 9
## `2011` `2012` `2013` `2014` `2016` `2017` `2018` `2020` `2021`
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 80092. 85235. 103288. 102338. 121992. 133606. 135676. 140589. 86627.
## 2 22176. 22495. 19235. 26391. 31959. 35243. 36908. 39758. 23453.
## 3 5300. 6434. 6511. 7060. 9198. 10754. 8447. 8763. 5941.
## 4 5217. 5013. 6302. 8361. 7774. 8434. 8459. 8950. 6046.
## 5 14524. 15600. 12693. 13372. 15756. 16981. 17931. 18309. 11436.
## 6 2561. 2959. 6490. 4583. 5163. 5447. 5495. 6564. 4681.
## 7 5724. 6376. 4571. 8339. 10436. 13359. 13725. 13873. 8050.
## 8 0 0 0 322. 2684. 2750. 2738. 3899. 3493.
sumateramin2015 <- select(dplyroutflow1, -'2019')
sumateramin2015
## # A tibble: 8 x 11
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2020` `2021`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.41e5 86627.
## 2 Sumater~ 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 3.98e4 23453.
## 3 Sumater~ 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 8.76e3 5941.
## 4 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 8.95e3 6046.
## 5 Sumater~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.83e4 11436.
## 6 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.56e3 4681.
## 7 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.39e4 8050.
## 8 Kep. Ba~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 3.90e3 3493.
Sumateramin1 <- dplyroutflow1 %>%
select(tahun = `2017`, `2018`, `2019`)
Sumateramin1
## # A tibble: 8 x 3
## tahun `2018` `2019`
## <dbl> <dbl> <dbl>
## 1 133606. 135676. 153484.
## 2 35243. 36908. 44051.
## 3 10754. 8447. 9465.
## 4 8434. 8459. 9204.
## 5 16981. 17931. 19121.
## 6 5447. 5495. 6842.
## 7 13359. 13725. 15626.
## 8 2750. 2738. 4167.
library(dplyr)
Sumateratahun2 <- dplyroutflow1 %>% rename('2010' = '2011')
head(Sumateratahun2)
## # A tibble: 6 x 12
## Provinsi `2010` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5 1.41e5
## 2 Sumater~ 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4 3.98e4
## 3 Sumater~ 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3 8.76e3
## 4 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3 8.95e3
## 5 Sumater~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4 1.83e4
## 6 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3 6.56e3
## # ... with 1 more variable: 2021 <dbl>
Sumatera4 <- distinct(dplyroutflow1, `2016`)
Sumatera4
## # A tibble: 8 x 1
## `2016`
## <dbl>
## 1 121992.
## 2 31959.
## 3 9198.
## 4 7774.
## 5 15756.
## 6 5163.
## 7 10436.
## 8 2684.
Sumatera5 <- distinct(dplyroutflow1, `2016`, .keep_all = TRUE)
Sumatera5
## # A tibble: 8 x 12
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5 1.41e5
## 2 Sumater~ 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4 3.98e4
## 3 Sumater~ 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3 8.76e3
## 4 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3 8.95e3
## 5 Sumater~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4 1.83e4
## 6 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3 6.56e3
## 7 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4 1.39e4
## 8 Kep. Ba~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3 3.90e3
## # ... with 1 more variable: 2021 <dbl>
Sumatera6 <- dplyroutflow1 %>%
filter(Provinsi <= 'Sulawesi Barat') %>%
select(`2018`,`2019`)
Sumatera6
## # A tibble: 4 x 2
## `2018` `2019`
## <dbl> <dbl>
## 1 8459. 9204.
## 2 5495. 6842.
## 3 13725. 15626.
## 4 2738. 4167.
Sumatera7 <- dplyroutflow1 %>%
filter(Provinsi == 'Jambi', Provinsi == 'Bengkulu') %>%
select( -`2020`)
Sumatera7
## # A tibble: 0 x 11
## # ... with 11 variables: Provinsi <chr>, 2011 <dbl>, 2012 <dbl>, 2013 <dbl>,
## # 2014 <dbl>, 2015 <dbl>, 2016 <dbl>, 2017 <dbl>, 2018 <dbl>, 2019 <dbl>,
## # 2021 <dbl>
str(dplyroutflow1)
## tibble [8 x 12] (S3: tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:8] "Sumatera" "Sumatera Utara" "Sumatera Barat" "Jambi" ...
## $ 2011 : num [1:8] 80092 22176 5300 5217 14524 ...
## $ 2012 : num [1:8] 85235 22495 6434 5013 15600 ...
## $ 2013 : num [1:8] 103288 19235 6511 6302 12693 ...
## $ 2014 : num [1:8] 102338 26391 7060 8361 13372 ...
## $ 2015 : num [1:8] 109186 27877 7471 8325 13484 ...
## $ 2016 : num [1:8] 121992 31959 9198 7774 15756 ...
## $ 2017 : num [1:8] 133606 35243 10754 8434 16981 ...
## $ 2018 : num [1:8] 135676 36908 8447 8459 17931 ...
## $ 2019 : num [1:8] 153484 44051 9465 9204 19121 ...
## $ 2020 : num [1:8] 140589 39758 8763 8950 18309 ...
## $ 2021 : num [1:8] 86627 23453 5941 6046 11436 ...
str(dplyroutflow1 %>% group_by(Provinsi))
## grouped_df [8 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:8] "Sumatera" "Sumatera Utara" "Sumatera Barat" "Jambi" ...
## $ 2011 : num [1:8] 80092 22176 5300 5217 14524 ...
## $ 2012 : num [1:8] 85235 22495 6434 5013 15600 ...
## $ 2013 : num [1:8] 103288 19235 6511 6302 12693 ...
## $ 2014 : num [1:8] 102338 26391 7060 8361 13372 ...
## $ 2015 : num [1:8] 109186 27877 7471 8325 13484 ...
## $ 2016 : num [1:8] 121992 31959 9198 7774 15756 ...
## $ 2017 : num [1:8] 133606 35243 10754 8434 16981 ...
## $ 2018 : num [1:8] 135676 36908 8447 8459 17931 ...
## $ 2019 : num [1:8] 153484 44051 9465 9204 19121 ...
## $ 2020 : num [1:8] 140589 39758 8763 8950 18309 ...
## $ 2021 : num [1:8] 86627 23453 5941 6046 11436 ...
## - attr(*, "groups")= tibble [8 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:8] "Bengkulu" "Jambi" "Kep. Bangka Belitung" "Lampung" ...
## ..$ .rows : list<int> [1:8]
## .. ..$ : int 6
## .. ..$ : int 4
## .. ..$ : int 8
## .. ..$ : int 7
## .. ..$ : int 1
## .. ..$ : int 3
## .. ..$ : int 5
## .. ..$ : int 2
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
Sumaterakel <- dplyroutflow1 %>%
group_by(Provinsi)
Sumaterakel
## # A tibble: 8 x 12
## # Groups: Provinsi [8]
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5 1.41e5
## 2 Sumater~ 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4 3.98e4
## 3 Sumater~ 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3 8.76e3
## 4 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3 8.95e3
## 5 Sumater~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4 1.83e4
## 6 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3 6.56e3
## 7 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4 1.39e4
## 8 Kep. Ba~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3 3.90e3
## # ... with 1 more variable: 2021 <dbl>
Sumateraubah <- arrange(dplyroutflow1, `2012`)
Sumateraubah
## # A tibble: 8 x 12
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Kep. Ba~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3 3.90e3
## 2 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3 6.56e3
## 3 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3 8.95e3
## 4 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4 1.39e4
## 5 Sumater~ 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3 8.76e3
## 6 Sumater~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4 1.83e4
## 7 Sumater~ 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4 3.98e4
## 8 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5 1.41e5
## # ... with 1 more variable: 2021 <dbl>
Sumaterakel2 <- dplyroutflow1 %>%
mutate(`2021` = dplyroutflow1$`2020`/2)
Sumaterakel2
## # A tibble: 8 x 12
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sumatera 80092. 85235. 1.03e5 1.02e5 1.09e5 1.22e5 1.34e5 1.36e5 1.53e5 1.41e5
## 2 Sumater~ 22176. 22495. 1.92e4 2.64e4 2.79e4 3.20e4 3.52e4 3.69e4 4.41e4 3.98e4
## 3 Sumater~ 5300. 6434. 6.51e3 7.06e3 7.47e3 9.20e3 1.08e4 8.45e3 9.46e3 8.76e3
## 4 Jambi 5217. 5013. 6.30e3 8.36e3 8.32e3 7.77e3 8.43e3 8.46e3 9.20e3 8.95e3
## 5 Sumater~ 14524. 15600. 1.27e4 1.34e4 1.35e4 1.58e4 1.70e4 1.79e4 1.91e4 1.83e4
## 6 Bengkulu 2561. 2959. 6.49e3 4.58e3 4.85e3 5.16e3 5.45e3 5.50e3 6.84e3 6.56e3
## 7 Lampung 5724. 6376. 4.57e3 8.34e3 9.95e3 1.04e4 1.34e4 1.37e4 1.56e4 1.39e4
## 8 Kep. Ba~ 0 0 0 3.22e2 2.00e3 2.68e3 2.75e3 2.74e3 4.17e3 3.90e3
## # ... with 1 more variable: 2021 <dbl>
ggplot(data = dplyroutflow1, mapping = aes(x = Provinsi, y = `2011`)) +
geom_point()
ggplot(data = dplyroutflow1, mapping = aes(x = Provinsi, y = `2011`)) +
geom_point()
1.https://rpubs.com/suhartono-uinmaliki/868598
2.https://www.bi.go.id/id/statistik/ekonomi-keuangan/ssp/indikator-pengedaran-uang.aspx