dplyr dan Tabel ggplotDosen Pengampu : Prof. Dr. Suhartono, M.Kom
Mata Kuliah : Linear Algebra
Prodi : Teknik Informatika
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Manipulasi data merupakan proses pengolahan data agar lebih mudah dibaca dan terorganisir menjadi informasi yang lebih berguna, berupa menambah (append), menghapus (delete), mengganti (update), menyisip (insert), menarik informasi tertentu (query). Berikut manipulasi data outflow uang kartal di pulau Bali Nusa Tenggara tahun 2011-2021 dengan library dplyr dan tabel ggplot menggunakan bahasa pemrograman R.
library(readxl)
outflowbalinusra <- read_excel(path = "outflowBaliNusra.xlsx")
outflowbalinusra
## # A tibble: 4 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 Bali Nu~ 16424. 19421. 29399. 23391. 26728. 31941. 34160. 37260. 38680. 31224.
## 2 Bali 8912. 10782. 7248. 13104. 14471. 18140. 17822. 20434. 20654. 14323.
## 3 Nusa Te~ 3819. 4379. 10628. 5620. 6728. 8149. 8770. 9271. 10288. 8546.
## 4 Nusa Te~ 3693. 4260. 11524. 4668. 5530. 5652. 7569. 7555. 7738. 8356.
## # ... with 1 more variable: `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()
balinusra1 <- select(outflowbalinusra,'Provinsi', '2019')
balinusra1
## # A tibble: 4 x 2
## Provinsi `2019`
## <chr> <dbl>
## 1 Bali Nusra 38680.
## 2 Bali 20654.
## 3 Nusa Tenggara Barat 10288.
## 4 Nusa Tenggara Timur 7738.
balinusra2 <- select(outflowbalinusra, -'2019')
balinusra2
## # A tibble: 4 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 Bali Nu~ 16424. 19421. 29399. 23391. 26728. 31941. 34160. 37260. 31224. 15224.
## 2 Bali 8912. 10782. 7248. 13104. 14471. 18140. 17822. 20434. 14323. 6531.
## 3 Nusa Te~ 3819. 4379. 10628. 5620. 6728. 8149. 8770. 9271. 8546. 5222.
## 4 Nusa Te~ 3693. 4260. 11524. 4668. 5530. 5652. 7569. 7555. 8356. 3472.
balinusra3 <- outflowbalinusra %>% select('Provinsi', '2015' , '2016' , '2017')
balinusra3
## # A tibble: 4 x 4
## Provinsi `2015` `2016` `2017`
## <chr> <dbl> <dbl> <dbl>
## 1 Bali Nusra 26728. 31941. 34160.
## 2 Bali 14471. 18140. 17822.
## 3 Nusa Tenggara Barat 6728. 8149. 8770.
## 4 Nusa Tenggara Timur 5530. 5652. 7569.
balinusra4 <- outflowbalinusra %>% rename('Tahun 2011' = '2011' , 'Tahun 2013' = '2013', 'Tahun 2015' = '2015' , 'Tahun 2017' = '2017' , 'Tahun 2019' = '2019', 'Tahun 2021' = '2021')
head(balinusra4)
## # A tibble: 4 x 12
## Provinsi `Tahun 2011` `2012` `Tahun 2013` `2014` `Tahun 2015` `2016`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Bali Nusra 16424. 19421. 29399. 23391. 26728. 31941.
## 2 Bali 8912. 10782. 7248. 13104. 14471. 18140.
## 3 Nusa Tenggara Bar~ 3819. 4379. 10628. 5620. 6728. 8149.
## 4 Nusa Tenggara Tim~ 3693. 4260. 11524. 4668. 5530. 5652.
## # ... with 5 more variables: `Tahun 2017` <dbl>, `2018` <dbl>,
## # `Tahun 2019` <dbl>, `2020` <dbl>, `Tahun 2021` <dbl>
balinusra5 <- outflowbalinusra %>%
filter(Provinsi == 'Nusa Tenggara Timur') %>%
select( 'Provinsi', '2019', '2020', '2021')
balinusra5
## # A tibble: 1 x 4
## Provinsi `2019` `2020` `2021`
## <chr> <dbl> <dbl> <dbl>
## 1 Nusa Tenggara Timur 7738. 8356. 3472.
str(outflowbalinusra)
## tibble [4 x 12] (S3: tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:4] "Bali Nusra" "Bali" "Nusa Tenggara Barat" "Nusa Tenggara Timur"
## $ 2011 : num [1:4] 16424 8912 3819 3693
## $ 2012 : num [1:4] 19421 10782 4379 4260
## $ 2013 : num [1:4] 29399 7248 10628 11524
## $ 2014 : num [1:4] 23391 13104 5620 4668
## $ 2015 : num [1:4] 26728 14471 6728 5530
## $ 2016 : num [1:4] 31941 18140 8149 5652
## $ 2017 : num [1:4] 34160 17822 8770 7569
## $ 2018 : num [1:4] 37260 20434 9271 7555
## $ 2019 : num [1:4] 38680 20654 10288 7738
## $ 2020 : num [1:4] 31224 14323 8546 8356
## $ 2021 : num [1:4] 15224 6531 5222 3472
str(outflowbalinusra %>% group_by(Provinsi))
## grouped_df [4 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Provinsi: chr [1:4] "Bali Nusra" "Bali" "Nusa Tenggara Barat" "Nusa Tenggara Timur"
## $ 2011 : num [1:4] 16424 8912 3819 3693
## $ 2012 : num [1:4] 19421 10782 4379 4260
## $ 2013 : num [1:4] 29399 7248 10628 11524
## $ 2014 : num [1:4] 23391 13104 5620 4668
## $ 2015 : num [1:4] 26728 14471 6728 5530
## $ 2016 : num [1:4] 31941 18140 8149 5652
## $ 2017 : num [1:4] 34160 17822 8770 7569
## $ 2018 : num [1:4] 37260 20434 9271 7555
## $ 2019 : num [1:4] 38680 20654 10288 7738
## $ 2020 : num [1:4] 31224 14323 8546 8356
## $ 2021 : num [1:4] 15224 6531 5222 3472
## - attr(*, "groups")= tibble [4 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:4] "Bali" "Bali Nusra" "Nusa Tenggara Barat" "Nusa Tenggara Timur"
## ..$ .rows : list<int> [1:4]
## .. ..$ : int 2
## .. ..$ : int 1
## .. ..$ : int 3
## .. ..$ : int 4
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
balinusra6 <- outflowbalinusra %>%
group_by(Provinsi)
balinusra6
## # A tibble: 4 x 12
## # Groups: Provinsi [4]
## Provinsi `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Bali Nu~ 16424. 19421. 29399. 23391. 26728. 31941. 34160. 37260. 38680. 31224.
## 2 Bali 8912. 10782. 7248. 13104. 14471. 18140. 17822. 20434. 20654. 14323.
## 3 Nusa Te~ 3819. 4379. 10628. 5620. 6728. 8149. 8770. 9271. 10288. 8546.
## 4 Nusa Te~ 3693. 4260. 11524. 4668. 5530. 5652. 7569. 7555. 7738. 8356.
## # ... with 1 more variable: `2021` <dbl>
outflowbalinusra %>%
filter(Provinsi == 'Nusa Tenggara Timur') %>%
count('2019', sort = TRUE)
## # A tibble: 1 x 2
## `"2019"` n
## <chr> <int>
## 1 2019 1
balinusra7 <- outflowbalinusra %>%
mutate('2019' = outflowbalinusra$`2021`/2)
balinusra7
## # A tibble: 4 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 Bali Nu~ 16424. 19421. 29399. 23391. 26728. 31941. 34160. 37260. 7612. 31224.
## 2 Bali 8912. 10782. 7248. 13104. 14471. 18140. 17822. 20434. 3265. 14323.
## 3 Nusa Te~ 3819. 4379. 10628. 5620. 6728. 8149. 8770. 9271. 2611. 8546.
## 4 Nusa Te~ 3693. 4260. 11524. 4668. 5530. 5652. 7569. 7555. 1736. 8356.
## # ... with 1 more variable: `2021` <dbl>
ggplot(data = outflowbalinusra, mapping = aes(Provinsi, `2019`, color = Provinsi)) +
geom_point()