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
inflowmalukupapua <- read_excel(path = "datainflowmalukupapua.xlsx") 
inflowmalukupapua
## # 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 Maluku ~   586.   633. 10273. 1006.   1007.  1259.  1339.  1530.  1924.  1876.
## 2 Maluku    1273.  1147.  4341. 1781.   1790.  2367.  2484.  3210.  4056.  2909.
## 3 Papua     4710.  6047.  2131. 6794.   6099.  6291.  6353.  8076.  9259.  9556.
## 4 Papua B~     0      0      0    11.7   518.   818.   933.  1153.  1448.  1635.
## # ... 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 <- inflowmalukupapua %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalonger 
## # A tibble: 44 x 3
##    Provinsi     Tahun  Kasus
##    <chr>        <chr>  <dbl>
##  1 Maluku Utara 2011    586.
##  2 Maluku Utara 2012    633.
##  3 Maluku Utara 2013  10273.
##  4 Maluku Utara 2014   1006.
##  5 Maluku Utara 2015   1007.
##  6 Maluku Utara 2016   1259.
##  7 Maluku Utara 2017   1339.
##  8 Maluku Utara 2018   1530.
##  9 Maluku Utara 2019   1924.
## 10 Maluku Utara 2020   1876.
## # ... with 34 more rows

Memilih variabel Provinsi dan Kasus

library(dplyr)
malukupapuaup <- select(datalonger, Provinsi, Kasus)
malukupapuaup
## # A tibble: 44 x 2
##    Provinsi      Kasus
##    <chr>         <dbl>
##  1 Maluku Utara   586.
##  2 Maluku Utara   633.
##  3 Maluku Utara 10273.
##  4 Maluku Utara  1006.
##  5 Maluku Utara  1007.
##  6 Maluku Utara  1259.
##  7 Maluku Utara  1339.
##  8 Maluku Utara  1530.
##  9 Maluku Utara  1924.
## 10 Maluku Utara  1876.
## # ... with 34 more rows

Menyeleksi baris atau observasi berdasarkan nilainya.

library(dplyr)
malukupapuaup1 <- datalonger  %>%
    filter(Provinsi > 'Maluku') %>%
    select('Provinsi', 'Tahun', 'Kasus')
malukupapuaup1 
## # A tibble: 33 x 3
##    Provinsi     Tahun  Kasus
##    <chr>        <chr>  <dbl>
##  1 Maluku Utara 2011    586.
##  2 Maluku Utara 2012    633.
##  3 Maluku Utara 2013  10273.
##  4 Maluku Utara 2014   1006.
##  5 Maluku Utara 2015   1007.
##  6 Maluku Utara 2016   1259.
##  7 Maluku Utara 2017   1339.
##  8 Maluku Utara 2018   1530.
##  9 Maluku Utara 2019   1924.
## 10 Maluku Utara 2020   1876.
## # ... with 23 more rows
malukupapuaup2 <- datalonger %>%
  filter(Provinsi <= 'Papua', Tahun <= '2017') %>%
 select('Provinsi', 'Tahun', 'Kasus')
malukupapuaup2
## # A tibble: 21 x 3
##    Provinsi     Tahun  Kasus
##    <chr>        <chr>  <dbl>
##  1 Maluku Utara 2011    586.
##  2 Maluku Utara 2012    633.
##  3 Maluku Utara 2013  10273.
##  4 Maluku Utara 2014   1006.
##  5 Maluku Utara 2015   1007.
##  6 Maluku Utara 2016   1259.
##  7 Maluku Utara 2017   1339.
##  8 Maluku       2011   1273.
##  9 Maluku       2012   1147.
## 10 Maluku       2013   4341.
## # ... with 11 more rows

pivot_wider()

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

malukupapuawid <- datalonger %>% 
  pivot_wider(names_from = "Tahun", 
                     values_from = "Kasus")
malukupapuawid
## # 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 Maluku ~   586.   633. 10273. 1006.   1007.  1259.  1339.  1530.  1924.  1876.
## 2 Maluku    1273.  1147.  4341. 1781.   1790.  2367.  2484.  3210.  4056.  2909.
## 3 Papua     4710.  6047.  2131. 6794.   6099.  6291.  6353.  8076.  9259.  9556.
## 4 Papua B~     0      0      0    11.7   518.   818.   933.  1153.  1448.  1635.
## # ... with 1 more variable: `2021` <dbl>

Visualisasi Pivotdata Inflow Uang Kartal di Maluku dan Papua

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)