Prodi : Teknik Informatika

Lembaga : UIN Maulana Malik Ibrahim Malang

Pengertian Pivot

Pivot adalah membuat rangkuman, melakukan analisa, eksplorasi data, serta mempresentasikannya. Salah satu software yang menyediakan fitur Pivot adalah MSExcel. Pada MSExcel terdapat fitur PivotTable yang merupakan laporan berbentuk tabel, yang dalam waktu saat singkat mampu menampilkan ringkasan berdasarkan jumlah data besar kedalam bentuk atau orientasi berbeda dan sanggup melakukan kalkulasi dalam setiap item yang dibutuhkan.

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
inflowsulawesi <- read_excel(path = "datainflowsulawesi.xlsx") 
inflowsulawesi
## # A tibble: 5 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 Sulawes~  5671.  6635. 21646.  7374. 6.29e3  7266.  7044.  7781.  7809.  6324.
## 2 Sulawes~  1563.  1885.  1520.  3000. 2.59e3  2665.  2806.  3701.  4042.  3052.
## 3 Sulawes~ 10593. 13702. 17770. 19384. 1.96e4 21043. 18803. 21894. 24749. 21551.
## 4 Sulawes~   659.   964.  6093.  2256. 2.38e3  3491.  3618.  3632.  4390.  3353.
## 5 Sulawes~     0      0      0      0  4.92e1   536.   746.   606.   542.   329.
## # ... with 1 more variable: `2021` <dbl>

pivot_longer()

fungsi untuk mentransformasi dataset dalam bentuk memanjang (memiliki lebih sedikit kolom dan menambah jumlah baris) atau “memperpanjang” data, menambah jumlah baris dan mengurangi jumlah kolom.

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 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
datalonger <- inflowsulawesi %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalonger 
## # A tibble: 55 x 3
##    Provinsi       Tahun  Kasus
##    <chr>          <chr>  <dbl>
##  1 Sulawesi Utara 2011   5671.
##  2 Sulawesi Utara 2012   6635.
##  3 Sulawesi Utara 2013  21646.
##  4 Sulawesi Utara 2014   7374.
##  5 Sulawesi Utara 2015   6286.
##  6 Sulawesi Utara 2016   7266.
##  7 Sulawesi Utara 2017   7044.
##  8 Sulawesi Utara 2018   7781.
##  9 Sulawesi Utara 2019   7809.
## 10 Sulawesi Utara 2020   6324.
## # ... with 45 more rows

Memilih variabel Provinsi dan Kasus

library(dplyr)
sulawesiup <- select(datalonger, Provinsi, Kasus)
sulawesiup
## # A tibble: 55 x 2
##    Provinsi        Kasus
##    <chr>           <dbl>
##  1 Sulawesi Utara  5671.
##  2 Sulawesi Utara  6635.
##  3 Sulawesi Utara 21646.
##  4 Sulawesi Utara  7374.
##  5 Sulawesi Utara  6286.
##  6 Sulawesi Utara  7266.
##  7 Sulawesi Utara  7044.
##  8 Sulawesi Utara  7781.
##  9 Sulawesi Utara  7809.
## 10 Sulawesi Utara  6324.
## # ... with 45 more rows

Menyeleksi baris atau observasi berdasarkan nilainya.

library(dplyr)
sulawesiup1 <- datalonger  %>%
    filter(Provinsi > 'Sulawesi Tenggara') %>%
    select('Provinsi', 'Tahun', 'Kasus')
sulawesiup1 
## # A tibble: 11 x 3
##    Provinsi       Tahun  Kasus
##    <chr>          <chr>  <dbl>
##  1 Sulawesi Utara 2011   5671.
##  2 Sulawesi Utara 2012   6635.
##  3 Sulawesi Utara 2013  21646.
##  4 Sulawesi Utara 2014   7374.
##  5 Sulawesi Utara 2015   6286.
##  6 Sulawesi Utara 2016   7266.
##  7 Sulawesi Utara 2017   7044.
##  8 Sulawesi Utara 2018   7781.
##  9 Sulawesi Utara 2019   7809.
## 10 Sulawesi Utara 2020   6324.
## 11 Sulawesi Utara 2021   4671.
sulawesiup2 <- datalonger %>%
  filter(Provinsi <= 'Sulawesi Tengah', Tahun <= '2014') %>%
 select('Provinsi', 'Tahun', 'Kasus')
sulawesiup2
## # A tibble: 12 x 3
##    Provinsi         Tahun  Kasus
##    <chr>            <chr>  <dbl>
##  1 Sulawesi Tengah  2011   1563.
##  2 Sulawesi Tengah  2012   1885.
##  3 Sulawesi Tengah  2013   1520.
##  4 Sulawesi Tengah  2014   3000.
##  5 Sulawesi Selatan 2011  10593.
##  6 Sulawesi Selatan 2012  13702.
##  7 Sulawesi Selatan 2013  17770.
##  8 Sulawesi Selatan 2014  19384.
##  9 Sulawesi Barat   2011      0 
## 10 Sulawesi Barat   2012      0 
## 11 Sulawesi Barat   2013      0 
## 12 Sulawesi Barat   2014      0

pivot_wider()

fungsi untuk merubah struktur memanjang menjadi struktur data melebar (menambah jumlah kolom dan mengurangi jumlah baris).

sulawesiwid <- datalonger %>% 
  pivot_wider(names_from = "Tahun", 
                     values_from = "Kasus")
sulawesiwid
## # A tibble: 5 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 Sulawes~  5671.  6635. 21646.  7374. 6.29e3  7266.  7044.  7781.  7809.  6324.
## 2 Sulawes~  1563.  1885.  1520.  3000. 2.59e3  2665.  2806.  3701.  4042.  3052.
## 3 Sulawes~ 10593. 13702. 17770. 19384. 1.96e4 21043. 18803. 21894. 24749. 21551.
## 4 Sulawes~   659.   964.  6093.  2256. 2.38e3  3491.  3618.  3632.  4390.  3353.
## 5 Sulawes~     0      0      0      0  4.92e1   536.   746.   606.   542.   329.
## # ... with 1 more variable: `2021` <dbl>

Visualisasi Pivotdata Inflow Uang Kartal di Sulawesi

ggplot(data = datalonger, 
       mapping = aes(x = Tahun, y = Kasus, color = Provinsi)) +
    geom_jitter(alpha = 0.9)

ggplot(data = datalonger, 
       mapping = aes(x = Provinsi, y = Kasus, color = Tahun)) +
    geom_jitter(alpha = 0.9)