Pendahuluan

Dokumen ini menampilkan visualisasi data Produk Domestik Regional Bruto (PDRB) Kabupaten/Kota di Provinsi Bali pada tiga periode penting: Pra-Covid19, Saat Covid-19, dan Pasca Covid-19.

# Library
library(sf)
library(ggplot2)
library(openxlsx)
library(readxl)
library(tmap)
library(dplyr)
library(tidyr)

# Input file shapefile
geo <- st_read("C:/Users/AKMAL ADI/Downloads/[geosai.my.id]Bali_Kab/Bali_ADMIN_BPS.shp")
## Reading layer `Bali_ADMIN_BPS' from data source 
##   `C:\Users\AKMAL ADI\Downloads\[geosai.my.id]Bali_Kab\Bali_ADMIN_BPS.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 9 features and 6 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 114.4316 ymin: -8.84919 xmax: 115.7125 ymax: -8.061396
## Geodetic CRS:  WGS 84
# Input file PDRB
PDRB <- read_excel("C:/Users/AKMAL ADI/Downloads/Pertumbuhan PDRB_Ekonomi Kabupaten_Kota di Provinsi Bali.xlsx")

# Ubah ke format long
PDRB_long <- pivot_longer(PDRB, 
                          cols = starts_with("20"), 
                          names_to = "Tahun", 
                          values_to = "PDRB")
PDRB_long$Tahun <- as.numeric(PDRB_long$Tahun)

# Tambahkan kolom periode
PDRB_long$Periode <- case_when(
  PDRB_long$Tahun < 2019 ~ "Pra-Covid19",
  PDRB_long$Tahun >= 2019 & PDRB_long$Tahun <= 2021 ~ "Saat Covid-19",
  PDRB_long$Tahun > 2021 ~ "Pasca Covid-19"
)

# Gabungkan geo dan PDRB
geo_PDRB <- geo %>% left_join(PDRB_long, by = c("Kabupaten" = "Kabupaten"))
# Set ke mode plot
tmap_mode("plot")

# Peta Pra-Covid
p1 <- tm_shape(geo_PDRB %>% filter(Periode == "Pra-Covid19")) +
  tm_borders() +
  tm_fill(col = "PDRB", style = "quantile", palette = "Blues", title = "PDRB") +
  tm_text("Kabupaten", size = 0.5) +
  tm_layout(title = "PDRB Bali - Pra-Covid19")

# Peta Saat Covid
p2 <- tm_shape(geo_PDRB %>% filter(Periode == "Saat Covid-19")) +
  tm_borders() +
  tm_fill(col = "PDRB", style = "quantile", palette = "Reds", title = "PDRB") +
  tm_text("Kabupaten", size = 0.5) +
  tm_layout(title = "PDRB Bali - Saat Covid-19")

# Peta Pasca Covid
p3 <- tm_shape(geo_PDRB %>% filter(Periode == "Pasca Covid-19")) +
  tm_borders() +
  tm_fill(col = "PDRB", style = "quantile", palette = "Greens", title = "PDRB") +
  tm_text("Kabupaten", size = 0.5) +
  tm_layout(title = "PDRB Bali - Pasca Covid-19")

# Gabungkan
tmap_arrange(p1, p2, p3, ncol = 1)