Latar Belakang Project

Jumlah pasien terkonfirmasi positif Covid-19 di Kota Yogyakarta dalam dua pekan terakhir terus mengalami peningkatan, bahkan jumlahnya bertambah hingga dua kali lipat dalam sepekan terakhir.

Berdasarkan data corona.jogjakota.go.id, jumlah warga terkonfirmasi positif pada 27 Juli tercatat sebanyak sembilan orang, 38 sembuh dan tiga meninggal dunia. Namun jumlah tersebut berkembang dua kali lipat menjadi 20 terkonfirmasi positif, 41 sembuh dan tiga meninggal dunia per 2 Agustus pukul 12.00 WIB.

Sumber: https://republika.co.id/berita/daerah/jawa-tengah-diy/qehji9366/kasus-covid19-di-yogyakarta-melonjak-dua-kali-lipat

Projek ini bertujuan untuk memvisualisasikan data perkembangan Covid-19 di DIY dan mencoba mencari insight yang bermanfaat.

Langkah pertama adalah melihat update data hingga 5-Agustus-2020 di Provinsi D.I.Y.

Beberapa pertanyaan yang perlu dijawab adalah:

library(httr)
## Warning: package 'httr' was built under R version 3.6.3
resp_diy <- GET("https://data.covid19.go.id/public/api/prov_detail_DAERAH_ISTIMEWA_YOGYAKARTA.json")
cov_diy_raw <- content(resp_diy, as = "parsed", simplifyVector = TRUE)

print("Tanggal Update Data:")
## [1] "Tanggal Update Data:"
cov_diy_raw$last_date
## [1] "2020-08-05"
print("Jumlah Kasus Total:")
## [1] "Jumlah Kasus Total:"
cov_diy_raw$kasus_total
## [1] 801
print("Persentase Kasus Meninggal:")
## [1] "Persentase Kasus Meninggal:"
cov_diy_raw$meninggal_persen
## [1] 2.621723
print("Persentase Kasus Sembuh:")
## [1] "Persentase Kasus Sembuh:"
cov_diy_raw$sembuh_persen
## [1] 59.55056

Memperoleh Informasi yang Lebih Lengkap

cov_diy <- cov_diy_raw$list_perkembangan
str(cov_diy)
## 'data.frame':    143 obs. of  9 variables:
##  $ tanggal                     : num  1.58e+12 1.58e+12 1.58e+12 1.58e+12 1.58e+12 ...
##  $ KASUS                       : int  1 0 0 0 0 0 0 0 0 0 ...
##  $ MENINGGAL                   : int  0 0 0 0 0 0 0 1 0 1 ...
##  $ SEMBUH                      : int  0 0 0 0 1 0 0 0 0 0 ...
##  $ DIRAWAT_OR_ISOLASI          : int  1 0 0 0 -1 0 0 -1 0 -1 ...
##  $ AKUMULASI_KASUS             : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ AKUMULASI_SEMBUH            : int  0 0 0 0 1 1 1 1 1 1 ...
##  $ AKUMULASI_MENINGGAL         : int  0 0 0 0 0 0 0 1 1 2 ...
##  $ AKUMULASI_DIRAWAT_OR_ISOLASI: int  1 1 1 1 0 0 0 -1 -1 -2 ...

Menyiapkan Data

Ada beberapa tahapan yang akan Anda lakukan untuk menjinakan data cov_diy, yaitu:

  1. Menghapus kolom "DIRAWAT_OR_ISOLASI" dan "AKUMULASI_DIRAWAT_OR_ISOLASI"
  2. Menghapus semua kolom yang berisi nilai kumulatif
  3. Mengganti nama kolom "KASUS" menjadi "kasus_baru"
  4. Merubah format penulisan kolom berikut menjadi huruf kecil + kolom MENINGGAL + kolom SEMBUH
  5. Memperbaiki data pada kolom tanggal
library(dplyr)
## Warning: package 'dplyr' was built under R version 3.6.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
new_cov_diy <-
  cov_diy %>% 
  select(-contains("DIRAWAT_OR_ISOLASI")) %>% 
  select(-starts_with("AKUMULASI")) %>% 
  rename(
    kasus_baru = KASUS,
    meninggal = MENINGGAL,
    sembuh = SEMBUH
    ) %>% 
  mutate(
    tanggal = as.POSIXct(tanggal / 1000, origin = "1970-01-01"),
    tanggal = as.Date(tanggal)
  )