Halo pembaca tulisan ini, terima kasih telah membaca tulisan ini, kali ini saya akan mendokumentasikan Visualisasi data covid 19 di provinsi saya yaitu provinsi Lampung untuk mengetahui trend saat ini. Dalam visualisasi ini saya menggukan R Studio untuk visualisasinya dan script beserta library library yang digunakan dalam bahasa R. Oke langsung saja dimulai pembahasan dokumentasi ini.
Tujuan
Membuat Grafik Visualisasi Tren Dinamika Kasus Covid 19 dari awal kasus hingga di penghujung akhir tahun 2021 ini di Provinsi Lampung. Kurang lebih hasilnya akan seperti gambar berikut.
Dataset
Deklarasi Library
Pada awal script saya menggunakan beberapa library bahasa R antara lain seperti berikut :
Apabila script dijalankan maka tampilan R-studio akan seperti berikut :
Terlihat date pada data masih berantakan, maka kita coba sesuaikan dan melakukan cleaning data dengan script berikut :
#CLEANING DATA
library(dplyr)
new_cov_lampung <-
cov_lampung %>%
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)
)
str(new_cov_lampung)
Sehingga data setelah dilakukan cleaning akan seperti ini :
Selanjutnya kita dapat mencoba membuat grafik sederhana untuk melihat data kasus baru dengan script berikut :
###VISUALISASI DATA
library(ggplot2)
ggplot(new_cov_lampung, aes(x = tanggal, y = kasus_baru)) +
geom_col()
Maka jika kita run akan tampil grafik seperti berikut :
Selanjutnya saya akan membuat beberapa grafik untuk menampilkan Trend Kasus harian positif, harian sembuh, dan harian meninggal dengan menggunakan script berikut.
#Kasus Harian Positif Covid19
library(ggplot2)
ggplot(new_cov_lampung, aes(tanggal, kasus_baru)) +
geom_col(fill = "salmon") +
labs(
x = NULL,
y = "Jumlah kasus",
title = "Kasus Harian Positif COVID-19 di Lampung",
caption = "Sumber data: covid.19.go.id"
) +
theme(plot.title.position = "plot")
#Kasus Harian Sembuh Covid19
library(ggplot2)
ggplot(new_cov_lampung, aes(tanggal, sembuh)) +
geom_col(fill = "olivedrab2") +
labs(
x = NULL,
y = "Jumlah kasus",
title = "Kasus Harian Sembuh Dari COVID-19 di Lampung",
caption = "Sumber data: covid.19.go.id"
) +
theme(plot.title.position = "plot")
#Kasus Harian Meninggal karena Covid19
library(ggplot2)
ggplot(new_cov_lampung, aes(tanggal, meninggal)) +
geom_col(fill = "darkslategray4") +
labs(
x = NULL,
y = "Jumlah kasus",
title = "Kasus Harian Meninggal Akibat COVID-19 di Lampung",
caption = "Sumber data: covid.19.go.id"
) +
theme(plot.title.position = "plot")
Kemudian saya akan mencoba membuat data Kasus Meninggal perpekan dengan script berikut :
#Kasus Pekanan Meninggal karena Covid19
library(dplyr)
library(lubridate)
cov_lampung_pekanan <- new_cov_lampung %>%
count(
tahun = year(tanggal),
pekan_ke = week(tanggal),
wt = kasus_baru,
name = "jumlah"
)
View(cov_lampung_pekanan)
glimpse(cov_lampung_pekanan)
Maka akan ada hasil tabel seperti berikut
Setelah memiliki tabel diatas saya akan menampilkan tren Kasus Pekanan Positif Covid19 apakah naik atau turun secara tren. Saya akan menggunakan script berikut :
#Kasus Pekanan Positif Covid19
library(ggplot2)
ggplot(cov_lampung_pekanan, aes(pekan_ke, jumlah))+
geom_col(show.legend=FALSE)+
scale_x_continuous(breaks=9:38, expand=c(0,0))+
scale_fill_manual(values=c("TRUE"="seagreen3", "FALSE"="salmon"))+
labs(
x=NULL,
y="Jumlah kasus",
title="Kasus Pekanan Positif COVID-19 di Lampung",
subtitle="Kolom hijau menunjukan penambahan kasus baru lebih sedikit dibandingkan satu pekan sebelumnya",
caption="Sumber data: covid.19.go.id"
)+
theme(plot.title.position="plot")
Keudian kembali ke tujuan awal saya akan membuat grafik untuk mengetahui dinamika trend maka sebelum saya membuat grafik saya akan membuat akumulasi nya terlebih dahulu dengan script berikut
Setelah script diatas di jalankan maka akan terbentuk data seperti berikut
Kemudian kita akan membuat grafik nya dengen script di bawah ini
###TRANFORMASI DATA
library(dplyr)
library(tidyr)
dim(cov_lampung_akumulasi)
cov_lampung_akumulasi_pivot <-
cov_lampung_akumulasi %>%
gather(
key = "kategori",
value = "jumlah",
-tanggal
) %>%
mutate(
kategori = sub(pattern = "akumulasi_", replacement = "", kategori)
)
dim(cov_lampung_akumulasi_pivot)
glimpse(cov_lampung_akumulasi_pivot)
#Dinamika Kasus Covid19 di Lampung
library(ggplot2)
ggplot(cov_lampung_akumulasi_pivot, aes(tanggal, jumlah, colour=(kategori)))+
geom_line(size=0.9)+
scale_y_continuous(sec.axis=dup_axis(name=NULL))+
scale_colour_manual(
values=c(
"aktif"="salmon",
"meninggal"="darkslategray4",
"sembuh"="olivedrab2"
),
labels=c("Aktif", "Meninggal", "Sembuh")
)+
labs(
x=NULL,
y="Jumlah kasus akumulasi",
colour=NULL,
title="Dinamika Kasus COVID-19 di Lampung",
caption="Sumber data: covid.19.go.id"
)+
theme(
plot.title=element_text(hjust=0.5),
legend.position="top"
)
berdasarkan dari grafik tren dinamika yang sudah di buat maka terlihat kasus covid masih terkontrol dengan baik di penghujung akhir tahun 2021 ini namun kita harus tetap waspda karena ada kabar tentang varian baru yang telah di temukan di indonesia.
Terima kasih sudah membaca....
Dataset yang akan kita gunakan diambil dari API (Application Programming Interface pada Website resmi pemerintah penanganan covid 19. Untuk Provinsi lampung saya menggunakan Url ini sebagai dasar pengambilan datanya.