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.Berikut ini akan saya sajikan contoh penerapan pivot dalam inflow uang kartal di Pulau Jawa :
library(readxl)
inflowjawa <- read_excel(path = "inflowjawabulanan.xlsx")
inflowjawa
## # A tibble: 5 x 13
## Provinsi Januari Februari Maret April Mei Juni Juli Agustus September
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Jawa Barat 5873. 4426. 4118. 4003. 5021. 5048. 5403. 6685. 6179.
## 2 Jawa Tengah 4367. 3063. 3054. 2865. 3164. 1928. 3096. 5539. 5723.
## 3 Yogyakarta 1237. 807. 735. 714. 862. 573. 765. 1196. 564.
## 4 Jawa Timur 5552. 4092. 3250. 3193. 3851. 2674. 3946. 5368. 5416.
## 5 Banten 0 0 0 0 0 0 0 0 0
## # ... with 3 more variables: Oktober <dbl>, November <dbl>, Desember <dbl>
library(tidyverse)
## -- 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
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
datalongerJawabulanan <- inflowjawa %>%
pivot_longer(!Provinsi, names_to = "Bulan", values_to = "Kasus")
datalongerJawabulanan
## # A tibble: 60 x 3
## Provinsi Bulan Kasus
## <chr> <chr> <dbl>
## 1 Jawa Barat Januari 5873.
## 2 Jawa Barat Februari 4426.
## 3 Jawa Barat Maret 4118.
## 4 Jawa Barat April 4003.
## 5 Jawa Barat Mei 5021.
## 6 Jawa Barat Juni 5048.
## 7 Jawa Barat Juli 5403.
## 8 Jawa Barat Agustus 6685.
## 9 Jawa Barat September 6179.
## 10 Jawa Barat Oktober 4405.
## # ... with 50 more rows
library(dplyr)
Jawa1 <- select(datalongerJawabulanan, Provinsi, Kasus)
Jawa1
## # A tibble: 60 x 2
## Provinsi Kasus
## <chr> <dbl>
## 1 Jawa Barat 5873.
## 2 Jawa Barat 4426.
## 3 Jawa Barat 4118.
## 4 Jawa Barat 4003.
## 5 Jawa Barat 5021.
## 6 Jawa Barat 5048.
## 7 Jawa Barat 5403.
## 8 Jawa Barat 6685.
## 9 Jawa Barat 6179.
## 10 Jawa Barat 4405.
## # ... with 50 more rows
library(dplyr)
banten <- datalongerJawabulanan %>%
filter(Provinsi == 'Banten') %>%
select('Provinsi', 'Bulan', 'Kasus')
banten
## # A tibble: 12 x 3
## Provinsi Bulan Kasus
## <chr> <chr> <dbl>
## 1 Banten Januari 0
## 2 Banten Februari 0
## 3 Banten Maret 0
## 4 Banten April 0
## 5 Banten Mei 0
## 6 Banten Juni 0
## 7 Banten Juli 0
## 8 Banten Agustus 0
## 9 Banten September 0
## 10 Banten Oktober 0
## 11 Banten November 0
## 12 Banten Desember 0
Yogyakarta <- datalongerJawabulanan %>%
filter(Provinsi == 'Yogyakarta', Bulan == 'Januari') %>%
select('Provinsi', 'Bulan', 'Kasus')
Yogyakarta
## # A tibble: 1 x 3
## Provinsi Bulan Kasus
## <chr> <chr> <dbl>
## 1 Yogyakarta Januari 1237.
ggplot(data = datalongerJawabulanan, mapping = aes(x = Bulan, y = Kasus)) +
geom_point() +
facet_wrap( ~ Provinsi) +
theme(axis.text.x = element_text(angle = 90))
ggplot(data = datalongerJawabulanan, mapping = aes(x = Provinsi, y = Kasus)) +
geom_point() +
facet_wrap( ~ Bulan) +
theme(axis.text.x = element_text(angle = 90))