Pivot Data Outflow Uang Kartal Wilayah BaliNusra per-Tahun disertai Visualisasi

3/19/2022

Mutiara Aprillia Dzakiroh, 210605110032

Dosen Pengampu : Prof. Dr. Suhartono, M.Kom

Mata Kuliah : Linier Algebra

Prodi : Teknik Informatika

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Pivot Data Outflow Uang Kartal Wilayah Bali Nusra

Apa itu Pivot?

Pivot merupakan bentuk penggolongan suatu data ataupun nilai dalam tabel dengan menggabungkan item individual dari tabel yang lebih luas dalam satu atau beberapa kategori terpisah. Ringkasan ini dapat mencakup jumlah, rata-rata, atau statistik lain. Hal ini memungkinkan pengguna mengambil informasi dengan cepat dari kumpulan data dalam jumlah besar. Serta dapat menganalisis data numerik secara mendetail dan menjawab pertanyaan yang tak terduga tentang data pengguna.

  Untuk pengaplikasian pivot data ini bisa dilakukan melalui pemrograman R ataupun Excel. Namun, disini saya mengaplikasikan pivot data pada pemrograman R dengan mengimport data yang telah saya pilih dari Ms.Excel.
  
  Data yang saya ambil adalah dari sutus statistik Bank Indonesia yakni Outflow uang kartal dari wilayah Bali-Nusa Tenggara. Outflow merupakan uang yang keluar dari BI melalui kegiatan penarikan.
  
  Berikut penerapan pivot data outflow uang kartal di wilayah Bali-Nusa Tenggara mulai dari Tahun 2011 saampai dengan tahun 2021 menggunakan bahasa pemrograman R.

Menginputkan data Outflow dengan mengimport dari Ms.Excel

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
OutBaliNusra <- read_excel("OutBaliNusra.xlsx")
OutBaliNusra
## # A tibble: 4 x 13
##      no Provinsi  `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
##   <dbl> <chr>      <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1     1 Bali Nus~ 16424. 19421. 29399. 23391. 26728. 31941. 34160. 37260. 38680.
## 2     2 Bali       8912. 10782.  7248. 13104. 14471. 18140. 17822. 20434. 20654.
## 3     3 Nusa Ten~  3819.  4379. 10628.  5620.  6728.  8149.  8770.  9271. 10288.
## 4     4 Nusa Ten~  3693.  4260. 11524.  4668.  5530.  5652.  7569.  7555.  7738.
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>

Pivot data Outflow Uang Kartal dengan melakukan pivot_longer

Menganalisa data dengan memanggil library tidyverse, Paket ini terdiri dari kumpulan berbagai library. Kemudian melakukan pivot_longer() membuat kumpulan data lebih panjang dengan menambah jumlah baris dan mengurangi jumlah kolom. Saya tidak percaya masuk akal untuk menggambarkan kumpulan data sebagai “bentuk panjang”. Panjang adalah istilah relatif.

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()
datalongerBaliNusra<- OutBaliNusra %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerBaliNusra
## # A tibble: 48 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Bali Nusra no        1 
##  2 Bali Nusra 2011  16424.
##  3 Bali Nusra 2012  19421.
##  4 Bali Nusra 2013  29399.
##  5 Bali Nusra 2014  23391.
##  6 Bali Nusra 2015  26728.
##  7 Bali Nusra 2016  31941.
##  8 Bali Nusra 2017  34160.
##  9 Bali Nusra 2018  37260.
## 10 Bali Nusra 2019  38680.
## # ... with 38 more rows
library(dplyr)
BaliNusraup2 <- select(datalongerBaliNusra, Provinsi, Kasus)
BaliNusraup2 
## # A tibble: 48 x 2
##    Provinsi    Kasus
##    <chr>       <dbl>
##  1 Bali Nusra     1 
##  2 Bali Nusra 16424.
##  3 Bali Nusra 19421.
##  4 Bali Nusra 29399.
##  5 Bali Nusra 23391.
##  6 Bali Nusra 26728.
##  7 Bali Nusra 31941.
##  8 Bali Nusra 34160.
##  9 Bali Nusra 37260.
## 10 Bali Nusra 38680.
## # ... with 38 more rows
library(dplyr)
BaliNusraup4 <- datalongerBaliNusra  %>%
    filter(Provinsi == 'Bali') %>%
    select('Provinsi', 'Tahun', 'Kasus')
