Prodi : Teknik Informatika
Lembaga : UIN Maulana Malik Ibrahim Malang
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
inflowjawa <- read_excel(path = "datainflowjawa.xlsx")
inflowjawa## # A tibble: 6 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 Jawa 1.24e5 1.60e5 1.35e5 2.17e5 2.30e5 2.62e5 2.78e5 3.07e5 3.25e5 2.59e5
## 2 Jawa Ba~ 4.38e4 6.06e4 3.52e4 7.87e4 8.13e4 8.80e4 8.32e4 8.72e4 9.48e4 7.69e4
## 3 Jawa Te~ 3.51e4 4.33e4 4.22e4 6.05e4 6.52e4 7.28e4 7.70e4 8.78e4 9.08e4 8.50e4
## 4 Yogyaka~ 6.49e3 9.17e3 8.94e3 1.39e4 1.48e4 1.74e4 1.75e4 2.06e4 2.09e4 7.35e3
## 5 Jawa Ti~ 3.85e4 4.74e4 4.87e4 6.43e4 6.88e4 8.34e4 9.84e4 1.06e5 1.14e5 8.68e4
## 6 Banten 0 0 0 0 0 0 1.49e3 4.83e3 4.48e3 3.40e3
## # ... with 1 more variable: `2021` <dbl>
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()
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.
datalonger <- inflowjawa %>%
pivot_longer(!Provinsi, names_to = "Tahun", values_to = "Kasus")
datalonger ## # A tibble: 66 x 3
## Provinsi Tahun Kasus
## <chr> <chr> <dbl>
## 1 Jawa 2011 123917.
## 2 Jawa 2012 160482.
## 3 Jawa 2013 134998.
## 4 Jawa 2014 217303.
## 5 Jawa 2015 230141.
## 6 Jawa 2016 261607.
## 7 Jawa 2017 277609.
## 8 Jawa 2018 306911.
## 9 Jawa 2019 324624.
## 10 Jawa 2020 259444.
## # ... with 56 more rows
Memilih variabel Provinsi dan Kasus
library(dplyr)
jawaup <- select(datalonger, Provinsi, Kasus)
jawaup## # A tibble: 66 x 2
## Provinsi Kasus
## <chr> <dbl>
## 1 Jawa 123917.
## 2 Jawa 160482.
## 3 Jawa 134998.
## 4 Jawa 217303.
## 5 Jawa 230141.
## 6 Jawa 261607.
## 7 Jawa 277609.
## 8 Jawa 306911.
## 9 Jawa 324624.
## 10 Jawa 259444.
## # ... with 56 more rows
Menyeleksi baris atau observasi berdasarkan nilainya.
library(dplyr)
jawaup1 <- datalonger %>%
filter(Provinsi > 'Yogyakarta') %>%
select('Provinsi', 'Tahun', 'Kasus')
jawaup1 ## # A tibble: 0 x 3
## # ... with 3 variables: Provinsi <chr>, Tahun <chr>, Kasus <dbl>
jawaup2 <- datalonger %>%
filter(Provinsi <= 'Banter', Tahun <= '2019') %>%
select('Provinsi', 'Tahun', 'Kasus')
jawaup2## # A tibble: 9 x 3
## Provinsi Tahun Kasus
## <chr> <chr> <dbl>
## 1 Banten 2011 0
## 2 Banten 2012 0
## 3 Banten 2013 0
## 4 Banten 2014 0
## 5 Banten 2015 0
## 6 Banten 2016 0
## 7 Banten 2017 1495.
## 8 Banten 2018 4832.
## 9 Banten 2019 4477.
fungsi untuk merubah struktur memanjang menjadi struktur data melebar (menambah jumlah kolom dan mengurangi jumlah baris).
jawawid <- datalonger %>%
pivot_wider(names_from = "Tahun",
values_from = "Kasus")
jawawid## # A tibble: 6 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 Jawa 1.24e5 1.60e5 1.35e5 2.17e5 2.30e5 2.62e5 2.78e5 3.07e5 3.25e5 2.59e5
## 2 Jawa Ba~ 4.38e4 6.06e4 3.52e4 7.87e4 8.13e4 8.80e4 8.32e4 8.72e4 9.48e4 7.69e4
## 3 Jawa Te~ 3.51e4 4.33e4 4.22e4 6.05e4 6.52e4 7.28e4 7.70e4 8.78e4 9.08e4 8.50e4
## 4 Yogyaka~ 6.49e3 9.17e3 8.94e3 1.39e4 1.48e4 1.74e4 1.75e4 2.06e4 2.09e4 7.35e3
## 5 Jawa Ti~ 3.85e4 4.74e4 4.87e4 6.43e4 6.88e4 8.34e4 9.84e4 1.06e5 1.14e5 8.68e4
## 6 Banten 0 0 0 0 0 0 1.49e3 4.83e3 4.48e3 3.40e3
## # ... with 1 more variable: `2021` <dbl>
ggplot(data = datalonger, mapping = aes(x = Tahun, y = Kasus)) +
geom_point(color = "red")ggplot(data = datalonger,
mapping = aes(x = Provinsi, y = Kasus)) +
geom_point(color = "purple")ggplot(data = datalonger, mapping = aes(x = Tahun, y = Kasus)) +
geom_point(color = "blue") +
facet_wrap( ~ Provinsi) +
theme(axis.text.x = element_text(angle = 90))ggplot(data = datalonger, mapping = aes(x = Provinsi, y = Kasus)) +
geom_point(color = "Tomato") +
facet_wrap( ~ Tahun) +
theme(axis.text.x = element_text(angle = 90))