Covid-19 in Worldwide With R
Covid 19 pertama kali di laporkan oleh otoritas China pada Desember 2019. Organisasi Kesehatan Dunia (WHO) di China mendapatkan informasi penemuan sejenis pneumonia yang belum diketahui penyebabnya, terdeteksi di Kota Wuhan, Provinsi Hubei, China. Kemudian pada pada pertengahan januari 2020 ditetapkannya epidemi di Kota Wuhan. Organisasi Kesehatan Dunia (WHO) menyatakan bahwa kasus covid 19 telah menjadi pandemi global diseluruh Dunia.
Saat ini covid 19 seperti apa ?
Sudah sekitar 6 bulan dari kasus pertama kemunculan covid 19 di Kota Wuhan. Semakin banyak negara yang terdampak pandemi covid 19, semakin banyak masyarakat yang menjadi korban terkonfirmasi covid 19, meninggal dan sembuh kembali. Pandemi ini tidak memandang masyarakat, semua kalangan masyarakat dapat terjangkit covid 19, terutama untuk orang dewasa berusia lebih dari 60 tahun, dan yang memiliki riwayat penyakit seperti jantung, paru-paru, diabetes dan kanker, akan mengalami dampak yang parah bahkan bisa berujung kamatian. Hal tersebut dapat diantisipasi dengan mengikuti protokol kesehatan yang sudah ditentukan untuk menekan angka persebaran bersumber dari tirto.id , seperti :
1. Rajin mencuci tangan
2. Menggunakan masker
3. Melakukan Social Distancing
4. Menghindari kebiasan menyentuh mata, hidung dan mulut
5. Tidak keluar rumah jika tidak ada urusan penting
6. Rajin membersihkan diri dan lingkungan
7. Berolahraga teratur
8. Berjemur pagi hari
9. Makan makanan bergizi.
Bagaimana dengan yang terjadi hingga saat ini ?
Menggunakan data yang berasal dari Johns Hopkins University Center for System adn Engineering (JHU CCSE), data terdapat dalam package “coronavirus” yang dapat di install pada link github . Data yang terdapat dalam packages tersebut dapat sewaktu-waktu berubah dan di update dalam sebulan atau dua bulan.
library(coronavirus)
update_dataset()
data(“coronavirus”)
Dataset yang terdapat pada library coronavirus tidak ada update yang tersedia.
glimpse(coronavirus)
summary(coronavirus)
Menggunakan function glimpse untuk melihat deskripsi dari dataset coronavirus, diperoleh informasi bahwa dataset coronavirus mempunyai tujuh variabel dengan 106.760 observasi, dengan keterangan sebagai berikut :
· date : Tanggal terjadinya kasus
· province : Provinsi atau daerah
· country : Negara terjadinya kasus
· lat : Titik latitude
· long : Titik longitude
· type : Tipe kasus ( confirmed, death, recovered)
· cases : Angka terjadinya kasus per hari
Berdasarkan hasil statistika deskriptif berbetuk summary pada gambar diatas menghasilkan output berupa nilai Min, 1st quartil, Median, Mean, 3rd quartil dan Max untuk variabel bertipe data integer, sedangkan untuk data bertipe character menghasilkan output berupa length (Panjang data), class serta mode data yang menunjukkan bahwa data bertipe character.
Mari lihat variabel date, informasi apa yang diperoleh dari hasil tersebut ?
Informasi yang diperoleh seputar tanggal terjadinya kasus covid 19, dimana dataset dimulai sejak tanggal 2020–01–22 dan kasus terakhir terupdate pada tanggal 2020–05–06. Perlu di ingat kembali, data tersebut dapat bertambah seiring masih terdapat korban terkonfirmasi sehingga akan ada update secara berkala.
# case in world wide
library(tidyr)
cases_worldwide <- coronavirus %>%
group_by ( date, type) %>%
summarise (cases = sum(cases))
Mengambil data kasus di dunia hanya terdiri dari tiga variabel yang akan digunakan yaitu date, type dan cases, serta dikelompokkan berdasar date dan type yang terdiri dari 136 baris yang berarti juga sudah 136 hari sejak 2020–01–22 hingga 2020–06–05 dan type dengan kategori confirmed, death dan recovered hingga akan menghasilkan output seperti berkut :
Bisa tidak merapihkan data agar tampilannya mudah dipahami dengan menjadikan baris perhari dan kolom menjai confirmed, death dan recovered ? serta menambahkan kolom, baru untuk melihat hasil kumulatifnya ? BISA, dengan menggunakan library tidyr dan dplyr serta fungsi mutate dalam dplyr digunakan untuk menambah kolom baru dan fungsi pivot_wider dalam tidyr untuk merubah baris type menjadi kolom.
# pivot summary case world wide
summaryall <- cases_worldwide %>% filter(date >= ‘2020–01–22’) %>%
pivot_wider (names_from = type, values_from = cases)%>%
ungroup() %>%
mutate(active = confirmed — death,
cum_active = cumsum(active),
cum_confirm = cumsum(confirmed),
cum_death = cumsum(death),
cum_recovered = cumsum(recovered))
dfw <- as.data.frame(summaryall)
Hasilnya akan seperti ini :
Setelah mempunyai kolom tentang kasus covid 19 perhari dan juga kasus kumulatifnya, informasi apa lagi yang dapat kita peroleh dari data tersebut ?, sederhananya saya masih bisa mencari ratio dari kematian dan recovered berdasarkan data diatas untuk mengetahui laju kematian dan kesembuhan selama ini.
# Persentase ratio dari death and recovery
ratio <- dfw %>%
group_by(date) %>%
summarise(death = sum(cum_death), confirmed = sum(cum_confirm),recovered = sum(cum_recovered)) %>%
mutate(recov_rate = 100*(recovered/confirmed))%>%
mutate(death_rate = 100*(death/confirmed))
Untuk lebih informatif, maka akan dibuat tampilan visualisasinya dengan menggunakan perintah :
ggplot(ratio) +
geom_line(aes(x=date, y= death_rate, color = ‘Death Ratio’)) +
geom_line(aes(x=date, y= recov_rate, color = ‘Recovery Ratio’)) +
labs(x = “”, y = ‘Rate’, title = ‘Ratio of Death and Recovered’,
subtitle = ‘World Wide’)
Hasil visualisai dari ratio kematian dan ratio recovered. Awal bulan April hingga awal Juni diketahui terjadi peningkatan ratio kesembuhan dari pasien covid 19, pada tanggal 03–06–2020 ratio kesembuhan berada ditingkat 44.2%, di tanggal 04–06–2020 ratio kesembuhan mengingkat menjadi 44.4%, dan terjadi penururan pertanggal 05–06–2020 sehingga ratio kesembuhan menjadi 40.8%. Serta pada akhir april hingga juni ratio kematian mengalam penurunan, pada tanggal 04–06–2020 ratio kematian sebesar 5.90% dan pada tanggal 05–06–2020 ratio kematian menjadi 5.86%.
Bagaimana sih gambaran untuk kasus kumulatif covid 19 di dunia ?
Dengan menggunakan data dfw yang sebelumnya sudah di olah dari summaryall menjadi sebuah data frame, dapat divisualisasikan dengan menggunakan library plotly seperti berikut :
library(plotly)
dfw%>%
plot_ly( x = ~date, y= ~cum_confirm,
name = ‘Confirm’, type= ‘scatter’,
mode = ‘lines+markers’) %>%
add_trace(y = ~cum_recovered, name = ‘Recovered’,fillcolor = ‘#E41317’) %>%
add_trace(y = ~cum_death, name = ‘Death’,fillcolor = ‘forestgreen’)%>%
add_trace(y = ~cum_active, name = ‘Active cases’,fillcolor = ‘ ‘)%>%
layout ( title = “Total Cumulatif Cases Covid 19 World Wide”,
legend = list (x = 0.1, y = 0.9),
yaxis = list(title = “Total”),
xaxis = list(title = “Source: Johns Hopkins University Center for Systems Science and Engineering”))%>%
add_annotations(x = (‘2020–06–05’), y = ‘6734088’,
text = paste(‘6.734.088 confirm cases’),
xref = ‘x’,
yref = ‘y’,
arrowhead = 1,
arrowhead = 1,
arrowsize = 1,
showarrow = TRUE,
ax = -0.5,
ay =-20) %>%
add_annotations(x = (‘2020–06–05’), y = ‘6339213’,
text = paste(‘6.339.213 active cases’),
xref = ‘x’,
yref = ‘y’,
arrowhead = 1,
arrowhead = 1,
arrowsize = 1,
showarrow = TRUE,
ax = -0.5,
ay = 70) %>%
add_annotations(x = (‘2020–06–05’), y = ‘394875’,
text = paste(‘394.875 death cases’),
xref = ‘x’,
yref = ‘y’,
arrowhead = 1,
arrowhead = 1,
arrowsize = 1,
showarrow = TRUE,
ax = -0.5,
ay =-20) %>%
add_annotations(x = (‘2020–06–05’), y = ‘2846192’,
text = paste(‘2.746.192 recovery cases’),
xref = ‘x’,
yref = ‘y’,
arrowhead = 1,
arrowhead = 1,
arrowsize = 1,
showarrow = TRUE,
ax = -0.5,
ay =-20)
Sehingga akan menghasilkan output seperti gambar dibawah ini
Melihat line chart diatas menginformasikan bahwa kasus covid 19 masih mengalam peningkatan setiap harinya, sampai dengan tanggal 05–06–2020 sudah terkonfirmasi covid 19 sebanyak 6.734.088, dengan kasus yang active (confirmed — death) sebanyak 6.339.213, serta sebanyak 394.875 kasus meninggal karena terpapar covid 19, ketika melihat line kasus kesembuhan terdapat sedikit penurunan sehingga kasus kesembuhan sebesar 2.746.192.
Negara mana sekarang yang menempati kasus terkonfirmasi covid 19 terbanyak ?
confirmed_cases_worldwide <- coronavirus %>% filter ( type == ‘confirmed’) %>%
group_by ( country) %>%
summarise (cum_cases = sum(cases)) %>%
arrange (-cum_cases) %>%
mutate(parents = “Confirmed”) %>%
ungroup() %>%
plot_ly(type= “treemap”,
values = ~cum_cases,
labels= ~ country,
parents= ~parents,
domain = list(column=0),
name = “Country Confirmed Covid 19”,
textinfo=”label+value+percent parent”)
United State masih menempati posisi 1 terkonfirmasi covid 19 sebesar 1.897.380 jiwa atau sebesar 28% kasus didominasi oleh masyarakat US, kemudian disusul oleh Brazil sebesar 9% dan Russia sebesar 7%.
Bagaimana dengan perkembangan kasus di Indonesia ? Apakah sudah terjadi penururan kasus seperti yang presiden inginkan untuk penurunan kurva pada bulai Mei ? Bagaimana data yang terjadi sebenarnya ?
Akan saya ulas sedikit pada tulisan selanjutnya untuk data wilayah Indonesia dengan menggunakan sumber data yang sama dengan data di tulisan ini. Semoga wabah pandemi bisa segera berakhir, selalu jaga diri dan keluarga, jagan lupa menerapkan protokol kesehatan. Terimakasih telah membaca tulisan ini, jika berkenan dan merasa bermanfaat, bisa klik claps atau dishare, bahkan jika ingin belajar dan mengkesplore lagi juga bisa...
Referensi :