BaliNusraup4  
## # A tibble: 12 x 3
##    Provinsi Tahun  Kasus
##    <chr>    <chr>  <dbl>
##  1 Bali     no        2 
##  2 Bali     2011   8912.
##  3 Bali     2012  10782.
##  4 Bali     2013   7248.
##  5 Bali     2014  13104.
##  6 Bali     2015  14471.
##  7 Bali     2016  18140.
##  8 Bali     2017  17822.
##  9 Bali     2018  20434.
## 10 Bali     2019  20654.
## 11 Bali     2020  14323.
## 12 Bali     2021   6531.

Kasus Data Outtflow Uang Kartal di Nusa Tenggara Timur pada Tahun 2015

BaliNusraup5 <- datalongerBaliNusra  %>%
  filter(Provinsi == 'Nusa Tenggara Timur', Tahun == '2015') %>%
 select('Provinsi', 'Tahun', 'Kasus')
BaliNusraup5
## # A tibble: 1 x 3
##   Provinsi            Tahun Kasus
##   <chr>               <chr> <dbl>
## 1 Nusa Tenggara Timur 2015  5530.

Kasus Data Intflow Uang Kartal di Nusa Tenggara Barat pada Tahun 2021

BaliNusraup6 <- datalongerBaliNusra  %>%
  filter(Provinsi == 'Nusa Tenggara Barat', Tahun == '2021')%>%
  select('Provinsi', 'Tahun', 'Kasus')
BaliNusraup6
## # A tibble: 1 x 3
##   Provinsi            Tahun Kasus
##   <chr>               <chr> <dbl>
## 1 Nusa Tenggara Barat 2021  5222.

Visualisasi Pivot data Outflow Uang Kartal Wilayah Bali-Nusa Tenggara

1. (geom_point)

Geom titik digunakan untuk membuat scatterplot. Scatterplot paling berguna untuk menampilkan hubungan antara dua variabel kontinu

ggplot(data = datalongerBaliNusra, mapping = aes(x = Tahun, y = Kasus, color = Kasus)) +
  geom_point() +
  facet_wrap( ~ Provinsi) +
  theme(axis.text.x = element_text(angle = 120))

ggplot(data = datalongerBaliNusra, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
  geom_point() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90))

2. (geom_col)

mendefinisikan transformasi statistik menjadi identitas. Ini berarti bahwa nilai untuk parameter posisi x dan y dipetakan langsung ke variabel dari kumpulan data yang dipilih.

ggplot(data = datalongerBaliNusra, mapping = aes(x = Provinsi, y = Kasus , color = Kasus, fill = Kasus)) +
  geom_col() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90)) 

3. (geom_boxplot)

boxplot() di R membantu memvisualisasikan distribusi data menurut kuartil dan mendeteksi keberadaan outlier. Ini memvisualisasikan lima statistik ringkasan (median, dua engsel dan dua kumis), dan semua poin “terluar” satu per satu.

ggplot(data = datalongerBaliNusra, mapping = aes(x = Provinsi, y = Kasus, color = Kasus)) +
  geom_boxplot() +
  facet_wrap( ~ Tahun) +
  theme(axis.text.x = element_text(angle = 90)) 

Menganimasikan Visualisasi Pivot Data Outflow Uang Kartal

library(ggplot2)
library(gganimate)
## Warning: package 'gganimate' was built under R version 4.1.3
library(tidyverse)

theme_set(theme_minimal())

set.seed(1)
datalongerBaliNusra
## # A tibble: 48 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Bali Nusra no        1 
##  2 Bali Nusra 2011  16424.
##  3 Bali Nusra 2012  19421.
##  4 Bali Nusra 2013  29399.
##  5 Bali Nusra 2014  23391.
##  6 Bali Nusra 2015  26728.
##  7 Bali Nusra 2016  31941.
##  8 Bali Nusra 2017  34160.
##  9 Bali Nusra 2018  37260.
## 10 Bali Nusra 2019  38680.
## # ... with 38 more rows
ggplot(data=datalongerBaliNusra, aes(x=Provinsi, y=Tahun, color=Kasus)) +
  geom_point()+
  transition_states(Kasus) +
  shadow_trail()+
 enter_fade()+
  exit_fly(x_loc = 0, y_loc = 0)

Referensi