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
inflowjawa <- read_excel(path = "D:/1. PERKULIAHAN/Semester 2/Linier Algebra/data/inflowjawatahunan.xlsx")
## New names:
## * `` -> ...1
inflowjawa
## # 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 123917. 160482. 134998. 217303. 230141. 261607. 277609. 306911.
## 3 2 Jawa Ba~ 43775. 60629. 35190. 78660. 81303. 88036. 83220. 87243.
## 4 3 Jawa Te~ 35137. 43298. 42182. 60476. 65198. 72782. 77031. 87829.
## 5 4 Yogyaka~ 6490. 9173. 8939. 13890. 14831. 17350. 17483. 20574.
## 6 5 Jawa Ti~ 38515. 47383. 48687. 64276. 68808. 83439. 98380. 106433.
## 7 6 Banten 0 0 0 0 0 0 1495. 4832.
## # ... 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()
jawa2015 <- select(inflowjawa, '2015')
jawa2015
## # A tibble: 7 x 1
## `2015`
## <dbl>
## 1 NA
## 2 230141.
## 3 81303.
## 4 65198.
## 5 14831.
## 6 68808.
## 7 0
library(tidyverse)
jawanon2015 <- select(inflowjawa, -'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 123917. 160482. 134998. 217303. 261607. 277609. 306911. 324624.
## 3 2 Jawa Ba~ 43775. 60629. 35190. 78660. 88036. 83220. 87243. 94846.
## 4 3 Jawa Te~ 35137. 43298. 42182. 60476. 72782. 77031. 87829. 90751.
## 5 4 Yogyaka~ 6490. 9173. 8939. 13890. 17350. 17483. 20574. 20899.
## 6 5 Jawa Ti~ 38515. 47383. 48687. 64276. 83439. 98380. 106433. 113651.
## 7 6 Banten 0 0 0 0 0 1495. 4832. 4477.
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
library(dplyr)
rename2011 <- inflowjawa %>% rename('Duaribu Lima belas' = '2015')
head(rename2011)
## # A tibble: 6 x 13
## ...1 Provinsi `2011` `2012` `2013` `2014` `Duaribu Lima belas` `2016`
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NA <NA> NA NA NA NA NA NA
## 2 1 Jawa 123917. 160482. 134998. 217303. 230141. 261607.
## 3 2 Jawa Barat 43775. 60629. 35190. 78660. 81303. 88036.
## 4 3 Jawa Tengah 35137. 43298. 42182. 60476. 65198. 72782.
## 5 4 Yogyakarta 6490. 9173. 8939. 13890. 14831. 17350.
## 6 5 Jawa Timur 38515. 47383. 48687. 64276. 68808. 83439.
## # ... with 5 more variables: `2017` <dbl>, `2018` <dbl>, `2019` <dbl>,
## # `2020` <dbl>, `2021` <dbl>
library(dplyr)
pjawa <- inflowjawa %>%
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 35137. 43298. 42182. 60476. 65198.
library(dplyr)
banten <- inflowjawa %>%
filter(Provinsi == 'Banten') %>%
select('2017','2018','2019','2020')
banten
## # A tibble: 1 x 4
## `2017` `2018` `2019` `2020`
## <dbl> <dbl> <dbl> <dbl>
## 1 1495. 4832. 4477. 3396.
str(inflowjawa)
## 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 123917 43775 35137 6490 ...
## $ 2012 : num [1:7] NA 160482 60629 43298 9173 ...
## $ 2013 : num [1:7] NA 134998 35190 42182 8939 ...
## $ 2014 : num [1:7] NA 217303 78660 60476 13890 ...
## $ 2015 : num [1:7] NA 230141 81303 65198 14831 ...
## $ 2016 : num [1:7] NA 261607 88036 72782 17350 ...
## $ 2017 : num [1:7] NA 277609 83220 77031 17483 ...
## $ 2018 : num [1:7] NA 306911 87243 87829 20574 ...
## $ 2019 : num [1:7] NA 324624 94846 90751 20899 ...
## $ 2020 : num [1:7] NA 259444 76883 84970 7348 ...
## $ 2021 : num [1:7] NA 187816 57295 62024 6714 ...
str(inflowjawa %>% 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 123917 43775 35137 6490 ...
## $ 2012 : num [1:7] NA 160482 60629 43298 9173 ...
## $ 2013 : num [1:7] NA 134998 35190 42182 8939 ...
## $ 2014 : num [1:7] NA 217303 78660 60476 13890 ...
## $ 2015 : num [1:7] NA 230141 81303 65198 14831 ...
## $ 2016 : num [1:7] NA 261607 88036 72782 17350 ...
## $ 2017 : num [1:7] NA 277609 83220 77031 17483 ...
## $ 2018 : num [1:7] NA 306911 87243 87829 20574 ...
## $ 2019 : num [1:7] NA 324624 94846 90751 20899 ...
## $ 2020 : num [1:7] NA 259444 76883 84970 7348 ...
## $ 2021 : num [1:7] NA 187816 57295 62024 6714 ...
## - 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 = inflowjawa, mapping = aes(x = Provinsi, y = `2020`)) +
geom_point()
## Warning: Removed 1 rows containing missing values (geom_point).