pivot adalah nilai yang dikelompokkan yang menggabungkan item individual dari tabel yang lebih luas (seperti dari database , spreadsheet , atau program intelijen bisnis ) dalam satu atau beberapa kategori terpisah. Ringkasan ini dapat mencakup jumlah, rata-rata, atau statistik lainnya, yang dikelompokkan bersama oleh tabel pivot menggunakan fungsi agregasi terpilih yang diterapkan ke nilai yang dikelompokkan. Berikut adalah contoh penerapan pivot pada pemrograman R.
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
dataoutflowkalimantan <- read_excel(path = "D:/1. PERKULIAHAN/Semester 2/Linier Algebra/data/outflowkalimantan2015.xlsx")
dataoutflowkalimantan
## # A tibble: 6 x 13
## Provinsi JANUARI FEBRUARI MARET APRIL MEI JUNI JULI AGUSTUS SEPTEMBER
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Kalimantan 687. 1784. 2295. 3361. 3014. 4326. 7951. 1569. 2818.
## 2 Kalimantan B~ 141. 422. 404. 545. 618. 915. 1644. 304. 456.
## 3 Kalimantan T~ 104. 458. 543. 944. 863. 966. 1492. 589. 857.
## 4 Kalimantan S~ 146. 280. 376. 524. 391. 766. 1405. 267. 458.
## 5 Kalimantan T~ 296. 623. 973. 1349. 1142. 1678. 3409. 409. 1046.
## 6 Kalimantan U~ 0 0 0 0 0 0 0 0 0
## # ... with 3 more variables: OKTOBER <dbl>, NOVEMBER <dbl>, DESEMBER <dbl>
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## -- 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.3
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'purrr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
datalongerklmntn<- dataoutflowkalimantan %>%
pivot_longer(!Provinsi, names_to = "Bulan", values_to = "Kasus")
datalongerklmntn
## # A tibble: 72 x 3
## Provinsi Bulan Kasus
## <chr> <chr> <dbl>
## 1 Kalimantan JANUARI 687.
## 2 Kalimantan FEBRUARI 1784.
## 3 Kalimantan MARET 2295.
## 4 Kalimantan APRIL 3361.
## 5 Kalimantan MEI 3014.
## 6 Kalimantan JUNI 4326.
## 7 Kalimantan JULI 7951.
## 8 Kalimantan AGUSTUS 1569.
## 9 Kalimantan SEPTEMBER 2818.
## 10 Kalimantan OKTOBER 3058.
## # ... with 62 more rows
library(dplyr)
kasusklmntn <- select(datalongerklmntn, Provinsi, Kasus)
kasusklmntn
## # A tibble: 72 x 2
## Provinsi Kasus
## <chr> <dbl>
## 1 Kalimantan 687.
## 2 Kalimantan 1784.
## 3 Kalimantan 2295.
## 4 Kalimantan 3361.
## 5 Kalimantan 3014.
## 6 Kalimantan 4326.
## 7 Kalimantan 7951.
## 8 Kalimantan 1569.
## 9 Kalimantan 2818.
## 10 Kalimantan 3058.
## # ... with 62 more rows
library(dplyr)
kasusklmntn <- datalongerklmntn %>%
filter(Provinsi == 'Kalimantan Barat') %>%
select('Provinsi', 'Bulan', 'Kasus')
kasusklmntn
## # A tibble: 12 x 3
## Provinsi Bulan Kasus
## <chr> <chr> <dbl>
## 1 Kalimantan Barat JANUARI 141.
## 2 Kalimantan Barat FEBRUARI 422.
## 3 Kalimantan Barat MARET 404.
## 4 Kalimantan Barat APRIL 545.
## 5 Kalimantan Barat MEI 618.
## 6 Kalimantan Barat JUNI 915.
## 7 Kalimantan Barat JULI 1644.
## 8 Kalimantan Barat AGUSTUS 304.
## 9 Kalimantan Barat SEPTEMBER 456.
## 10 Kalimantan Barat OKTOBER 480.
## 11 Kalimantan Barat NOVEMBER 653.
## 12 Kalimantan Barat DESEMBER 1904.
kasusklmntn2 <- datalongerklmntn %>%
filter(Provinsi == 'Kalimantan Barat', Bulan == 'September') %>%
select('Provinsi', 'Bulan', 'Kasus')
kasusklmntn2
## # A tibble: 0 x 3
## # ... with 3 variables: Provinsi <chr>, Bulan <chr>, Kasus <dbl>
ggplot(data = datalongerklmntn, mapping = aes(x = Bulan, y = Kasus)) +
geom_point() +
facet_wrap( ~ Provinsi) +
theme(axis.text.x = element_text(angle = 90))
ggplot(data = datalongerklmntn, mapping = aes(x = Provinsi, y = Kasus)) +
geom_point() +
facet_wrap( ~ Bulan) +
theme(axis.text.x = element_text(angle = 90))