Visualisasi data Kasus Corona dengan R
Membuat gapminder kasus Corona Dengan R
Yo manteman, balik lagi, kali ini kita bakal ngebuat visualisasi data kasus corona yang lagi anget-angetnya nih dengan Gapminder kayak yang dibuat sama om Hans Rolling.
nah jadi Gapminder tuh apa, jadi Gapminder itu salah satu visualisasi data timeseries biasanya dengan visualisasi Jumlah kumulatif tuh make besaran circlenya, terus bedain kategorinya make warna. Kira Kira gini contohnya
Nah oke, lanjuts aja , kita bakal make data sets yang bisa mentemen unduh itu disini .
Olah datasets
kita ngambil yang itu ya, abis itu yang kita butuhin tuh bikin mereka jadi satu sheets di Excel kira kira bakal jadi seperti ini
jadi variabel yang kita butuhin itu, ada country, continent, Date, Death, Recovered, sama Confirmed.Untuk latitude/longitude yang ada di file data aslinya kita gapake alias diabuang. Trus simpen deh dengan ekstensi workbook atau .xlsx. Untuk variabel continent, mentemen crawling sendiri ya, di google bisa kok. Oke lanjuts ke Program R
Ngoding di R.
Yang pertama kita siapin dulu library nya yak, kitabakal make library ini
library(openxlsx)
library(ggplot2)
library(gganimate)
library(plotly)
Kalo mentemen belum punya library diatas, silahkan install terlebih dahulu. Oke? Lanjuts,
Lankah Pertama
Setelah manggil semua itu library langsung aja kita manggil datanya dengan syntax sebagai berikut :
gapminder <- read.xlsx("E://Kuliah//Data Visualisasi//corona.xlsx")
udah mari kita liat Headnya
woops, datenya nggak karuan deh, mari kita bikin vector untuk berapa lama hari yang mau kita visualisasi kan, karena data kita dari 22 January 2020 sampe ke 17 Maret 2020 itu ada sekitar 56 hari. Jadi kita bakal ngereplicate angka 1 sampai dengan 56 sebanyak rows yang dibutuhkan. Mari kita liat berapa banyak rows yang dibutuhkan di data excel tadi
ada sekitar 25760 Rows yang dibutuhin, nah kita bakal ngereplicate sebanyak negara yang dibutuhin, tapi ya tapi, kalo dilihat lagi dari data originalnya, ada beberapa negara itu nggak keitung cuma satu, dia dibagi lagi dalam provinsi,kayak gini misal
nah negara US aja dibagi dalam provinsi provinsi atau negara bagian, jadi kan nih satu negara bakal kereplicatesebanyak negara bagian itu nah itu masalahnya. Jadi gampangnya aja biar kita ngereplicatebener jadi julah rows yang ada di excel tadi kita bagi dengan jumlah hari sebanyak 56
didapet deh, jadi kita harus ngereplicate 1 sampai 56 sebanyak 460. Tapi lagi nih tapi, karena datasets kita punya hari teratas adalah hari yang paling baru, jadi ntar kita balik aja jadi 56 sampai satu gitu
hari <- rep(56:1,460)
dah gitu codingnya, abis itu kita ambil variabel variabel yang dibutuhin masukkan dalam vector baru untuk dijadiin data frame lagi dengan satu kesatuan yang nyata :)
negara<-gapminder$`Country/Region`
mati<-gapminder$Death
confirm<-gapminder$Confirmed
recover<-gapminder$Recovered
benua<-gapminder$Continent
dah, jadiin deh data frame
data<- data.frame(negara,benua,hari,mati,confirm,recover)
maka data frame kita bakal muncul seperti ini
Visualisasikan dengan ggplot2
Setelah data framenya siap, selanjutanya bikin visualisasi datanya, dengan Kriteria visualisasi : x — axis adalah variabel jumlah kumulatif kasus terkonfirmasi, y — axis adalah kumulatif jumlah pasien yang meninggal, besaran bubble adalah jumlah kumulatif pasien yang sembuh, dan warna adalah nama benua. Syntax nya sebagai berikut :
gap <- ggplot(data, aes(confirm , mati,color=benua)) + geom_point(aes(size= recover,frame=hari))+ labs(x="Jumlah Kasus Confirm", y="Jumlah Kasus Kematian", caption = "Kasus Corona dari 22 Jan - 17 Maret 2020 (56hari)")+
geom_text(aes(label=negara),hjust=1,vjust=0.5)+
ggtitle("Hari: {frame_time}") +
transition_time(hari) +
ease_aes("linear") +
enter_fade() +
exit_fade()
nanti lalu keluarkan outputnya sebagai .gif jadi gambarnya gerak gerak gitu kayak boomerang instagram mueheheh
animate(gap, width = 1080, height = 640)anim_save("output3.gif")
jadi deh
Hasilnya bakal keliatan China dengan tingkat kasus ter konfirmasi tertinggi dan kematian tertinggi dengan lingkaran yang semakin membesar juga menandakan recoveringnya juga makin tinggi dari hari ke hari, disusul dengan Italy yang berasala dari benua eropa yang hari makin hari meningkat kasus dan kematiannya.
Hm segitu dulu ya untuk tutorial pembuatan Visualisasi data, jika ada kata kata yang kurang dipahami feel free untuk comment di coretan saya kali ini,
Ciao manteman!