Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Jurusan : Teknik Informatika
Kelas : (C) Linear Algebra
NIM : 210605110035
Pivot Table adalah ringkasan data yang dikemas dalam tabel interaktif agar memudahkan dan membantu kamu untuk membuat laporan dan menganalisisnya dengan melihat perbandingan data yang kamu miliki.
Singkatnya, gunanya pivot table adalah untuk merangkum, mengelompokkan, mengeksplorasi, mempresentasikan, menghitung, dan menganalisa data.
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
InflowJawa <- read_excel(path = "C:/Users/ASUS/Documents/excel_algebra/InflowJawa2.xlsx")
InflowJawa
## # A tibble: 6 x 12
## Keterangan `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Jawa 123917. 160482. 134998. 217303. 2.30e5 2.62e5 2.78e5 3.07e5 3.25e5
## 2 Jawa Barat 43775. 60629. 35190. 78660. 8.13e4 8.80e4 8.32e4 8.72e4 9.48e4
## 3 Jawa Tengah 35137. 43298. 42182. 60476. 6.52e4 7.28e4 7.70e4 8.78e4 9.08e4
## 4 Yogyakarta 6490. 9173. 8939. 13890. 1.48e4 1.74e4 1.75e4 2.06e4 2.09e4
## 5 Jawa Timur 38515. 47383. 48687. 64276. 6.88e4 8.34e4 9.84e4 1.06e5 1.14e5
## 6 Banten 0 0 0 0 0 0 1.49e3 4.83e3 4.48e3
## # ... with 2 more variables: `2020` <dbl>, `2021` <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.2
## 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()
pivot_longer() “lengthens” data, increasing the number of rows and decreasing the number of columns. The inverse transformation is pivot_wider().
dataLength <- InflowJawa %>%
pivot_longer(!Keterangan, names_to = "Tahun", values_to = "Kasus")
dataLength
## # A tibble: 66 x 3
## Keterangan 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 variable Daerah dan Kasus
library(dplyr)
JawaUp <- select(dataLength, Keterangan, Kasus)
JawaUp
## # A tibble: 66 x 2
## Keterangan 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 nilai.
library(dplyr)
JawaUp1 <- dataLength %>%
filter(Keterangan > 'Yogyakarta') %>%
select('Keterangan', 'Tahun', 'Kasus')
JawaUp1
## # A tibble: 0 x 3
## # ... with 3 variables: Keterangan <chr>, Tahun <chr>, Kasus <dbl>
JawaUp2 <- dataLength %>%
filter(Keterangan <= 'Jawa Barat', Tahun <= '2019') %>%
select('Keterangan', 'Tahun', 'Kasus')
JawaUp2
## # A tibble: 27 x 3
## Keterangan 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 Barat 2011 43775.
## # ... with 17 more rows
pivot_wider() “widens” data, increasing the number of columns and decreasing the number of rows. The inverse transformation is pivot_longer().
JawaID <- dataLength %>%
pivot_wider(names_from = "Tahun",
values_from = "Kasus")
JawaID
## # A tibble: 6 x 12
## Keterangan `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Jawa 123917. 160482. 134998. 217303. 2.30e5 2.62e5 2.78e5 3.07e5 3.25e5
## 2 Jawa Barat 43775. 60629. 35190. 78660. 8.13e4 8.80e4 8.32e4 8.72e4 9.48e4
## 3 Jawa Tengah 35137. 43298. 42182. 60476. 6.52e4 7.28e4 7.70e4 8.78e4 9.08e4
## 4 Yogyakarta 6490. 9173. 8939. 13890. 1.48e4 1.74e4 1.75e4 2.06e4 2.09e4
## 5 Jawa Timur 38515. 47383. 48687. 64276. 6.88e4 8.34e4 9.84e4 1.06e5 1.14e5
## 6 Banten 0 0 0 0 0 0 1.49e3 4.83e3 4.48e3
## # ... with 2 more variables: `2020` <dbl>, `2021` <dbl>
ggplot(data = dataLength,
mapping = aes(x = Keterangan, y = Kasus, color = Keterangan)) +
geom_jitter(alpha = 0.9)
ggplot(data = dataLength,
mapping = aes(x = Keterangan, y = Kasus, color = Keterangan)) +
geom_jitter(alpha = 0.9)
ggplot(data = dataLength, mapping = aes(x = Tahun, y = Kasus)) +
geom_point(color = "pink")
ggplot(data = dataLength,
mapping = aes(x = Keterangan, y = Kasus)) +
geom_point(color = "dark green")
ggplot(data = dataLength, mapping = aes(x = Tahun, y = Kasus)) +
geom_point(color = "dark red") +
facet_wrap( ~ Keterangan) +
theme(axis.text.x = element_text(angle = 90))
ggplot(data = dataLength, mapping = aes(x = Keterangan, y = Kasus)) +
geom_point(color = "dark blue") +
facet_wrap( ~ Tahun) +
theme(axis.text.x = element_text(angle = 90))
ggplot(data = dataLength,
mapping = aes(x = Keterangan, y = Kasus)) +
geom_boxplot(alpha = 0) + # Do not show outliers
geom_jitter(alpha = 0.7, color = "dark orange") +
theme_bw()
ggplot(data = dataLength,
mapping = aes(x = Keterangan, y = Kasus)) +
geom_boxplot(alpha = 0) + # Do not show outliers
geom_jitter(alpha = 0.7, color = "yellow") +
theme_bw()