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)
ManipulasiInflow <- read_excel("Sulawesi.xlsx")
ManipulasiInflow
## # A tibble: 36 x 12
## Propinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Aceh 2308. 2620. 36337. 4.57e3 4710. 5775. 5514. 5799. 7509.
## 2 Sumatera Utara 23238. 25981. 18120. 3.05e4 30254. 34427. 35617. 41769. 47112.
## 3 Sumatera Barat 9385. 11192. 14056. 1.41e4 13309. 14078. 15312. 15058. 14750.
## 4 Riau 3012. 4447. 8933. 6.36e3 7156. 8211. 8553. 10730. 10915.
## 5 Kep. Riau 1426. 2236. 3378. 2.56e3 3218. 4317. 4412. 5134. 6077.
## 6 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4404. 5657. 6486.
## 7 Sumatera Sela~ 7820. 9126. 8647. 1.00e4 10797. 12752. 13075. 14267. 14812.
## 8 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3620. 4150. 5789.
## 9 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 12078. 13415. 17046.
## 10 Kep. Bangka B~ 0 0 0 1.37e1 1177. 1544. 1164. 1517. 3265.
## # ... with 26 more rows, and 2 more variables: `2020` <dbl>, `2021` <dbl>
Memilih Kolom “2013” untuk ditampilkan datanya
sulawesiUtara1 <- dplyr::select(ManipulasiInflow,"2013")
sulawesiUtara1
## # A tibble: 36 x 1
## `2013`
## <dbl>
## 1 36337.
## 2 18120.
## 3 14056.
## 4 8933.
## 5 3378.
## 6 3047.
## 7 8647.
## 8 2378.
## 9 3474.
## 10 0
## # ... with 26 more rows
Hanya Menghapus Kolom “2011”, dan menampilkan sisa kolom yang ada.
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()
sulawesinon2011 <- select(ManipulasiInflow, -"2011")
sulawesinon2011
## # A tibble: 36 x 11
## Propinsi `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Aceh 2620. 36337. 4.57e3 4710. 5775. 5514. 5799. 7509. 6641.
## 2 Sumatera Utara 25981. 18120. 3.05e4 30254. 34427. 35617. 41769. 47112. 36609.
## 3 Sumatera Barat 11192. 14056. 1.41e4 13309. 14078. 15312. 15058. 14750. 10696.
## 4 Riau 4447. 8933. 6.36e3 7156. 8211. 8553. 10730. 10915. 9148.
## 5 Kep. Riau 2236. 3378. 2.56e3 3218. 4317. 4412. 5134. 6077. 6175.
## 6 Jambi 2138. 3047. 5.17e3 4978. 4398. 4404. 5657. 6486. 5628.
## 7 Sumatera Sela~ 9126. 8647. 1.00e4 10797. 12752. 13075. 14267. 14812. 11756.
## 8 Bengkulu 1201. 2378. 3.26e3 2791. 2889. 3620. 4150. 5789. 4971.
## 9 Lampung 6969. 3474. 9.45e3 8160. 9373. 12078. 13415. 17046. 15158.
## 10 Kep. Bangka B~ 0 0 1.37e1 1177. 1544. 1164. 1517. 3265. 2562.
## # ... with 26 more rows, and 1 more variable: `2021` <dbl>
sulawesi2013 <- ManipulasiInflow %>% select('2013')
sulawesi2013
## # A tibble: 36 x 1
## `2013`
## <dbl>
## 1 36337.
## 2 18120.
## 3 14056.
## 4 8933.
## 5 3378.
## 6 3047.
## 7 8647.
## 8 2378.
## 9 3474.
## 10 0
## # ... with 26 more rows
Pada data akan menganti nama kolom “2011” dengan nama kolom “2010”.
library(dplyr)
sulawesitahun <- ManipulasiInflow %>% rename('2010' = '2011')
sulawesitahun
## # A tibble: 36 x 12
## Propinsi `2010` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Aceh 2308. 2620. 36337. 4.57e3 4710. 5775. 5514. 5799. 7509.
## 2 Sumatera Utara 23238. 25981. 18120. 3.05e4 30254. 34427. 35617. 41769. 47112.
## 3 Sumatera Barat 9385. 11192. 14056. 1.41e4 13309. 14078. 15312. 15058. 14750.
## 4 Riau 3012. 4447. 8933. 6.36e3 7156. 8211. 8553. 10730. 10915.
## 5 Kep. Riau 1426. 2236. 3378. 2.56e3 3218. 4317. 4412. 5134. 6077.
## 6 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4404. 5657. 6486.
## 7 Sumatera Sela~ 7820. 9126. 8647. 1.00e4 10797. 12752. 13075. 14267. 14812.
## 8 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3620. 4150. 5789.
## 9 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 12078. 13415. 17046.
## 10 Kep. Bangka B~ 0 0 0 1.37e1 1177. 1544. 1164. 1517. 3265.
## # ... with 26 more rows, and 2 more variables: `2020` <dbl>, `2021` <dbl>
head(sulawesitahun)
## # A tibble: 6 x 12
## Propinsi `2010` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Aceh 2308. 2620. 36337. 4567. 4710. 5775. 5514. 5799. 7509. 6641.
## 2 Sumater~ 23238. 25981. 18120. 30503. 30254. 34427. 35617. 41769. 47112. 36609.
## 3 Sumater~ 9385. 11192. 14056. 14103. 13309. 14078. 15312. 15058. 14750. 10696.
## 4 Riau 3012. 4447. 8933. 6358. 7156. 8211. 8553. 10730. 10915. 9148.
## 5 Kep. Ri~ 1426. 2236. 3378. 2563. 3218. 4317. 4412. 5134. 6077. 6175.
## 6 Jambi 1868. 2138. 3047. 5169. 4978. 4398. 4404. 5657. 6486. 5628.
## # ... with 1 more variable: `2021` <dbl>
Menapilkan nilai pada kolom “2011” dan “2012” di Sulawesi Utara.
library(dplyr)
sulawesibali <- ManipulasiInflow %>%
filter(Propinsi <= "Sulawesi Utara") %>%
select('2011','2012')
sulawesibali
## # A tibble: 32 x 2
## `2011` `2012`
## <dbl> <dbl>
## 1 2308. 2620.
## 2 3012. 4447.
## 3 1426. 2236.
## 4 1868. 2138.
## 5 1153. 1201.
## 6 7690. 6969.
## 7 0 0
## 8 62958. 76665.
## 9 123917. 160482.
## 10 43775. 60629.
## # ... with 22 more rows
library(dplyr)
sulawesiUp1 <- ManipulasiInflow %>%
filter(Propinsi == 'Aceh', Propinsi == 'Suawesi Utara') %>%
select(-'2011')
sulawesiUp1
## # A tibble: 0 x 11
## # ... with 11 variables: Propinsi <chr>, 2012 <dbl>, 2013 <dbl>, 2014 <dbl>,
## # 2015 <dbl>, 2016 <dbl>, 2017 <dbl>, 2018 <dbl>, 2019 <dbl>, 2020 <dbl>,
## # 2021 <dbl>
str(ManipulasiInflow)
## tibble [36 x 12] (S3: tbl_df/tbl/data.frame)
## $ Propinsi: chr [1:36] "Aceh" "Sumatera Utara" "Sumatera Barat" "Riau" ...
## $ 2011 : num [1:36] 2308 23238 9385 3012 1426 ...
## $ 2012 : num [1:36] 2620 25981 11192 4447 2236 ...
## $ 2013 : num [1:36] 36337 18120 14056 8933 3378 ...
## $ 2014 : num [1:36] 4567 30503 14103 6358 2563 ...
## $ 2015 : num [1:36] 4710 30254 13309 7156 3218 ...
## $ 2016 : num [1:36] 5775 34427 14078 8211 4317 ...
## $ 2017 : num [1:36] 5514 35617 15312 8553 4412 ...
## $ 2018 : num [1:36] 5799 41769 15058 10730 5134 ...
## $ 2019 : num [1:36] 7509 47112 14750 10915 6077 ...
## $ 2020 : num [1:36] 6641 36609 10696 9148 6175 ...
## $ 2021 : num [1:36] 3702 31840 10748 7769 5009 ...
str(ManipulasiInflow %>% group_by(Propinsi))
## grouped_df [36 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Propinsi: chr [1:36] "Aceh" "Sumatera Utara" "Sumatera Barat" "Riau" ...
## $ 2011 : num [1:36] 2308 23238 9385 3012 1426 ...
## $ 2012 : num [1:36] 2620 25981 11192 4447 2236 ...
## $ 2013 : num [1:36] 36337 18120 14056 8933 3378 ...
## $ 2014 : num [1:36] 4567 30503 14103 6358 2563 ...
## $ 2015 : num [1:36] 4710 30254 13309 7156 3218 ...
## $ 2016 : num [1:36] 5775 34427 14078 8211 4317 ...
## $ 2017 : num [1:36] 5514 35617 15312 8553 4412 ...
## $ 2018 : num [1:36] 5799 41769 15058 10730 5134 ...
## $ 2019 : num [1:36] 7509 47112 14750 10915 6077 ...
## $ 2020 : num [1:36] 6641 36609 10696 9148 6175 ...
## $ 2021 : num [1:36] 3702 31840 10748 7769 5009 ...
## - attr(*, "groups")= tibble [36 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Propinsi: chr [1:36] "Aceh" "Bali" "Banten" "Bengkulu" ...
## ..$ .rows : list<int> [1:36]
## .. ..$ : int 1
## .. ..$ : int 18
## .. ..$ : int 17
## .. ..$ : int 8
## .. ..$ : int 11
## .. ..$ : int 31
## .. ..$ : int 6
## .. ..$ : int 12
## .. ..$ : int 13
## .. ..$ : int 14
## .. ..$ : int 16
## .. ..$ : int 21
## .. ..$ : int 23
## .. ..$ : int 22
## .. ..$ : int 24
## .. ..$ : int 25
## .. ..$ : int 10
## .. ..$ : int 5
## .. ..$ : int 9
## .. ..$ : int 33
## .. ..$ : int 32
## .. ..$ : int 36
## .. ..$ : int 19
## .. ..$ : int 20
## .. ..$ : int 34
## .. ..$ : int 35
## .. ..$ : int 4
## .. ..$ : int 30
## .. ..$ : int 28
## .. ..$ : int 27
## .. ..$ : int 29
## .. ..$ : int 26
## .. ..$ : int 3
## .. ..$ : int 7
## .. ..$ : int 2
## .. ..$ : int 15
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
sulawesiUp3 <- ManipulasiInflow %>%
group_by(Propinsi)
sulawesiUp3
## # A tibble: 36 x 12
## # Groups: Propinsi [36]
## Propinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Aceh 2308. 2620. 36337. 4.57e3 4710. 5775. 5514. 5799. 7509.
## 2 Sumatera Utara 23238. 25981. 18120. 3.05e4 30254. 34427. 35617. 41769. 47112.
## 3 Sumatera Barat 9385. 11192. 14056. 1.41e4 13309. 14078. 15312. 15058. 14750.
## 4 Riau 3012. 4447. 8933. 6.36e3 7156. 8211. 8553. 10730. 10915.
## 5 Kep. Riau 1426. 2236. 3378. 2.56e3 3218. 4317. 4412. 5134. 6077.
## 6 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4404. 5657. 6486.
## 7 Sumatera Sela~ 7820. 9126. 8647. 1.00e4 10797. 12752. 13075. 14267. 14812.
## 8 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3620. 4150. 5789.
## 9 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 12078. 13415. 17046.
## 10 Kep. Bangka B~ 0 0 0 1.37e1 1177. 1544. 1164. 1517. 3265.
## # ... with 26 more rows, and 2 more variables: `2020` <dbl>, `2021` <dbl>
sulawesiutaraubah <- arrange(ManipulasiInflow, `2012`)
sulawesiutaraubah
## # A tibble: 36 x 12
## Propinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Kep. Bangka B~ 0 0 0 13.7 1177. 1544. 1164. 1517. 3265.
## 2 Banten 0 0 0 0 0 0 1495. 4832. 4477.
## 3 Kalimantan Ut~ 0 0 0 0 0 0 341. 917. 1472.
## 4 Sulawesi Barat 0 0 0 0 49.2 536. 746. 606. 542.
## 5 Gorontalo 0 0 0 0 0 0 0 1088. 1983.
## 6 Papua Barat 0 0 0 11.7 518. 818. 933. 1153. 1448.
## 7 Maluku Utara 586. 633. 10273. 1006. 1007. 1259. 1339. 1530. 1924.
## 8 Sulawesi Teng~ 659. 964. 6093. 2256. 2385. 3491. 3618. 3632. 4390.
## 9 Kalimantan Te~ 779. 1135. 19328. 1887. 3547. 3694. 3655. 4083. 4385.
## 10 Maluku 1273. 1147. 4341. 1781. 1790. 2367. 2484. 3210. 4056.
## # ... with 26 more rows, and 2 more variables: `2020` <dbl>, `2021` <dbl>
sulawesiUp1 <- ManipulasiInflow %>%
mutate('2010' = ManipulasiInflow$`2011`/2)
sulawesiUp1
## # A tibble: 36 x 13
## Propinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Aceh 2308. 2620. 36337. 4.57e3 4710. 5775. 5514. 5799. 7509.
## 2 Sumatera Utara 23238. 25981. 18120. 3.05e4 30254. 34427. 35617. 41769. 47112.
## 3 Sumatera Barat 9385. 11192. 14056. 1.41e4 13309. 14078. 15312. 15058. 14750.
## 4 Riau 3012. 4447. 8933. 6.36e3 7156. 8211. 8553. 10730. 10915.
## 5 Kep. Riau 1426. 2236. 3378. 2.56e3 3218. 4317. 4412. 5134. 6077.
## 6 Jambi 1868. 2138. 3047. 5.17e3 4978. 4398. 4404. 5657. 6486.
## 7 Sumatera Sela~ 7820. 9126. 8647. 1.00e4 10797. 12752. 13075. 14267. 14812.
## 8 Bengkulu 1153. 1201. 2378. 3.26e3 2791. 2889. 3620. 4150. 5789.
## 9 Lampung 7690. 6969. 3474. 9.45e3 8160. 9373. 12078. 13415. 17046.
## 10 Kep. Bangka B~ 0 0 0 1.37e1 1177. 1544. 1164. 1517. 3265.
## # ... with 26 more rows, and 3 more variables: `2020` <dbl>, `2021` <dbl>,
## # `2010` <dbl>
ggplot(data = ManipulasiInflow, mapping = aes(x = Propinsi, y = `2011`)) +
geom_point()
ggplot(data = ManipulasiInflow, mapping = aes(x = Propinsi, y = `2020`)) +
geom_point()
Refrensi