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.
library(readxl)
inflowsumatra <- read_excel(path = "InflowTahunSumatra.xlsx")
## New names:
## * `` -> ...1
inflowsumatra
## # A tibble: 12 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 Sumatera 57900. 65911. 98369. 86024. 86549. 97764. 103748. 117495.
## 3 2 Aceh 2308. 2620. 36337. 4567. 4710. 5775. 5514. 5799.
## 4 3 Sumatera Ut~ 23238. 25981. 18120. 30503. 30254. 34427. 35617. 41769.
## 5 4 Sumatera Ba~ 9385. 11192. 14056. 14103. 13309. 14078. 15312. 15058.
## 6 5 Riau 3012. 4447. 8933. 6358. 7156. 8211. 8553. 10730.
## 7 6 Kep. Riau 1426. 2236. 3378. 2563. 3218. 4317. 4412. 5134.
## 8 7 Jambi 1868. 2138. 3047. 5169. 4978. 4398. 4404. 5657.
## 9 8 Sumatera Se~ 7820. 9126. 8647. 10038. 10797. 12752. 13075. 14267.
## 10 9 Bengkulu 1153. 1201. 2378. 3262. 2791. 2889. 3620. 4150.
## 11 10 Lampung 7690. 6969. 3474. 9448. 8160. 9373. 12078. 13415.
## 12 11 Kep. Bangka~ 0 0 0 13.7 1177. 1544. 1164. 1517.
## # ... with 3 more variables: `2019` <dbl>, `2020` <dbl>, `2021` <dbl>
library(tidyverse)
## -- 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
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
sumatra2016 <- select(inflowsumatra, '2016')
sumatra2016
## # A tibble: 12 x 1
## `2016`
## <dbl>
## 1 NA
## 2 97764.
## 3 5775.
## 4 34427.
## 5 14078.
## 6 8211.
## 7 4317.
## 8 4398.
## 9 12752.
## 10 2889.
## 11 9373.
## 12 1544.
library(tidyverse)
sumatranon2016 <- select(inflowsumatra, -'2016')
sumatranon2016
## # A tibble: 12 x 12
## ...1 Provinsi `2011` `2012` `2013` `2014` `2015` `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 Sumatera 57900. 65911. 98369. 86024. 86549. 103748. 117495. 133762.
## 3 2 Aceh 2308. 2620. 36337. 4567. 4710. 5514. 5799. 7509.
## 4 3 Sumatera U~ 23238. 25981. 18120. 30503. 30254. 35617. 41769. 47112.
## 5 4 Sumatera B~ 9385. 11192. 14056. 14103. 13309. 15312. 15058. 14750.
## 6 5 Riau 3012. 4447. 8933. 6358. 7156. 8553. 10730. 10915.
## 7 6 Kep. Riau 1426. 2236. 3378. 2563. 3218. 4412. 5134. 6077.
## 8 7 Jambi 1868. 2138. 3047. 5169. 4978. 4404. 5657. 6486.
## 9 8 Sumatera S~ 7820. 9126. 8647. 10038. 10797. 13075. 14267. 14812.
## 10 9 Bengkulu 1153. 1201. 2378. 3262. 2791. 3620. 4150. 5789.
## 11 10 Lampung 7690. 6969. 3474. 9448. 8160. 12078. 13415. 17046.
## 12 11 Kep. Bangk~ 0 0 0 13.7 1177. 1164. 1517. 3265.
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
Merubah “2013” menjadi “Tahun 2013”
library(dplyr)
rename2013 <- inflowsumatra %>% rename('Tahun 2013' = '2013')
head(rename2013)
## # A tibble: 6 x 13
## ...1 Provinsi `2011` `2012` `Tahun 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 Sumatera 57900. 65911. 98369. 86024. 86549. 97764. 103748. 117495.
## 3 2 Aceh 2308. 2620. 36337. 4567. 4710. 5775. 5514. 5799.
## 4 3 Sumater~ 23238. 25981. 18120. 30503. 30254. 34427. 35617. 41769.
## 5 4 Sumater~ 9385. 11192. 14056. 14103. 13309. 14078. 15312. 15058.
## 6 5 Riau 3012. 4447. 8933. 6358. 7156. 8211. 8553. 10730.
## # ... with 3 more variables: `2019` <dbl>, `2020` <dbl>, `2021` <dbl>
library(dplyr)
sumatrabengkulu <- inflowsumatra %>%
filter(Provinsi == 'Bengkulu') %>%
select('2011','2012','2013','2014','2015')
sumatrabengkulu
## # A tibble: 1 x 5
## `2011` `2012` `2013` `2014` `2015`
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1153. 1201. 2378. 3262. 2791.
library(dplyr)
riau <- inflowsumatra %>%
filter(Provinsi == 'Riau') %>%
select('2011','2013','2016','2018')
riau
## # A tibble: 1 x 4
## `2011` `2013` `2016` `2018`
## <dbl> <dbl> <dbl> <dbl>
## 1 3012. 8933. 8211. 10730.
str(inflowsumatra)
## tibble [12 x 13] (S3: tbl_df/tbl/data.frame)
## $ ...1 : num [1:12] NA 1 2 3 4 5 6 7 8 9 ...
## $ Provinsi: chr [1:12] NA "Sumatera" "Aceh" "Sumatera Utara" ...
## $ 2011 : num [1:12] NA 57900 2308 23238 9385 ...
## $ 2012 : num [1:12] NA 65911 2620 25981 11192 ...
## $ 2013 : num [1:12] NA 98369 36337 18120 14056 ...
## $ 2014 : num [1:12] NA 86024 4567 30503 14103 ...
## $ 2015 : num [1:12] NA 86549 4710 30254 13309 ...
## $ 2016 : num [1:12] NA 97764 5775 34427 14078 ...
## $ 2017 : num [1:12] NA 103748 5514 35617 15312 ...
## $ 2018 : num [1:12] NA 117495 5799 41769 15058 ...
## $ 2019 : num [1:12] NA 133762 7509 47112 14750 ...
## $ 2020 : num [1:12] NA 109345 6641 36609 10696 ...
## $ 2021 : num [1:12] NA 89270 3702 31840 10748 ...
str(inflowsumatra %>% group_by(Provinsi))
## grouped_df [12 x 13] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ ...1 : num [1:12] NA 1 2 3 4 5 6 7 8 9 ...
## $ Provinsi: chr [1:12] NA "Sumatera" "Aceh" "Sumatera Utara" ...
## $ 2011 : num [1:12] NA 57900 2308 23238 9385 ...
## $ 2012 : num [1:12] NA 65911 2620 25981 11192 ...
## $ 2013 : num [1:12] NA 98369 36337 18120 14056 ...
## $ 2014 : num [1:12] NA 86024 4567 30503 14103 ...
## $ 2015 : num [1:12] NA 86549 4710 30254 13309 ...
## $ 2016 : num [1:12] NA 97764 5775 34427 14078 ...
## $ 2017 : num [1:12] NA 103748 5514 35617 15312 ...
## $ 2018 : num [1:12] NA 117495 5799 41769 15058 ...
## $ 2019 : num [1:12] NA 133762 7509 47112 14750 ...
## $ 2020 : num [1:12] NA 109345 6641 36609 10696 ...
## $ 2021 : num [1:12] NA 89270 3702 31840 10748 ...
## - attr(*, "groups")= tibble [12 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:12] "Aceh" "Bengkulu" "Jambi" "Kep. Bangka Belitung" ...
## ..$ .rows : list<int> [1:12]
## .. ..$ : int 3
## .. ..$ : int 10
## .. ..$ : int 8
## .. ..$ : int 12
## .. ..$ : int 7
## .. ..$ : int 11
## .. ..$ : int 6
## .. ..$ : int 2
## .. ..$ : int 5
## .. ..$ : int 9
## .. ..$ : int 4
## .. ..$ : int 1
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
ggplot(data = inflowsumatra, mapping = aes(x = Provinsi, y = `2017`)) +
geom_point()
## Warning: Removed 1 rows containing missing values (geom_point).