Pivot Data Inflow 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 Inflow 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 Inflow uang kartal dari wilayah Bali-Nusa Tenggara. Inflow merupakan uang yang masuk ke BI melalui kegiatan penyetoran.
  
  Berikut penerapan pivot data inflow uang kartal di wilayah Bali-Nusa Tenggara mulai dari Tahn 2011 saampai dengan tahun 2021 menggunakan bahasa pemrograman R.

Menginputkan data Inflow dengan mengimport dari Ms.Excel

library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
InBaliNusra <- read_excel("InBaliNusra.xlsx")
InBaliNusra
## # 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 Bali Nu~ 10322. 14613. 17512. 20807. 23008. 30965. 30797. 33866. 38116. 29400.
## 2 Bali      6394.  8202.  5066. 11590. 13072. 17914. 16962. 18610. 21422. 14735.
## 3 Nusa Te~  1803.  3676.  7024.  5704.  6285.  8842.  8383.  9140.  9614.  8007.
## 4 Nusa Te~  2125.  2735.  5422.  3512.  3651.  4210.  5452.  6116.  7080.  6657.
## # ... with 1 more variable: `2021` <dbl>

Pivot data Inflow 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<- InBaliNusra %>% 
  pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalongerBaliNusra
## # A tibble: 44 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Bali Nusra 2011  10322.
##  2 Bali Nusra 2012  14613.
##  3 Bali Nusra 2013  17512.
##  4 Bali Nusra 2014  20807.
##  5 Bali Nusra 2015  23008.
##  6 Bali Nusra 2016  30965.
##  7 Bali Nusra 2017  30797.
##  8 Bali Nusra 2018  33866.
##  9 Bali Nusra 2019  38116.
## 10 Bali Nusra 2020  29400.
## # ... with 34 more rows
library(dplyr)
BaliNusraup2 <- select(datalongerBaliNusra, Provinsi, Kasus)
BaliNusraup2 
## # A tibble: 44 x 2
##    Provinsi    Kasus
##    <chr>       <dbl>
##  1 Bali Nusra 10322.
##  2 Bali Nusra 14613.
##  3 Bali Nusra 17512.
##  4 Bali Nusra 20807.
##  5 Bali Nusra 23008.
##  6 Bali Nusra 30965.
##  7 Bali Nusra 30797.
##  8 Bali Nusra 33866.
##  9 Bali Nusra 38116.
## 10 Bali Nusra 29400.
## # ... with 34 more rows
library(dplyr)
BaliNusraup4 <- datalongerBaliNusra  %>%
    filter(Provinsi == 'Bali') %>%
    select('Provinsi', 'Tahun', 'Kasus')
BaliNusraup4  
## # A tibble: 11 x 3
##    Provinsi Tahun  Kasus
##    <chr>    <chr>  <dbl>
##  1 Bali     2011   6394.
##  2 Bali     2012   8202.
##  3 Bali     2013   5066.
##  4 Bali     2014  11590.
##  5 Bali     2015  13072.
##  6 Bali     2016  17914.
##  7 Bali     2017  16962.
##  8 Bali     2018  18610.
##  9 Bali     2019  21422.
## 10 Bali     2020  14735.
## 11 Bali     2021   7505.

Kasus Data Intflow Uang Kartal di Bali pada Tahun 2013

BaliNusraup5 <- datalongerBaliNusra  %>%
  filter(Provinsi == 'Bali', Tahun == '2013') %>%
 select('Provinsi', 'Tahun', 'Kasus')
BaliNusraup5
## # A tibble: 1 x 3
##   Provinsi Tahun Kasus
##   <chr>    <chr> <dbl>
## 1 Bali     2013  5066.

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

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

Visualisasi Pivot data Inflow 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 Inflow 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: 44 x 3
##    Provinsi   Tahun  Kasus
##    <chr>      <chr>  <dbl>
##  1 Bali Nusra 2011  10322.
##  2 Bali Nusra 2012  14613.
##  3 Bali Nusra 2013  17512.
##  4 Bali Nusra 2014  20807.
##  5 Bali Nusra 2015  23008.
##  6 Bali Nusra 2016  30965.
##  7 Bali Nusra 2017  30797.
##  8 Bali Nusra 2018  33866.
##  9 Bali Nusra 2019  38116.
## 10 Bali Nusra 2020  29400.
## # ... with 34 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