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 Sulampua tahun 2012 dengan library dplyr dan tabel ggplot menggunakan bahasa pemrograman R.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readxl)
outflowsulampua <- read_excel(path = "outflowSulampua.xlsx")
outflowsulampua
## # A tibble: 11 x 13
## Provinsi Januari Februari Maret April Mei Juni Juli Agustus September
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sulampua 1104. 1390. 2480. 3468. 3346. 3985. 3758. 5220. 1924.
## 2 Sulawesi U~ 196. 283. 434. 528. 497. 797. 614. 976. 309.
## 3 Sulawesi T~ 48.8 174. 201. 449. 434. 542. 364. 559. 170.
## 4 Sulawesi S~ 510. 455. 932. 1184. 913. 1076. 1012. 1895. 682.
## 5 Sulawesi T~ 136. 6.83 89.3 186. 343. 308. 327. 396. 38.0
## 6 Sulawesi B~ 0 0 0 0 0 0 0 0 0
## 7 Gorontalo 0 0 0 0 0 0 0 0 0
## 8 Maluku Uta~ 46.2 58.2 92.8 175. 157. 135. 177. 218. 52.2
## 9 Maluku 7.14 103. 194. 214. 206. 281. 288. 215. 139.
## 10 Papua 159. 311. 537. 732. 796. 845. 977. 961. 535.
## 11 Papua Barat 0 0 0 0 0 0 0 0 0
## # ... with 3 more variables: Oktober <dbl>, November <dbl>, Desember <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 stringr 1.4.0
## v tidyr 1.2.0 v forcats 0.5.1
## v readr 2.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
sulampua1 <- select(outflowsulampua,'Provinsi', 'September')
sulampua1
## # A tibble: 11 x 2
## Provinsi September
## <chr> <dbl>
## 1 Sulampua 1924.
## 2 Sulawesi Utara 309.
## 3 Sulawesi Tengah 170.
## 4 Sulawesi Selatan 682.
## 5 Sulawesi Tenggara 38.0
## 6 Sulawesi Barat 0
## 7 Gorontalo 0
## 8 Maluku Utara 52.2
## 9 Maluku 139.
## 10 Papua 535.
## 11 Papua Barat 0
sulampua2 <- select(outflowsulampua, -'Desember')
sulampua2
## # A tibble: 11 x 12
## Provinsi Januari Februari Maret April Mei Juni Juli Agustus September
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sulampua 1104. 1390. 2480. 3468. 3346. 3985. 3758. 5220. 1924.
## 2 Sulawesi U~ 196. 283. 434. 528. 497. 797. 614. 976. 309.
## 3 Sulawesi T~ 48.8 174. 201. 449. 434. 542. 364. 559. 170.
## 4 Sulawesi S~ 510. 455. 932. 1184. 913. 1076. 1012. 1895. 682.
## 5 Sulawesi T~ 136. 6.83 89.3 186. 343. 308. 327. 396. 38.0
## 6 Sulawesi B~ 0 0 0 0 0 0 0 0 0
## 7 Gorontalo 0 0 0 0 0 0 0 0 0
## 8 Maluku Uta~ 46.2 58.2 92.8 175. 157. 135. 177. 218. 52.2
## 9 Maluku 7.14 103. 194. 214. 206. 281. 288. 215. 139.
## 10 Papua 159. 311. 537. 732. 796. 845. 977. 961. 535.
## 11 Papua Barat 0 0 0 0 0 0 0 0 0
## # ... with 2 more variables: Oktober <dbl>, November <dbl>
sulampua3 <- outflowsulampua %>% select('Provinsi', 'Januari', 'Februari', 'Maret')
sulampua3
## # A tibble: 11 x 4
## Provinsi Januari Februari Maret
## <chr> <dbl> <dbl> <dbl>
## 1 Sulampua 1104. 1390. 2480.
## 2 Sulawesi Utara 196. 283. 434.
## 3 Sulawesi Tengah 48.8 174. 201.
## 4 Sulawesi Selatan 510. 455. 932.
## 5 Sulawesi Tenggara 136. 6.83 89.3
## 6 Sulawesi Barat 0 0 0
## 7 Gorontalo 0 0 0
## 8 Maluku Utara 46.2 58.2 92.8
## 9 Maluku 7.14 103. 194.
## 10 Papua 159. 311. 537.
## 11 Papua Barat 0 0 0
sulampua4 <- outflowsulampua %>% rename('Juni 2012' = 'Juni')
head(sulampua4)
## # A tibble: 6 x 13
## Provinsi Januari Februari Maret April Mei `Juni 2012` Juli Agustus
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sulampua 1104. 1390. 2480. 3468. 3346. 3985. 3758. 5220.
## 2 Sulawesi Utara 196. 283. 434. 528. 497. 797. 614. 976.
## 3 Sulawesi Tengah 48.8 174. 201. 449. 434. 542. 364. 559.
## 4 Sulawesi Selatan 510. 455. 932. 1184. 913. 1076. 1012. 1895.
## 5 Sulawesi Tengga~ 136. 6.83 89.3 186. 343. 308. 327. 396.
## 6 Sulawesi Barat 0 0 0 0 0 0 0 0
## # ... with 4 more variables: September <dbl>, Oktober <dbl>, November <dbl>,
## # Desember <dbl>
sulampua5 <- outflowsulampua %>%
filter(Provinsi == 'Papua') %>%
select( 'Provinsi', 'Mei','Juni', 'Juli',)
sulampua5
## # A tibble: 1 x 4
## Provinsi Mei Juni Juli
## <chr> <dbl> <dbl> <dbl>
## 1 Papua 796. 845. 977.
str(outflowsulampua)
## tibble [11 x 13] (S3: tbl_df/tbl/data.frame)
## $ Provinsi : chr [1:11] "Sulampua" "Sulawesi Utara" "Sulawesi Tengah" "Sulawesi Selatan" ...
## $ Januari : num [1:11] 1103.8 196.1 48.8 510.4 136.4 ...
## $ Februari : num [1:11] 1389.62 282.59 173.68 454.66 6.83 ...
## $ Maret : num [1:11] 2480.2 434.1 201 931.6 89.3 ...
## $ April : num [1:11] 3468 528 449 1184 186 ...
## $ Mei : num [1:11] 3346 497 434 913 343 ...
## $ Juni : num [1:11] 3985 797 542 1076 308 ...
## $ Juli : num [1:11] 3758 614 364 1012 327 ...
## $ Agustus : num [1:11] 5220 976 559 1895 396 ...
## $ September: num [1:11] 1924 309 170 682 38 ...
## $ Oktober : num [1:11] 3556 366 490 968 316 ...
## $ November : num [1:11] 2992 375 265 616 223 ...
## $ Desember : num [1:11] 10400 1000 762 1630 580 ...
str(outflowsulampua %>% group_by(Provinsi))
## grouped_df [11 x 13] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Provinsi : chr [1:11] "Sulampua" "Sulawesi Utara" "Sulawesi Tengah" "Sulawesi Selatan" ...
## $ Januari : num [1:11] 1103.8 196.1 48.8 510.4 136.4 ...
## $ Februari : num [1:11] 1389.62 282.59 173.68 454.66 6.83 ...
## $ Maret : num [1:11] 2480.2 434.1 201 931.6 89.3 ...
## $ April : num [1:11] 3468 528 449 1184 186 ...
## $ Mei : num [1:11] 3346 497 434 913 343 ...
## $ Juni : num [1:11] 3985 797 542 1076 308 ...
## $ Juli : num [1:11] 3758 614 364 1012 327 ...
## $ Agustus : num [1:11] 5220 976 559 1895 396 ...
## $ September: num [1:11] 1924 309 170 682 38 ...
## $ Oktober : num [1:11] 3556 366 490 968 316 ...
## $ November : num [1:11] 2992 375 265 616 223 ...
## $ Desember : num [1:11] 10400 1000 762 1630 580 ...
## - attr(*, "groups")= tibble [11 x 2] (S3: tbl_df/tbl/data.frame)
## ..$ Provinsi: chr [1:11] "Gorontalo" "Maluku" "Maluku Utara" "Papua" ...
## ..$ .rows : list<int> [1:11]
## .. ..$ : int 7
## .. ..$ : int 9
## .. ..$ : int 8
## .. ..$ : int 10
## .. ..$ : int 11
## .. ..$ : int 1
## .. ..$ : int 6
## .. ..$ : int 4
## .. ..$ : int 3
## .. ..$ : int 5
## .. ..$ : int 2
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
sulampua6 <- outflowsulampua %>%
group_by(Provinsi)
sulampua6
## # A tibble: 11 x 13
## # Groups: Provinsi [11]
## Provinsi Januari Februari Maret April Mei Juni Juli Agustus September
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sulampua 1104. 1390. 2480. 3468. 3346. 3985. 3758. 5220. 1924.
## 2 Sulawesi U~ 196. 283. 434. 528. 497. 797. 614. 976. 309.
## 3 Sulawesi T~ 48.8 174. 201. 449. 434. 542. 364. 559. 170.
## 4 Sulawesi S~ 510. 455. 932. 1184. 913. 1076. 1012. 1895. 682.
## 5 Sulawesi T~ 136. 6.83 89.3 186. 343. 308. 327. 396. 38.0
## 6 Sulawesi B~ 0 0 0 0 0 0 0 0 0
## 7 Gorontalo 0 0 0 0 0 0 0 0 0
## 8 Maluku Uta~ 46.2 58.2 92.8 175. 157. 135. 177. 218. 52.2
## 9 Maluku 7.14 103. 194. 214. 206. 281. 288. 215. 139.
## 10 Papua 159. 311. 537. 732. 796. 845. 977. 961. 535.
## 11 Papua Barat 0 0 0 0 0 0 0 0 0
## # ... with 3 more variables: Oktober <dbl>, November <dbl>, Desember <dbl>
outflowsulampua %>%
filter(Provinsi == 'Papua') %>%
count('September', sort = TRUE)
## # A tibble: 1 x 2
## `"September"` n
## <chr> <int>
## 1 September 1
sulampua7 <- outflowsulampua %>%
mutate('Januari' = outflowsulampua$'Februari'/2)
sulampua7
## # A tibble: 11 x 13
## Provinsi Januari Februari Maret April Mei Juni Juli Agustus September
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Sulampua 695. 1390. 2480. 3468. 3346. 3985. 3758. 5220. 1924.
## 2 Sulawesi U~ 141. 283. 434. 528. 497. 797. 614. 976. 309.
## 3 Sulawesi T~ 86.8 174. 201. 449. 434. 542. 364. 559. 170.
## 4 Sulawesi S~ 227. 455. 932. 1184. 913. 1076. 1012. 1895. 682.
## 5 Sulawesi T~ 3.42 6.83 89.3 186. 343. 308. 327. 396. 38.0
## 6 Sulawesi B~ 0 0 0 0 0 0 0 0 0
## 7 Gorontalo 0 0 0 0 0 0 0 0 0
## 8 Maluku Uta~ 29.1 58.2 92.8 175. 157. 135. 177. 218. 52.2
## 9 Maluku 51.5 103. 194. 214. 206. 281. 288. 215. 139.
## 10 Papua 155. 311. 537. 732. 796. 845. 977. 961. 535.
## 11 Papua Barat 0 0 0 0 0 0 0 0 0
## # ... with 3 more variables: Oktober <dbl>, November <dbl>, Desember <dbl>
ggplot(data = outflowsulampua, mapping = aes(Provinsi, `September`, color = Provinsi)) +
geom_point()