Manipulasi data, manipulasi data dapat diartikan sebagai proses perubahan data sesuai dengan aturan yang kita terapkan. Manfaat manipulasi data dapat kita gunakan untuk melakukan prediksi data. Dengan adanya prediksi tersebut kita dapat membuat rencana untuk mencegah hal-hal yang tidak kita inginkan.
Inflow adalah uang yang masuk ke Bank Indonesia melalui kegiatan penyetoran, dan outflow adalah uang yang keluar dari Bank Indonesia melalui kegiatan penarikan.
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
outflowjawa <- read_excel(path = "D:/1. PERKULIAHAN/Semester 2/Linier Algebra/data/outflowjawatahunan.xlsx")
## New names:
## * `` -> ...1
outflowjawa
## # A tibble: 7 x 13
## ...1 Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018`
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NA <NA> NA NA NA NA NA NA NA NA
## 2 1 Jawa 83511. 111363. 98969. 147069. 171568. 190568. 228905. 253125.
## 3 2 Jawa Barat 20782. 28895. 23067. 40857. 47063. 49405. 53825. 61358.
## 4 3 Jawa Teng~ 19975. 28493. 29529. 39110. 46840. 53659. 62761. 69368.
## 5 4 Yogyakarta 7538. 9486. 9708. 13171. 14080. 13013. 16810. 20357.
## 6 5 Jawa Timur 35217. 44489. 36665. 53931. 63585. 74491. 93396. 97995.
## 7 6 Banten 0 0 0 0 0 0 2113. 4047.
## # ... with 3 more variables: `2019` <dbl>, `2020` <dbl>, `2021` <dbl>
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.2
## 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 'forcats' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
jawaout2015 <- select(outflowjawa, '2015')
jawaout2015
## # A tibble: 7 x 1
## `2015`
## <dbl>
## 1 NA
## 2 171568.
## 3 47063.
## 4 46840.
## 5 14080.
## 6 63585.
## 7 0
library(tidyverse)
jawanon2015 <- select(outflowjawa, -'2015')
jawanon2015
## # A tibble: 7 x 12
## ...1 Provinsi `2011` `2012` `2013` `2014` `2016` `2017` `2018` `2019`
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NA <NA> NA NA NA NA NA NA NA NA
## 2 1 Jawa 83511. 111363. 98969. 147069. 190568. 228905. 253125. 271957.
## 3 2 Jawa Barat 20782. 28895. 23067. 40857. 49405. 53825. 61358. 61692.
## 4 3 Jawa Teng~ 19975. 28493. 29529. 39110. 53659. 62761. 69368. 72363.
## 5 4 Yogyakarta 7538. 9486. 9708. 13171. 13013. 16810. 20357. 21353.
## 6 5 Jawa Timur 35217. 44489. 36665. 53931. 74491. 93396. 97995. 105514.
## 7 6 Banten 0 0 0 0 0 2113. 4047. 11035.
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
library(dplyr)
pjawa <- outflowjawa %>%
filter(Provinsi == 'Jawa Tengah') %>%
select('2011','2012','2013','2014','2015')
pjawa
## # A tibble: 1 x 5
## `2011` `2012` `2013` `2014` `2015`
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 19975. 28493. 29529. 39110. 46840.
library(dplyr)
banten <- outflowjawa %>%
filter(Provinsi == 'Banten') %>%
select('2017','2018','2019','2020')
banten
## # A tibble: 1 x 4
## `2017` `2018` `2019` `2020`
## <dbl> <dbl> <dbl> <dbl>
## 1 2113. 4047. 11035. 11793.
str(outflowjawa)
## tibble [7 x 13] (S3: tbl_df/tbl/data.frame)
## $ ...1 : num [1:7] NA 1 2 3 4 5 6
## $ Provinsi: chr [1:7] NA "Jawa" "Jawa Barat" "Jawa Tengah" ...
## $ 2011 : num [1:7] NA 83511 20782 19975 7538 ...
## $ 2012 : num [1:7] NA 111363 28895 28493 9486 ...
## $ 2013 : num [1:7] NA 98969 23067 29529 9708 ...
## $ 2014 : num [1:7] NA 147069 40857 39110 13171 ...
## $ 2015 : num [1:7] NA 171568 47063 46840 14080 ...
## $ 2016 : num [1:7] NA 190568 49405 53659 13013 ...
## $ 2017 : num [1:7] NA 228905 53825 62761 16810 ...
## $ 2018 : num [1:7] NA 253125 61358 69368 20357 ...
## $ 2019 : num [1:7] NA 271957 61692 72363 21353 ...
## $ 2020 : num [1:7] NA 251363 57235 72342 16619 ...
## $ 2021 : num [1:7] NA 143340 34763 44455 9652 ...
str(outflowjawa %>% group_by(Provinsi))
## grouped_df [7 x 13] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ ...1 : num [1:7] NA 1 2 3 4 5 6
## $ Provinsi: chr [1:7] NA "Jawa" "Jawa Barat" "Jawa Tengah" ...
## $ 2011 : num [1:7] NA 83511 20782 19975 7538 ...
## $ 2012 : num [1:7] NA 111363 28895 28493 9486 ...
## $ 2013 : num [1:7] NA 98969 23067 29529 9708 ...
## $ 2014 : num [1:7] NA 147069 40857 39110 13171 ...
## $ 2015 : num [1:7] NA 171568 47063 46840 14080 ...
## $ 2016 : num [1:7] NA 190568 49405 53659 13013 ...
## $ 2017 : num [1:7] NA 228905 53825 62761 16810 ...
## $ 2018 : num [1:7] NA 253125 61358 69368 20357 ...
## $ 2019 : num [1:7] NA 271957 61692 72363 21353 ...
## $ 2020 : num [1:7] NA 251363 57235 72342 16619 ...
## $ 2021 : num [1:7] NA 143340 34763 44455 9652 ...
## - attr(*, "groups")= tibble [7 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:7] "Banten" "Jawa" "Jawa Barat" "Jawa Tengah" ...
## ..$ .rows : list<int> [1:7]
## .. ..$ : int 7
## .. ..$ : int 2
## .. ..$ : int 3
## .. ..$ : int 4
## .. ..$ : int 6
## .. ..$ : int 5
## .. ..$ : int 1
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
ggplot(data = outflowjawa, mapping = aes(x = Provinsi, y = `2020`)) +
geom_point()
## Warning: Removed 1 rows containing missing values (geom_point).