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 jawa.xlsx")
dplyroutflow1
## # A tibble: 7 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 DKI Jak~ 1.02e5 1.36e5 1.49e5 1.52e5 1.64e5 1.71e5 1.82e5 1.88e5 1.98e5 1.64e5
## 2 Jawa 8.35e4 1.11e5 9.90e4 1.47e5 1.72e5 1.91e5 2.29e5 2.53e5 2.72e5 2.51e5
## 3 Jawa Ba~ 2.08e4 2.89e4 2.31e4 4.09e4 4.71e4 4.94e4 5.38e4 6.14e4 6.17e4 5.72e4
## 4 Jawa Te~ 2.00e4 2.85e4 2.95e4 3.91e4 4.68e4 5.37e4 6.28e4 6.94e4 7.24e4 7.23e4
## 5 Yogyaka~ 7.54e3 9.49e3 9.71e3 1.32e4 1.41e4 1.30e4 1.68e4 2.04e4 2.14e4 1.66e4
## 6 Jawa Ti~ 3.52e4 4.45e4 3.67e4 5.39e4 6.36e4 7.45e4 9.34e4 9.80e4 1.06e5 9.34e4
## 7 Banten 0 0 0 0 0 0 2.11e3 4.05e3 1.10e4 1.18e4
## # ... 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()
jawa2015 <- select(dplyroutflow1, '2015')
jawa2015
## # A tibble: 7 x 1
## `2015`
## <dbl>
## 1 163750.
## 2 171568.
## 3 47063.
## 4 46840.
## 5 14080.
## 6 63585.
## 7 0
jawamin2 <- select(dplyroutflow1, '2011', '2012', '2013', '2014', '2016', '2017', '2018', '2020', '2021')
jawamin2
## # A tibble: 7 x 9
## `2011` `2012` `2013` `2014` `2016` `2017` `2018` `2020` `2021`
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 101604. 136467. 149241. 152276. 170614. 181553. 187820. 163779. 94033.
## 2 83511. 111363. 98969. 147069. 190568. 228905. 253125. 251363. 143340.
## 3 20782. 28895. 23067. 40857. 49405. 53825. 61358. 57235. 34763.
## 4 19975. 28493. 29529. 39110. 53659. 62761. 69368. 72342. 44455.
## 5 7538. 9486. 9708. 13171. 13013. 16810. 20357. 16619. 9652.
## 6 35217. 44489. 36665. 53931. 74491. 93396. 97995. 93374. 46029.
## 7 0 0 0 0 0 2113. 4047. 11793. 8441.
jawamin2015 <- select(dplyroutflow1, -'2019')
jawamin2015
## # A tibble: 7 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 DKI Jak~ 1.02e5 1.36e5 1.49e5 1.52e5 1.64e5 1.71e5 1.82e5 1.88e5 1.64e5 9.40e4
## 2 Jawa 8.35e4 1.11e5 9.90e4 1.47e5 1.72e5 1.91e5 2.29e5 2.53e5 2.51e5 1.43e5
## 3 Jawa Ba~ 2.08e4 2.89e4 2.31e4 4.09e4 4.71e4 4.94e4 5.38e4 6.14e4 5.72e4 3.48e4
## 4 Jawa Te~ 2.00e4 2.85e4 2.95e4 3.91e4 4.68e4 5.37e4 6.28e4 6.94e4 7.23e4 4.45e4
## 5 Yogyaka~ 7.54e3 9.49e3 9.71e3 1.32e4 1.41e4 1.30e4 1.68e4 2.04e4 1.66e4 9.65e3
## 6 Jawa Ti~ 3.52e4 4.45e4 3.67e4 5.39e4 6.36e4 7.45e4 9.34e4 9.80e4 9.34e4 4.60e4
## 7 Banten 0 0 0 0 0 0 2.11e3 4.05e3 1.18e4 8.44e3
jawamin1 <- dplyroutflow1 %>%
select(tahun = `2017`, `2018`, `2019`)
jawamin1
## # A tibble: 7 x 3
## tahun `2018` `2019`
## <dbl> <dbl> <dbl>
## 1 181553. 187820. 197818.
## 2 228905. 253125. 271957.
## 3 53825. 61358. 61692.
## 4 62761. 69368. 72363.
## 5 16810. 20357. 21353.
## 6 93396. 97995. 105514.
## 7 2113. 4047. 11035.
library(dplyr)
jawatahun2 <- dplyroutflow1 %>% rename('2010' = '2011')
head(jawatahun2)
## # 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 DKI Jak~ 1.02e5 1.36e5 1.49e5 1.52e5 1.64e5 1.71e5 1.82e5 1.88e5 1.98e5 1.64e5
## 2 Jawa 8.35e4 1.11e5 9.90e4 1.47e5 1.72e5 1.91e5 2.29e5 2.53e5 2.72e5 2.51e5
## 3 Jawa Ba~ 2.08e4 2.89e4 2.31e4 4.09e4 4.71e4 4.94e4 5.38e4 6.14e4 6.17e4 5.72e4
## 4 Jawa Te~ 2.00e4 2.85e4 2.95e4 3.91e4 4.68e4 5.37e4 6.28e4 6.94e4 7.24e4 7.23e4
## 5 Yogyaka~ 7.54e3 9.49e3 9.71e3 1.32e4 1.41e4 1.30e4 1.68e4 2.04e4 2.14e4 1.66e4
## 6 Jawa Ti~ 3.52e4 4.45e4 3.67e4 5.39e4 6.36e4 7.45e4 9.34e4 9.80e4 1.06e5 9.34e4
## # ... with 1 more variable: 2021 <dbl>
jawa4 <- distinct(dplyroutflow1, `2016`)
jawa4
## # A tibble: 7 x 1
## `2016`
## <dbl>
## 1 170614.
## 2 190568.
## 3 49405.
## 4 53659.
## 5 13013.
## 6 74491.
## 7 0
jawa5 <- distinct(dplyroutflow1, `2016`, .keep_all = TRUE)
jawa5
## # A tibble: 7 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 DKI Jak~ 1.02e5 1.36e5 1.49e5 1.52e5 1.64e5 1.71e5 1.82e5 1.88e5 1.98e5 1.64e5
## 2 Jawa 8.35e4 1.11e5 9.90e4 1.47e5 1.72e5 1.91e5 2.29e5 2.53e5 2.72e5 2.51e5
## 3 Jawa Ba~ 2.08e4 2.89e4 2.31e4 4.09e4 4.71e4 4.94e4 5.38e4 6.14e4 6.17e4 5.72e4
## 4 Jawa Te~ 2.00e4 2.85e4 2.95e4 3.91e4 4.68e4 5.37e4 6.28e4 6.94e4 7.24e4 7.23e4
## 5 Yogyaka~ 7.54e3 9.49e3 9.71e3 1.32e4 1.41e4 1.30e4 1.68e4 2.04e4 2.14e4 1.66e4
## 6 Jawa Ti~ 3.52e4 4.45e4 3.67e4 5.39e4 6.36e4 7.45e4 9.34e4 9.80e4 1.06e5 9.34e4
## 7 Banten 0 0 0 0 0 0 2.11e3 4.05e3 1.10e4 1.18e4
## # ... with 1 more variable: 2021 <dbl>
jawa6 <- dplyroutflow1 %>%
filter(Provinsi <= 'Jawa barat') %>%
select(`2018`,`2019`)
jawa6
## # A tibble: 3 x 2
## `2018` `2019`
## <dbl> <dbl>
## 1 187820. 197818.
## 2 253125. 271957.
## 3 4047. 11035.
jawa7 <- dplyroutflow1 %>%
filter(Provinsi == 'Jawa', Provinsi == 'Banten') %>%
select( -`2020`)
jawa7
## # 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 [7 x 12] (S3: tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:7] "DKI Jakarta" "Jawa" "Jawa Barat" "Jawa Tengah" ...
## $ 2011 : num [1:7] 101604 83511 20782 19975 7538 ...
## $ 2012 : num [1:7] 136467 111363 28895 28493 9486 ...
## $ 2013 : num [1:7] 149241 98969 23067 29529 9708 ...
## $ 2014 : num [1:7] 152276 147069 40857 39110 13171 ...
## $ 2015 : num [1:7] 163750 171568 47063 46840 14080 ...
## $ 2016 : num [1:7] 170614 190568 49405 53659 13013 ...
## $ 2017 : num [1:7] 181553 228905 53825 62761 16810 ...
## $ 2018 : num [1:7] 187820 253125 61358 69368 20357 ...
## $ 2019 : num [1:7] 197818 271957 61692 72363 21353 ...
## $ 2020 : num [1:7] 163779 251363 57235 72342 16619 ...
## $ 2021 : num [1:7] 94033 143340 34763 44455 9652 ...
str(dplyroutflow1 %>% group_by(Provinsi))
## grouped_df [7 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:7] "DKI Jakarta" "Jawa" "Jawa Barat" "Jawa Tengah" ...
## $ 2011 : num [1:7] 101604 83511 20782 19975 7538 ...
## $ 2012 : num [1:7] 136467 111363 28895 28493 9486 ...
## $ 2013 : num [1:7] 149241 98969 23067 29529 9708 ...
## $ 2014 : num [1:7] 152276 147069 40857 39110 13171 ...
## $ 2015 : num [1:7] 163750 171568 47063 46840 14080 ...
## $ 2016 : num [1:7] 170614 190568 49405 53659 13013 ...
## $ 2017 : num [1:7] 181553 228905 53825 62761 16810 ...
## $ 2018 : num [1:7] 187820 253125 61358 69368 20357 ...
## $ 2019 : num [1:7] 197818 271957 61692 72363 21353 ...
## $ 2020 : num [1:7] 163779 251363 57235 72342 16619 ...
## $ 2021 : num [1:7] 94033 143340 34763 44455 9652 ...
## - attr(*, "groups")= tibble [7 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:7] "Banten" "DKI Jakarta" "Jawa" "Jawa Barat" ...
## ..$ .rows : list<int> [1:7]
## .. ..$ : int 7
## .. ..$ : int 1
## .. ..$ : int 2
## .. ..$ : int 3
## .. ..$ : int 4
## .. ..$ : int 6
## .. ..$ : int 5
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
jawakel <- dplyroutflow1 %>%
group_by(Provinsi)
jawakel
## # A tibble: 7 x 12
## # Groups: Provinsi [7]
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 DKI Jak~ 1.02e5 1.36e5 1.49e5 1.52e5 1.64e5 1.71e5 1.82e5 1.88e5 1.98e5 1.64e5
## 2 Jawa 8.35e4 1.11e5 9.90e4 1.47e5 1.72e5 1.91e5 2.29e5 2.53e5 2.72e5 2.51e5
## 3 Jawa Ba~ 2.08e4 2.89e4 2.31e4 4.09e4 4.71e4 4.94e4 5.38e4 6.14e4 6.17e4 5.72e4
## 4 Jawa Te~ 2.00e4 2.85e4 2.95e4 3.91e4 4.68e4 5.37e4 6.28e4 6.94e4 7.24e4 7.23e4
## 5 Yogyaka~ 7.54e3 9.49e3 9.71e3 1.32e4 1.41e4 1.30e4 1.68e4 2.04e4 2.14e4 1.66e4
## 6 Jawa Ti~ 3.52e4 4.45e4 3.67e4 5.39e4 6.36e4 7.45e4 9.34e4 9.80e4 1.06e5 9.34e4
## 7 Banten 0 0 0 0 0 0 2.11e3 4.05e3 1.10e4 1.18e4
## # ... with 1 more variable: 2021 <dbl>
jawaubah <- arrange(dplyroutflow1, `2012`)
jawaubah
## # A tibble: 7 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 Banten 0 0 0 0 0 0 2.11e3 4.05e3 1.10e4 1.18e4
## 2 Yogyaka~ 7.54e3 9.49e3 9.71e3 1.32e4 1.41e4 1.30e4 1.68e4 2.04e4 2.14e4 1.66e4
## 3 Jawa Te~ 2.00e4 2.85e4 2.95e4 3.91e4 4.68e4 5.37e4 6.28e4 6.94e4 7.24e4 7.23e4
## 4 Jawa Ba~ 2.08e4 2.89e4 2.31e4 4.09e4 4.71e4 4.94e4 5.38e4 6.14e4 6.17e4 5.72e4
## 5 Jawa Ti~ 3.52e4 4.45e4 3.67e4 5.39e4 6.36e4 7.45e4 9.34e4 9.80e4 1.06e5 9.34e4
## 6 Jawa 8.35e4 1.11e5 9.90e4 1.47e5 1.72e5 1.91e5 2.29e5 2.53e5 2.72e5 2.51e5
## 7 DKI Jak~ 1.02e5 1.36e5 1.49e5 1.52e5 1.64e5 1.71e5 1.82e5 1.88e5 1.98e5 1.64e5
## # ... with 1 more variable: 2021 <dbl>
jawakel2 <- dplyroutflow1 %>%
mutate(`2021` = dplyroutflow1$`2020`/2)
jawakel2
## # A tibble: 7 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 DKI Jak~ 1.02e5 1.36e5 1.49e5 1.52e5 1.64e5 1.71e5 1.82e5 1.88e5 1.98e5 1.64e5
## 2 Jawa 8.35e4 1.11e5 9.90e4 1.47e5 1.72e5 1.91e5 2.29e5 2.53e5 2.72e5 2.51e5
## 3 Jawa Ba~ 2.08e4 2.89e4 2.31e4 4.09e4 4.71e4 4.94e4 5.38e4 6.14e4 6.17e4 5.72e4
## 4 Jawa Te~ 2.00e4 2.85e4 2.95e4 3.91e4 4.68e4 5.37e4 6.28e4 6.94e4 7.24e4 7.23e4
## 5 Yogyaka~ 7.54e3 9.49e3 9.71e3 1.32e4 1.41e4 1.30e4 1.68e4 2.04e4 2.14e4 1.66e4
## 6 Jawa Ti~ 3.52e4 4.45e4 3.67e4 5.39e4 6.36e4 7.45e4 9.34e4 9.80e4 1.06e5 9.34e4
## 7 Banten 0 0 0 0 0 0 2.11e3 4.05e3 1.10e4 1.18e4
## # ... 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