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
dplyrinflow1 <- read_excel(path = "D:/Matkul Sem2/Linear Algebra/pivot inflow sumatera.xlsx")
dplyrinflow1
## # 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 57900. 65911. 98369. 8.60e4 86549. 97764. 1.04e5 1.17e5 1.34e5 1.09e5
## 2 Sumater~ 23238. 25981. 18120. 3.05e4 30254. 34427. 3.56e4 4.18e4 4.71e4 3.66e4
## 3 Sumater~ 9385. 11192. 14056. 1.41e4 13309. 14078. 1.53e4 1.51e4 1.47e4 1.07e4
## 4 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4.40e3 5.66e3 6.49e3 5.63e3
## 5 Sumater~ 7820. 9126. 8647. 1.00e4 10797. 12752. 1.31e4 1.43e4 1.48e4 1.18e4
## 6 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3.62e3 4.15e3 5.79e3 4.97e3
## 7 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 1.21e4 1.34e4 1.70e4 1.52e4
## 8 Kep. Ba~ 0 0 0 1.37e1 1177. 1544. 1.16e3 1.52e3 3.27e3 2.56e3
## # ... 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(dplyrinflow1, '2015')
Sumatera2015
## # A tibble: 8 x 1
## `2015`
## <dbl>
## 1 86549.
## 2 30254.
## 3 13309.
## 4 4978.
## 5 10797.
## 6 2791.
## 7 8160.
## 8 1177.
Sumateramin2 <- select(dplyrinflow1, '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 57900. 65911. 98369. 86024. 97764. 103748. 117495. 109345. 89270.
## 2 23238. 25981. 18120. 30503. 34427. 35617. 41769. 36609. 31840.
## 3 9385. 11192. 14056. 14103. 14078. 15312. 15058. 10696. 10748.
## 4 1868. 2138. 3047. 5169. 4398. 4404. 5657. 5628. 4980.
## 5 7820. 9126. 8647. 10038. 12752. 13075. 14267. 11756. 9106.
## 6 1153. 1201. 2378. 3262. 2889. 3620. 4150. 4971. 4160.
## 7 7690. 6969. 3474. 9448. 9373. 12078. 13415. 15158. 10697.
## 8 0 0 0 13.7 1544. 1164. 1517. 2562. 1259.
sumateramin2015 <- select(dplyrinflow1, -'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 57900. 65911. 98369. 8.60e4 86549. 97764. 1.04e5 1.17e5 1.09e5 89270.
## 2 Sumater~ 23238. 25981. 18120. 3.05e4 30254. 34427. 3.56e4 4.18e4 3.66e4 31840.
## 3 Sumater~ 9385. 11192. 14056. 1.41e4 13309. 14078. 1.53e4 1.51e4 1.07e4 10748.
## 4 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4.40e3 5.66e3 5.63e3 4980.
## 5 Sumater~ 7820. 9126. 8647. 1.00e4 10797. 12752. 1.31e4 1.43e4 1.18e4 9106.
## 6 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3.62e3 4.15e3 4.97e3 4160.
## 7 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 1.21e4 1.34e4 1.52e4 10697.
## 8 Kep. Ba~ 0 0 0 1.37e1 1177. 1544. 1.16e3 1.52e3 2.56e3 1259.
Sumateramin1 <- dplyrinflow1 %>%
select(tahun = `2017`, `2018`, `2019`)
Sumateramin1
## # A tibble: 8 x 3
## tahun `2018` `2019`
## <dbl> <dbl> <dbl>
## 1 103748. 117495. 133762.
## 2 35617. 41769. 47112.
## 3 15312. 15058. 14750.
## 4 4404. 5657. 6486.
## 5 13075. 14267. 14812.
## 6 3620. 4150. 5789.
## 7 12078. 13415. 17046.
## 8 1164. 1517. 3265.
library(dplyr)
Sumateratahun2 <- dplyrinflow1 %>% 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 57900. 65911. 98369. 86024. 86549. 97764. 1.04e5 1.17e5 1.34e5 1.09e5
## 2 Sumater~ 23238. 25981. 18120. 30503. 30254. 34427. 3.56e4 4.18e4 4.71e4 3.66e4
## 3 Sumater~ 9385. 11192. 14056. 14103. 13309. 14078. 1.53e4 1.51e4 1.47e4 1.07e4
## 4 Jambi 1868. 2138. 3047. 5169. 4978. 4398. 4.40e3 5.66e3 6.49e3 5.63e3
## 5 Sumater~ 7820. 9126. 8647. 10038. 10797. 12752. 1.31e4 1.43e4 1.48e4 1.18e4
## 6 Bengkulu 1153. 1201. 2378. 3262. 2791. 2889. 3.62e3 4.15e3 5.79e3 4.97e3
## # ... with 1 more variable: 2021 <dbl>
Sumatera4 <- distinct(dplyrinflow1, `2016`)
Sumatera4
## # A tibble: 8 x 1
## `2016`
## <dbl>
## 1 97764.
## 2 34427.
## 3 14078.
## 4 4398.
## 5 12752.
## 6 2889.
## 7 9373.
## 8 1544.
Sumatera5 <- distinct(dplyrinflow1, `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 57900. 65911. 98369. 8.60e4 86549. 97764. 1.04e5 1.17e5 1.34e5 1.09e5
## 2 Sumater~ 23238. 25981. 18120. 3.05e4 30254. 34427. 3.56e4 4.18e4 4.71e4 3.66e4
## 3 Sumater~ 9385. 11192. 14056. 1.41e4 13309. 14078. 1.53e4 1.51e4 1.47e4 1.07e4
## 4 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4.40e3 5.66e3 6.49e3 5.63e3
## 5 Sumater~ 7820. 9126. 8647. 1.00e4 10797. 12752. 1.31e4 1.43e4 1.48e4 1.18e4
## 6 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3.62e3 4.15e3 5.79e3 4.97e3
## 7 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 1.21e4 1.34e4 1.70e4 1.52e4
## 8 Kep. Ba~ 0 0 0 1.37e1 1177. 1544. 1.16e3 1.52e3 3.27e3 2.56e3
## # ... with 1 more variable: 2021 <dbl>
Sumatera6 <- dplyrinflow1 %>%
filter(Provinsi <= 'Sulawesi Barat') %>%
select(`2018`,`2019`)
Sumatera6
## # A tibble: 4 x 2
## `2018` `2019`
## <dbl> <dbl>
## 1 5657. 6486.
## 2 4150. 5789.
## 3 13415. 17046.
## 4 1517. 3265.
Sumatera7 <- dplyrinflow1 %>%
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(dplyrinflow1)
## tibble [8 x 12] (S3: tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:8] "Sumatera" "Sumatera Utara" "Sumatera Barat" "Jambi" ...
## $ 2011 : num [1:8] 57900 23238 9385 1868 7820 ...
## $ 2012 : num [1:8] 65911 25981 11192 2138 9126 ...
## $ 2013 : num [1:8] 98369 18120 14056 3047 8647 ...
## $ 2014 : num [1:8] 86024 30503 14103 5169 10038 ...
## $ 2015 : num [1:8] 86549 30254 13309 4978 10797 ...
## $ 2016 : num [1:8] 97764 34427 14078 4398 12752 ...
## $ 2017 : num [1:8] 103748 35617 15312 4404 13075 ...
## $ 2018 : num [1:8] 117495 41769 15058 5657 14267 ...
## $ 2019 : num [1:8] 133762 47112 14750 6486 14812 ...
## $ 2020 : num [1:8] 109345 36609 10696 5628 11756 ...
## $ 2021 : num [1:8] 89270 31840 10748 4980 9106 ...
str(dplyrinflow1 %>% 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] 57900 23238 9385 1868 7820 ...
## $ 2012 : num [1:8] 65911 25981 11192 2138 9126 ...
## $ 2013 : num [1:8] 98369 18120 14056 3047 8647 ...
## $ 2014 : num [1:8] 86024 30503 14103 5169 10038 ...
## $ 2015 : num [1:8] 86549 30254 13309 4978 10797 ...
## $ 2016 : num [1:8] 97764 34427 14078 4398 12752 ...
## $ 2017 : num [1:8] 103748 35617 15312 4404 13075 ...
## $ 2018 : num [1:8] 117495 41769 15058 5657 14267 ...
## $ 2019 : num [1:8] 133762 47112 14750 6486 14812 ...
## $ 2020 : num [1:8] 109345 36609 10696 5628 11756 ...
## $ 2021 : num [1:8] 89270 31840 10748 4980 9106 ...
## - 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 <- dplyrinflow1 %>%
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 57900. 65911. 98369. 8.60e4 86549. 97764. 1.04e5 1.17e5 1.34e5 1.09e5
## 2 Sumater~ 23238. 25981. 18120. 3.05e4 30254. 34427. 3.56e4 4.18e4 4.71e4 3.66e4
## 3 Sumater~ 9385. 11192. 14056. 1.41e4 13309. 14078. 1.53e4 1.51e4 1.47e4 1.07e4
## 4 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4.40e3 5.66e3 6.49e3 5.63e3
## 5 Sumater~ 7820. 9126. 8647. 1.00e4 10797. 12752. 1.31e4 1.43e4 1.48e4 1.18e4
## 6 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3.62e3 4.15e3 5.79e3 4.97e3
## 7 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 1.21e4 1.34e4 1.70e4 1.52e4
## 8 Kep. Ba~ 0 0 0 1.37e1 1177. 1544. 1.16e3 1.52e3 3.27e3 2.56e3
## # ... with 1 more variable: 2021 <dbl>
Sumateraubah <- arrange(dplyrinflow1, `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 1.37e1 1177. 1544. 1.16e3 1.52e3 3.27e3 2.56e3
## 2 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3.62e3 4.15e3 5.79e3 4.97e3
## 3 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4.40e3 5.66e3 6.49e3 5.63e3
## 4 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 1.21e4 1.34e4 1.70e4 1.52e4
## 5 Sumater~ 7820. 9126. 8647. 1.00e4 10797. 12752. 1.31e4 1.43e4 1.48e4 1.18e4
## 6 Sumater~ 9385. 11192. 14056. 1.41e4 13309. 14078. 1.53e4 1.51e4 1.47e4 1.07e4
## 7 Sumater~ 23238. 25981. 18120. 3.05e4 30254. 34427. 3.56e4 4.18e4 4.71e4 3.66e4
## 8 Sumatera 57900. 65911. 98369. 8.60e4 86549. 97764. 1.04e5 1.17e5 1.34e5 1.09e5
## # ... with 1 more variable: 2021 <dbl>
Sumaterakel2 <- dplyrinflow1 %>%
mutate(`2021` = dplyrinflow1$`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 57900. 65911. 98369. 8.60e4 86549. 97764. 1.04e5 1.17e5 1.34e5 1.09e5
## 2 Sumater~ 23238. 25981. 18120. 3.05e4 30254. 34427. 3.56e4 4.18e4 4.71e4 3.66e4
## 3 Sumater~ 9385. 11192. 14056. 1.41e4 13309. 14078. 1.53e4 1.51e4 1.47e4 1.07e4
## 4 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4.40e3 5.66e3 6.49e3 5.63e3
## 5 Sumater~ 7820. 9126. 8647. 1.00e4 10797. 12752. 1.31e4 1.43e4 1.48e4 1.18e4
## 6 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3.62e3 4.15e3 5.79e3 4.97e3
## 7 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 1.21e4 1.34e4 1.70e4 1.52e4
## 8 Kep. Ba~ 0 0 0 1.37e1 1177. 1544. 1.16e3 1.52e3 3.27e3 2.56e3
## # ... with 1 more variable: 2021 <dbl>
ggplot(data = dplyrinflow1, mapping = aes(x = Provinsi, y = `2011`)) +
geom_point()
ggplot(data = dplyrinflow1, 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