Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

0.1 Manipulasi data dengan library dplyr

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.

0.2 Data outflow pada pulau Sulawesi

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
manipulasioutflow <- read_excel(path = "outflow tahunan1.xlsx")
manipulasioutflow 
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.2
## -- 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.2
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'stringr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

0.3 Menghapus Beberapa Variabel yang Tidak Ingin Digunakan

Sulawesi2011 <- select(manipulasioutflow, '2011')
Sulawesi2011
Sulawesi2 <- select(manipulasioutflow, `2012`, `2014`, `2016`, `2018`, `2020`)
Sulawesi2

0.4 Memilih Variabel yang Ingin Digunakan

Sulawesimin2011 <- select(manipulasioutflow, -'2017')
Sulawesimin2011

Sintaks ini menggunakan fungsi select, dan select ini tidak hanya untuk memilih kolom dalam jumlah banyak, melainkan juga bisa untuk mengganti nama kolomnya. misalnya :

Sulawesimin1 <- manipulasioutflow %>%
  select(tahun = `2014`, `2018`, `2019`)
Sulawesimin1

0.5 Mengganti Tabel Tahun

library(dplyr)
Sulawesitahun2 <- manipulasioutflow %>% rename('2010' = '2011')
head(Sulawesitahun2)

0.6 Mengambil Nilai yang Tidak Duplikasi dari Variabel

0.6.1 Dari Sebuah Variabel

Sulawesi4 <- distinct(manipulasioutflow, `2015`)
Sulawesi4

0.7 Di Semua Variabel

Sulawesi5 <- distinct(manipulasioutflow, `2015`, .keep_all = TRUE)
Sulawesi5

0.8 Menyeleksi Baris pada Tabel

Baris tabel diseleksi dengan menggunakan fungsi filter().

Sulawesi6 <- manipulasioutflow %>%
  filter(Provinsi <= 'Sulawesi Barat') %>%
    select(`2018`,`2019`)
Sulawesi6
Sulawesi7 <- manipulasioutflow %>%
  filter(Provinsi == 'Sulawesi Barat', Provinsi == 'Sulawesi Utara') %>%
    select( -`2020`)
Sulawesi7
str(manipulasioutflow)
## tibble [11 x 12] (S3: tbl_df/tbl/data.frame)
##  $ Provinsi: chr [1:11] "Sulampua" "Sulawesi Utara" "Sulawesi Tengah" "Sulawesi Selatan" ...
##  $ 2011    : num [1:11] 36449 6606 4017 8967 2889 ...
##  $ 2012    : num [1:11] 43623 6375 4458 11873 2950 ...
##  $ 2013    : num [1:11] 64181 22740 4544 11485 4239 ...
##  $ 2014    : num [1:11] 48231 7207 5696 15645 3537 ...
##  $ 2015    : num [1:11] 53153 7202 5310 16236 4716 ...
##  $ 2016    : num [1:11] 53145 7707 4962 15494 4488 ...
##  $ 2017    : num [1:11] 56297 8421 5226 15159 5293 ...
##  $ 2018    : num [1:11] 60935 7605 5578 16779 5224 ...
##  $ 2019    : num [1:11] 60723 7367 5531 18089 5056 ...
##  $ 2020    : num [1:11] 64828 7437 4674 20503 5129 ...
##  $ 2021    : num [1:11] 33806 3050 2763 12017 2507 ...
str(manipulasioutflow %>% group_by(Provinsi))
## grouped_df [11 x 12] (S3: grouped_df/tbl_df/tbl/data.frame)
##  $ Provinsi: chr [1:11] "Sulampua" "Sulawesi Utara" "Sulawesi Tengah" "Sulawesi Selatan" ...
##  $ 2011    : num [1:11] 36449 6606 4017 8967 2889 ...
##  $ 2012    : num [1:11] 43623 6375 4458 11873 2950 ...
##  $ 2013    : num [1:11] 64181 22740 4544 11485 4239 ...
##  $ 2014    : num [1:11] 48231 7207 5696 15645 3537 ...
##  $ 2015    : num [1:11] 53153 7202 5310 16236 4716 ...
##  $ 2016    : num [1:11] 53145 7707 4962 15494 4488 ...
##  $ 2017    : num [1:11] 56297 8421 5226 15159 5293 ...
##  $ 2018    : num [1:11] 60935 7605 5578 16779 5224 ...
##  $ 2019    : num [1:11] 60723 7367 5531 18089 5056 ...
##  $ 2020    : num [1:11] 64828 7437 4674 20503 5129 ...
##  $ 2021    : num [1:11] 33806 3050 2763 12017 2507 ...
##  - 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

0.9 Pengelompokkan dan Pengurutkan Data

0.9.1 Pengelompokkan Data

Sulawesiup <- manipulasioutflow %>%
    group_by(Provinsi)
Sulawesiup

0.9.2 Pengurutan data

Sulawesiubah <- arrange(manipulasioutflow, `2012`)
Sulawesiubah

0.9.3 Menambahkan kolom pda tabel

Sulawesiup1 <- manipulasioutflow %>%
    mutate(`2021` = manipulasioutflow$`2020`/2)
Sulawesiup1

0.10 Visualisasi Data Tabel dengan ggplot

0.10.1 ggplot dengan Grafik Titik

ggplot(data = manipulasioutflow, mapping = aes(x = Provinsi, y = `2011`)) +
  geom_point()

ggplot(data = manipulasioutflow, mapping = aes(x = Provinsi, y = `2012`)) +
  geom_point()