Corona Virus
library(babynames)
library(countrycode)
library(dplyr)##
## 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
library(echarts4r)
library(glue)
library(GGally)## Loading required package: ggplot2
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
library(glue)
library(gganimate)## No renderer backend detected. gganimate will default to writing frames to separate files
## Consider installing:
## - the `gifski` package for gif output
## - the `av` package for video output
## and restarting the R session
library(geojsonio)## Registered S3 method overwritten by 'geojsonsf':
## method from
## print.geojson geojson
##
## Attaching package: 'geojsonio'
## The following object is masked from 'package:base':
##
## pretty
library(gapminder)
library(ggridges)
library(htmltools)
library(highcharter)## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(hrbrthemes)## NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.
## Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and
## if Arial Narrow is not on your system, please see https://bit.ly/arialnarrow
library(leaflet)
library(leaflet)
library(lubridate)##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(RColorBrewer)
library(rio)
library(plotly)##
## Attaching package: 'plotly'
## The following object is masked from 'package:rio':
##
## export
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(sf)## Linking to GEOS 3.9.1, GDAL 3.4.3, PROJ 7.2.1; sf_use_s2() is TRUE
library(scales)
library(stringr)
library(tidyverse)## ── Attaching packages
## ───────────────────────────────────────
## tidyverse 1.3.2 ──
## ✔ tibble 3.1.8 ✔ purrr 0.3.5
## ✔ tidyr 1.2.1 ✔ forcats 0.5.2
## ✔ readr 2.1.3
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ lubridate::as.difftime() masks base::as.difftime()
## ✖ readr::col_factor() masks scales::col_factor()
## ✖ lubridate::date() masks base::date()
## ✖ purrr::discard() masks scales::discard()
## ✖ plotly::filter() masks dplyr::filter(), stats::filter()
## ✖ lubridate::intersect() masks base::intersect()
## ✖ dplyr::lag() masks stats::lag()
## ✖ lubridate::setdiff() masks base::setdiff()
## ✖ lubridate::union() masks base::union()
Preparing Data
covid <- read_csv("datasetupdate-covid.csv")## Rows: 230696 Columns: 67
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (4): iso_code, continent, location, tests_units
## dbl (62): total_cases, new_cases, new_cases_smoothed, total_deaths, new_dea...
## date (1): date
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
glimpse(covid)## Rows: 230,696
## Columns: 67
## $ iso_code <chr> "AFG", "AFG", "AFG", "AFG",…
## $ continent <chr> "Asia", "Asia", "Asia", "As…
## $ location <chr> "Afghanistan", "Afghanistan…
## $ date <date> 2020-02-24, 2020-02-25, 20…
## $ total_cases <dbl> 5, 5, 5, 5, 5, 5, 5, 5, 5, …
## $ new_cases <dbl> 5, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ new_cases_smoothed <dbl> NA, NA, NA, NA, NA, 0.714, …
## $ total_deaths <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_deaths <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_deaths_smoothed <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_cases_per_million <dbl> 0.125, 0.125, 0.125, 0.125,…
## $ new_cases_per_million <dbl> 0.125, 0.000, 0.000, 0.000,…
## $ new_cases_smoothed_per_million <dbl> NA, NA, NA, NA, NA, 0.018, …
## $ total_deaths_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_deaths_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_deaths_smoothed_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ reproduction_rate <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ icu_patients <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ icu_patients_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ hosp_patients <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ hosp_patients_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ weekly_icu_admissions <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ weekly_icu_admissions_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ weekly_hosp_admissions <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ weekly_hosp_admissions_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_tests <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_tests <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_tests_per_thousand <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_tests_per_thousand <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_tests_smoothed <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_tests_smoothed_per_thousand <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ positive_rate <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ tests_per_case <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ tests_units <chr> NA, NA, NA, NA, NA, NA, NA,…
## $ total_vaccinations <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ people_vaccinated <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ people_fully_vaccinated <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_boosters <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_vaccinations <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_vaccinations_smoothed <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_vaccinations_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ people_vaccinated_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ people_fully_vaccinated_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_boosters_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_vaccinations_smoothed_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_people_vaccinated_smoothed <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_people_vaccinated_smoothed_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ stringency_index <dbl> 8.33, 8.33, 8.33, 8.33, 8.3…
## $ population_density <dbl> 54.422, 54.422, 54.422, 54.…
## $ median_age <dbl> 18.6, 18.6, 18.6, 18.6, 18.…
## $ aged_65_older <dbl> 2.581, 2.581, 2.581, 2.581,…
## $ aged_70_older <dbl> 1.337, 1.337, 1.337, 1.337,…
## $ gdp_per_capita <dbl> 1803.987, 1803.987, 1803.98…
## $ extreme_poverty <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ cardiovasc_death_rate <dbl> 597.029, 597.029, 597.029, …
## $ diabetes_prevalence <dbl> 9.59, 9.59, 9.59, 9.59, 9.5…
## $ female_smokers <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ male_smokers <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ handwashing_facilities <dbl> 37.746, 37.746, 37.746, 37.…
## $ hospital_beds_per_thousand <dbl> 0.5, 0.5, 0.5, 0.5, 0.5, 0.…
## $ life_expectancy <dbl> 64.83, 64.83, 64.83, 64.83,…
## $ human_development_index <dbl> 0.511, 0.511, 0.511, 0.511,…
## $ population <dbl> 40099462, 40099462, 4009946…
## $ excess_mortality_cumulative_absolute <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ excess_mortality_cumulative <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ excess_mortality <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ excess_mortality_cumulative_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
Exploration Data
# Check NA exist
anyNA(covid)## [1] TRUE
# Check detail NA
colSums(is.na(covid))## iso_code
## 0
## continent
## 13024
## location
## 0
## date
## 0
## total_cases
## 13082
## new_cases
## 13343
## new_cases_smoothed
## 14539
## total_deaths
## 32294
## new_deaths
## 32345
## new_deaths_smoothed
## 33525
## total_cases_per_million
## 14076
## new_cases_per_million
## 14337
## new_cases_smoothed_per_million
## 15528
## total_deaths_per_million
## 33275
## new_deaths_per_million
## 33326
## new_deaths_smoothed_per_million
## 34501
## reproduction_rate
## 59517
## icu_patients
## 199194
## icu_patients_per_million
## 199194
## hosp_patients
## 195370
## hosp_patients_per_million
## 195370
## weekly_icu_admissions
## 222832
## weekly_icu_admissions_per_million
## 222832
## weekly_hosp_admissions
## 212047
## weekly_hosp_admissions_per_million
## 212047
## total_tests
## 151309
## new_tests
## 155293
## total_tests_per_thousand
## 151309
## new_tests_per_thousand
## 155293
## new_tests_smoothed
## 126731
## new_tests_smoothed_per_thousand
## 126731
## positive_rate
## 134769
## tests_per_case
## 136348
## tests_units
## 123908
## total_vaccinations
## 164836
## people_vaccinated
## 167634
## people_fully_vaccinated
## 170338
## total_boosters
## 194777
## new_vaccinations
## 176139
## new_vaccinations_smoothed
## 96028
## total_vaccinations_per_hundred
## 164836
## people_vaccinated_per_hundred
## 167634
## people_fully_vaccinated_per_hundred
## 170338
## total_boosters_per_hundred
## 194777
## new_vaccinations_smoothed_per_million
## 96028
## new_people_vaccinated_smoothed
## 96494
## new_people_vaccinated_smoothed_per_hundred
## 96494
## stringency_index
## 61588
## population_density
## 29236
## median_age
## 44296
## aged_65_older
## 46263
## aged_70_older
## 45271
## gdp_per_capita
## 44881
## extreme_poverty
## 109636
## cardiovasc_death_rate
## 44802
## diabetes_prevalence
## 35229
## female_smokers
## 89934
## male_smokers
## 91861
## handwashing_facilities
## 139167
## hospital_beds_per_thousand
## 65215
## life_expectancy
## 18671
## human_development_index
## 49320
## population
## 994
## excess_mortality_cumulative_absolute
## 222930
## excess_mortality_cumulative
## 222930
## excess_mortality
## 222879
## excess_mortality_cumulative_per_million
## 222930
covid$year_date <- year(covid$date)
covid$month_date <- month(covid$date, label = T, abbr = F)
covid <- covid %>% rename('Timeline' = 'date', 'Dailycases' = 'new_cases', 'Dailydeaths' = 'new_deaths', 'Country' = 'location')
glimpse(covid)## Rows: 230,696
## Columns: 69
## $ iso_code <chr> "AFG", "AFG", "AFG", "AFG",…
## $ continent <chr> "Asia", "Asia", "Asia", "As…
## $ Country <chr> "Afghanistan", "Afghanistan…
## $ Timeline <date> 2020-02-24, 2020-02-25, 20…
## $ total_cases <dbl> 5, 5, 5, 5, 5, 5, 5, 5, 5, …
## $ Dailycases <dbl> 5, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ new_cases_smoothed <dbl> NA, NA, NA, NA, NA, 0.714, …
## $ total_deaths <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ Dailydeaths <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_deaths_smoothed <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_cases_per_million <dbl> 0.125, 0.125, 0.125, 0.125,…
## $ new_cases_per_million <dbl> 0.125, 0.000, 0.000, 0.000,…
## $ new_cases_smoothed_per_million <dbl> NA, NA, NA, NA, NA, 0.018, …
## $ total_deaths_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_deaths_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_deaths_smoothed_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ reproduction_rate <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ icu_patients <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ icu_patients_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ hosp_patients <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ hosp_patients_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ weekly_icu_admissions <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ weekly_icu_admissions_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ weekly_hosp_admissions <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ weekly_hosp_admissions_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_tests <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_tests <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_tests_per_thousand <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_tests_per_thousand <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_tests_smoothed <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_tests_smoothed_per_thousand <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ positive_rate <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ tests_per_case <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ tests_units <chr> NA, NA, NA, NA, NA, NA, NA,…
## $ total_vaccinations <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ people_vaccinated <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ people_fully_vaccinated <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_boosters <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_vaccinations <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_vaccinations_smoothed <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_vaccinations_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ people_vaccinated_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ people_fully_vaccinated_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ total_boosters_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_vaccinations_smoothed_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_people_vaccinated_smoothed <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ new_people_vaccinated_smoothed_per_hundred <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ stringency_index <dbl> 8.33, 8.33, 8.33, 8.33, 8.3…
## $ population_density <dbl> 54.422, 54.422, 54.422, 54.…
## $ median_age <dbl> 18.6, 18.6, 18.6, 18.6, 18.…
## $ aged_65_older <dbl> 2.581, 2.581, 2.581, 2.581,…
## $ aged_70_older <dbl> 1.337, 1.337, 1.337, 1.337,…
## $ gdp_per_capita <dbl> 1803.987, 1803.987, 1803.98…
## $ extreme_poverty <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ cardiovasc_death_rate <dbl> 597.029, 597.029, 597.029, …
## $ diabetes_prevalence <dbl> 9.59, 9.59, 9.59, 9.59, 9.5…
## $ female_smokers <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ male_smokers <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ handwashing_facilities <dbl> 37.746, 37.746, 37.746, 37.…
## $ hospital_beds_per_thousand <dbl> 0.5, 0.5, 0.5, 0.5, 0.5, 0.…
## $ life_expectancy <dbl> 64.83, 64.83, 64.83, 64.83,…
## $ human_development_index <dbl> 0.511, 0.511, 0.511, 0.511,…
## $ population <dbl> 40099462, 40099462, 4009946…
## $ excess_mortality_cumulative_absolute <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ excess_mortality_cumulative <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ excess_mortality <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ excess_mortality_cumulative_per_million <dbl> NA, NA, NA, NA, NA, NA, NA,…
## $ year_date <dbl> 2020, 2020, 2020, 2020, 202…
## $ month_date <ord> Februari, Februari, Februar…
summary(covid)## iso_code continent Country Timeline
## Length:230696 Length:230696 Length:230696 Min. :2020-01-01
## Class :character Class :character Class :character 1st Qu.:2020-11-10
## Mode :character Mode :character Mode :character Median :2021-07-11
## Mean :2021-07-06
## 3rd Qu.:2022-03-03
## Max. :2022-10-27
##
## total_cases Dailycases new_cases_smoothed total_deaths
## Min. : 1 Min. : 0 Min. : 0 Min. : 1
## 1st Qu.: 4396 1st Qu.: 0 1st Qu.: 6 1st Qu.: 113
## Median : 49489 Median : 53 Median : 94 Median : 1180
## Mean : 4464512 Mean : 12355 Mean : 12393 Mean : 74188
## 3rd Qu.: 523961 3rd Qu.: 953 3rd Qu.: 1123 3rd Qu.: 9799
## Max. :629437595 Max. :4081967 Max. :3436031 Max. :6586637
## NA's :13082 NA's :13343 NA's :14539 NA's :32294
## Dailydeaths new_deaths_smoothed total_cases_per_million
## Min. : 0.0 Min. : 0.00 Min. : 0
## 1st Qu.: 0.0 1st Qu.: 0.00 1st Qu.: 1103
## Median : 1.0 Median : 1.43 Median : 10429
## Mean : 137.9 Mean : 138.57 Mean : 60641
## 3rd Qu.: 14.0 3rd Qu.: 15.71 3rd Qu.: 72898
## Max. :17731.0 Max. :14857.71 Max. :665505
## NA's :32345 NA's :33525 NA's :14076
## new_cases_per_million new_cases_smoothed_per_million total_deaths_per_million
## Min. : 0.00 Min. : 0.00 Min. : 0.0
## 1st Qu.: 0.00 1st Qu.: 1.32 1st Qu.: 29.4
## Median : 7.41 Median : 19.16 Median : 214.6
## Mean : 188.57 Mean : 189.02 Mean : 693.0
## 3rd Qu.: 96.57 3rd Qu.: 135.21 3rd Qu.:1025.1
## Max. :195005.31 Max. :36401.61 Max. :6432.8
## NA's :14337 NA's :15528 NA's :33275
## new_deaths_per_million new_deaths_smoothed_per_million reproduction_rate
## Min. : 0.00 Min. : 0.00 Min. :-0.09
## 1st Qu.: 0.00 1st Qu.: 0.00 1st Qu.: 0.75
## Median : 0.03 Median : 0.20 Median : 0.96
## Mean : 1.40 Mean : 1.40 Mean : 0.94
## 3rd Qu.: 0.96 3rd Qu.: 1.33 3rd Qu.: 1.15
## Max. :553.80 Max. :148.67 Max. : 5.71
## NA's :33326 NA's :34501 NA's :59517
## icu_patients icu_patients_per_million hosp_patients
## Min. : 0.0 Min. : 0.00 Min. : 0
## 1st Qu.: 29.0 1st Qu.: 3.61 1st Qu.: 195
## Median : 136.0 Median : 9.71 Median : 779
## Mean : 770.8 Mean : 19.66 Mean : 3956
## 3rd Qu.: 533.0 3rd Qu.: 26.16 3rd Qu.: 3006
## Max. :28891.0 Max. :180.39 Max. :154513
## NA's :199194 NA's :199194 NA's :195370
## hosp_patients_per_million weekly_icu_admissions
## Min. : 0.00 Min. : 0.0
## 1st Qu.: 35.98 1st Qu.: 36.0
## Median : 93.99 Median : 175.0
## Mean : 156.74 Mean : 431.2
## 3rd Qu.: 205.18 3rd Qu.: 560.0
## Max. :1546.50 Max. :5563.0
## NA's :195370 NA's :222832
## weekly_icu_admissions_per_million weekly_hosp_admissions
## Min. : 0.00 Min. : 0
## 1st Qu.: 3.15 1st Qu.: 290
## Median : 7.74 Median : 1031
## Mean : 17.05 Mean : 4875
## 3rd Qu.: 17.34 3rd Qu.: 4610
## Max. :807.92 Max. :153988
## NA's :222832 NA's :212047
## weekly_hosp_admissions_per_million total_tests new_tests
## Min. : 0.00 Min. :0.000e+00 Min. : 1
## 1st Qu.: 30.68 1st Qu.:3.647e+05 1st Qu.: 2244
## Median : 74.39 Median :2.067e+06 Median : 8783
## Mean : 118.81 Mean :2.110e+07 Mean : 67285
## 3rd Qu.: 136.21 3rd Qu.:1.025e+07 3rd Qu.: 37229
## Max. :10536.33 Max. :9.214e+09 Max. :35855632
## NA's :212047 NA's :151309 NA's :155293
## total_tests_per_thousand new_tests_per_thousand new_tests_smoothed
## Min. : 0.00 Min. : 0.00 Min. : 0
## 1st Qu.: 43.59 1st Qu.: 0.29 1st Qu.: 1486
## Median : 234.14 Median : 0.97 Median : 6570
## Mean : 924.25 Mean : 3.27 Mean : 142178
## 3rd Qu.: 894.37 3rd Qu.: 2.91 3rd Qu.: 32205
## Max. :32925.83 Max. :531.06 Max. :14769984
## NA's :151309 NA's :155293 NA's :126731
## new_tests_smoothed_per_thousand positive_rate tests_per_case
## Min. : 0.00 Min. :0.00 Min. : 1.0
## 1st Qu.: 0.20 1st Qu.:0.02 1st Qu.: 7.1
## Median : 0.85 Median :0.06 Median : 17.5
## Mean : 2.83 Mean :0.10 Mean : 2403.6
## 3rd Qu.: 2.58 3rd Qu.:0.14 3rd Qu.: 54.6
## Max. :147.60 Max. :1.00 Max. :1023631.9
## NA's :126731 NA's :134769 NA's :136348
## tests_units total_vaccinations people_vaccinated
## Length:230696 Min. :0.000e+00 Min. :0.000e+00
## Class :character 1st Qu.:1.229e+06 1st Qu.:6.939e+05
## Mode :character Median :8.799e+06 Median :4.542e+06
## Mean :2.849e+08 Mean :1.307e+08
## 3rd Qu.:5.799e+07 3rd Qu.:2.846e+07
## Max. :1.287e+10 Max. :5.412e+09
## NA's :164836 NA's :167634
## people_fully_vaccinated total_boosters new_vaccinations
## Min. :1.000e+00 Min. :1.000e+00 Min. : 0
## 1st Qu.:5.700e+05 1st Qu.:1.125e+05 1st Qu.: 4144
## Median :4.052e+06 Median :2.507e+06 Median : 31095
## Mean :1.137e+08 Mean :5.969e+07 Mean : 918812
## 3rd Qu.:2.552e+07 3rd Qu.:1.634e+07 3rd Qu.: 234449
## Max. :4.986e+09 Max. :2.584e+09 Max. :49675850
## NA's :170338 NA's :194777 NA's :176139
## new_vaccinations_smoothed total_vaccinations_per_hundred
## Min. : 0 Min. : 0.00
## 1st Qu.: 603 1st Qu.: 27.05
## Median : 6262 Median :100.03
## Mean : 389635 Mean :103.43
## 3rd Qu.: 46838 3rd Qu.:165.90
## Max. :43690278 Max. :375.65
## NA's :96028 NA's :164836
## people_vaccinated_per_hundred people_fully_vaccinated_per_hundred
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 18.38 1st Qu.: 12.09
## Median : 55.04 Median : 46.56
## Mean : 47.89 Mean : 42.69
## 3rd Qu.: 74.87 3rd Qu.: 68.99
## Max. :128.78 Max. :126.79
## NA's :167634 NA's :170338
## total_boosters_per_hundred new_vaccinations_smoothed_per_million
## Min. : 0.00 Min. : 0
## 1st Qu.: 1.34 1st Qu.: 318
## Median : 20.22 Median : 1240
## Mean : 26.84 Mean : 2515
## 3rd Qu.: 48.73 3rd Qu.: 3489
## Max. :140.05 Max. :117862
## NA's :194777 NA's :96028
## new_people_vaccinated_smoothed new_people_vaccinated_smoothed_per_hundred
## Min. : 0 Min. : 0.00
## 1st Qu.: 147 1st Qu.: 0.01
## Median : 1822 Median : 0.03
## Mean : 145322 Mean : 0.10
## 3rd Qu.: 16087 3rd Qu.: 0.12
## Max. :21071237 Max. :11.79
## NA's :96494 NA's :96494
## stringency_index population_density median_age aged_65_older
## Min. : 0.00 Min. : 0.137 Min. :15.10 Min. : 1.14
## 1st Qu.: 30.80 1st Qu.: 37.312 1st Qu.:22.30 1st Qu.: 3.53
## Median : 47.22 Median : 88.125 Median :30.60 Median : 6.70
## Mean : 47.75 Mean : 456.385 Mean :30.61 Mean : 8.80
## 3rd Qu.: 65.74 3rd Qu.: 214.243 3rd Qu.:39.10 3rd Qu.:14.18
## Max. :100.00 Max. :20546.766 Max. :48.20 Max. :27.05
## NA's :61588 NA's :29236 NA's :44296 NA's :46263
## aged_70_older gdp_per_capita extreme_poverty cardiovasc_death_rate
## Min. : 0.53 Min. : 661.2 Min. : 0.10 Min. : 79.37
## 1st Qu.: 2.06 1st Qu.: 4449.9 1st Qu.: 0.60 1st Qu.:170.05
## Median : 4.03 Median : 12951.8 Median : 2.20 Median :243.96
## Mean : 5.55 Mean : 19545.5 Mean :13.64 Mean :261.46
## 3rd Qu.: 8.68 3rd Qu.: 27936.9 3rd Qu.:21.40 3rd Qu.:329.94
## Max. :18.49 Max. :116935.6 Max. :77.60 Max. :724.42
## NA's :45271 NA's :44881 NA's :109636 NA's :44802
## diabetes_prevalence female_smokers male_smokers handwashing_facilities
## Min. : 0.99 Min. : 0.10 Min. : 7.70 Min. : 1.19
## 1st Qu.: 5.31 1st Qu.: 1.90 1st Qu.:21.60 1st Qu.: 20.86
## Median : 7.20 Median : 6.30 Median :31.40 Median : 49.84
## Mean : 8.39 Mean :10.68 Mean :32.81 Mean : 50.92
## 3rd Qu.:10.59 3rd Qu.:19.30 3rd Qu.:41.30 3rd Qu.: 83.24
## Max. :30.53 Max. :44.00 Max. :78.10 Max. :100.00
## NA's :35229 NA's :89934 NA's :91861 NA's :139167
## hospital_beds_per_thousand life_expectancy human_development_index
## Min. : 0.10 Min. :53.28 Min. :0.39
## 1st Qu.: 1.30 1st Qu.:69.50 1st Qu.:0.60
## Median : 2.50 Median :75.05 Median :0.74
## Mean : 3.09 Mean :73.62 Mean :0.72
## 3rd Qu.: 4.20 3rd Qu.:79.07 3rd Qu.:0.84
## Max. :13.80 Max. :86.75 Max. :0.96
## NA's :65215 NA's :18671 NA's :49320
## population excess_mortality_cumulative_absolute
## Min. :4.700e+01 Min. : -37726.1
## 1st Qu.:8.960e+05 1st Qu.: 34.6
## Median :6.886e+06 Median : 6009.5
## Mean :1.399e+08 Mean : 47969.7
## 3rd Qu.:3.298e+07 3rd Qu.: 34719.6
## Max. :7.909e+09 Max. :1224011.1
## NA's :994 NA's :222930
## excess_mortality_cumulative excess_mortality
## Min. :-28.45 Min. :-95.92
## 1st Qu.: 0.56 1st Qu.: -0.12
## Median : 7.38 Median : 7.27
## Mean : 9.96 Mean : 14.33
## 3rd Qu.: 15.61 3rd Qu.: 19.77
## Max. : 76.55 Max. :376.58
## NA's :222930 NA's :222879
## excess_mortality_cumulative_per_million year_date month_date
## Min. :-1884.68 Min. :2020 Juli : 22146
## 1st Qu.: 27.05 1st Qu.:2020 Agustus : 22113
## Median : 807.13 Median :2021 Mei : 22091
## Mean : 1352.30 Mean :2021 Juni : 21451
## 3rd Qu.: 2109.74 3rd Qu.:2022 September: 21388
## Max. : 9771.68 Max. :2022 Oktober : 21137
## NA's :222930 (Other) :100370
covid[is.na(covid$Dailycases), "Dailycases"] <- 0
covid[is.na(covid$total_cases), "total_cases"] <- 0
covid[is.na(covid$Dailydeaths), "Dailydeaths"] <- 0
covid[is.na(covid$total_deaths), "total_deaths"] <- 0
covid[is.na(covid$total_cases_per_million), "total_cases_per_million"] <- 0
covid[is.na(covid$new_cases_per_million), "new_cases_per_million"] <- 0
covid[is.na(covid$total_vaccinations), "total_vaccinations"] <- 0
covid[is.na(covid$population), "population"] <- 0
covid[is.na(covid$positive_rate), "positive_rate"] <- 0
head(covid)## # A tibble: 6 × 69
## iso_code continent Country Timeline total…¹ Daily…² new_c…³ total…⁴ Daily…⁵
## <chr> <chr> <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AFG Asia Afghani… 2020-02-24 5 5 NA 0 0
## 2 AFG Asia Afghani… 2020-02-25 5 0 NA 0 0
## 3 AFG Asia Afghani… 2020-02-26 5 0 NA 0 0
## 4 AFG Asia Afghani… 2020-02-27 5 0 NA 0 0
## 5 AFG Asia Afghani… 2020-02-28 5 0 NA 0 0
## 6 AFG Asia Afghani… 2020-02-29 5 0 0.714 0 0
## # … with 60 more variables: new_deaths_smoothed <dbl>,
## # total_cases_per_million <dbl>, new_cases_per_million <dbl>,
## # new_cases_smoothed_per_million <dbl>, total_deaths_per_million <dbl>,
## # new_deaths_per_million <dbl>, new_deaths_smoothed_per_million <dbl>,
## # reproduction_rate <dbl>, icu_patients <dbl>,
## # icu_patients_per_million <dbl>, hosp_patients <dbl>,
## # hosp_patients_per_million <dbl>, weekly_icu_admissions <dbl>, …
Data Processing & Plotly
What is the daily number of confirmed cases in indonesia?
# Indonesi Daily Cases
ind_dc <- covid %>%
select(Country, Timeline, Dailycases) %>%
filter(Country %in% "Indonesia")%>%
mutate(label = glue("Timeline: {Timeline}
Dailycases: {Dailycases}"))
ind_dc## # A tibble: 970 × 4
## Country Timeline Dailycases label
## <chr> <date> <dbl> <glue>
## 1 Indonesia 2020-03-02 2 Timeline: 2020-03-02
## Dailycases: 2
## 2 Indonesia 2020-03-03 0 Timeline: 2020-03-03
## Dailycases: 0
## 3 Indonesia 2020-03-04 0 Timeline: 2020-03-04
## Dailycases: 0
## 4 Indonesia 2020-03-05 0 Timeline: 2020-03-05
## Dailycases: 0
## 5 Indonesia 2020-03-06 2 Timeline: 2020-03-06
## Dailycases: 2
## 6 Indonesia 2020-03-07 0 Timeline: 2020-03-07
## Dailycases: 0
## 7 Indonesia 2020-03-08 2 Timeline: 2020-03-08
## Dailycases: 2
## 8 Indonesia 2020-03-09 13 Timeline: 2020-03-09
## Dailycases: 13
## 9 Indonesia 2020-03-10 8 Timeline: 2020-03-10
## Dailycases: 8
## 10 Indonesia 2020-03-11 7 Timeline: 2020-03-11
## Dailycases: 7
## # … with 960 more rows
# Indonesia Daily Cases Plot
ind_dcp <-
ggplot(data = ind_dc, mapping = aes(x = Timeline,
y = Dailycases,
text = label))+
geom_line(group = 7, color = "blue") +
scale_x_date(date_breaks = "month", date_labels = "%m") +
scale_y_continuous(labels = scales::comma) +
labs(title = "Daily Number of Confirmed Cases In Indonesia",
x = "Timeline Monthly",
y = "Daily Cases Confirmed") +
theme_minimal()
ggplotly(p =ind_dcp, tooltip = "text")# World Total Cases
wtotalc <- covid %>%
select(Country, Timeline, Dailycases) %>%
filter(Country %in% "World") %>% arrange(desc(Timeline))
wtotalc## # A tibble: 1,010 × 3
## Country Timeline Dailycases
## <chr> <date> <dbl>
## 1 World 2022-10-27 456213
## 2 World 2022-10-26 448519
## 3 World 2022-10-25 569105
## 4 World 2022-10-24 428961
## 5 World 2022-10-23 160166
## 6 World 2022-10-22 181670
## 7 World 2022-10-21 411914
## 8 World 2022-10-20 569626
## 9 World 2022-10-19 514129
## 10 World 2022-10-18 608150
## # … with 1,000 more rows
Cumulative number of confirmed cases in Indonesia
# Set Indonesia Total Cases
indtotalc <- covid %>%
select(Country, Timeline, total_cases) %>%
filter(Country %in% "Indonesia")%>%
mutate(label = glue("Timeline: {Timeline}
Total cases: {total_cases}"))
indtotalc## # A tibble: 970 × 4
## Country Timeline total_cases label
## <chr> <date> <dbl> <glue>
## 1 Indonesia 2020-03-02 2 Timeline: 2020-03-02
## Total cases: 2
## 2 Indonesia 2020-03-03 2 Timeline: 2020-03-03
## Total cases: 2
## 3 Indonesia 2020-03-04 2 Timeline: 2020-03-04
## Total cases: 2
## 4 Indonesia 2020-03-05 2 Timeline: 2020-03-05
## Total cases: 2
## 5 Indonesia 2020-03-06 4 Timeline: 2020-03-06
## Total cases: 4
## 6 Indonesia 2020-03-07 4 Timeline: 2020-03-07
## Total cases: 4
## 7 Indonesia 2020-03-08 6 Timeline: 2020-03-08
## Total cases: 6
## 8 Indonesia 2020-03-09 19 Timeline: 2020-03-09
## Total cases: 19
## 9 Indonesia 2020-03-10 27 Timeline: 2020-03-10
## Total cases: 27
## 10 Indonesia 2020-03-11 34 Timeline: 2020-03-11
## Total cases: 34
## # … with 960 more rows
# Indonesia Total Cases
indtotalc %>%
e_charts(Timeline) %>%
e_line(total_cases) %>%
e_color(color = "red" ) %>%
e_datazoom() %>%
e_title("Cumulative Covid Cases in Indonesia") %>%
e_tooltip(trigger = "axis")Cumulative confirmed cases: how do they compare to other countries? (Map)
# Set World Daily Cases
wdc <- covid %>%
select(Country, Timeline, Dailycases) %>%
mutate(label = glue("Timeline: {Timeline}
Dailycases: {Dailycases}"))
wdc## # A tibble: 230,696 × 4
## Country Timeline Dailycases label
## <chr> <date> <dbl> <glue>
## 1 Afghanistan 2020-02-24 5 Timeline: 2020-02-24
## Dailycases: 5
## 2 Afghanistan 2020-02-25 0 Timeline: 2020-02-25
## Dailycases: 0
## 3 Afghanistan 2020-02-26 0 Timeline: 2020-02-26
## Dailycases: 0
## 4 Afghanistan 2020-02-27 0 Timeline: 2020-02-27
## Dailycases: 0
## 5 Afghanistan 2020-02-28 0 Timeline: 2020-02-28
## Dailycases: 0
## 6 Afghanistan 2020-02-29 0 Timeline: 2020-02-29
## Dailycases: 0
## 7 Afghanistan 2020-03-01 0 Timeline: 2020-03-01
## Dailycases: 0
## 8 Afghanistan 2020-03-02 0 Timeline: 2020-03-02
## Dailycases: 0
## 9 Afghanistan 2020-03-03 0 Timeline: 2020-03-03
## Dailycases: 0
## 10 Afghanistan 2020-03-04 0 Timeline: 2020-03-04
## Dailycases: 0
## # … with 230,686 more rows
# World Daily Cases Plot Map
wdc %>% filter(Timeline == "2020-03-03") %>%
e_charts(Country) %>%
e_map(Dailycases) %>%
e_visual_map(Dailycases) %>%
e_tooltip() # Set Death Contingent
deathcon <-covid %>%
select(Timeline, Country, total_deaths) %>%
filter(Country %in% c("Africa", "Asia", "Europe", "North America", "Oceania","South America ", "Singapore" ),
Timeline==as.character("2022-10-10")) %>%
group_by(Country, Timeline, total_deaths) %>%
arrange(-total_deaths)deathcon %>% group_by(Country) %>% summarise(sum = sum(total_deaths)) %>%
e_charts(Country) %>%
e_pie(sum, radius = c('40%', '60%'),
itemStyle = list(borderRadius= 20, borderColor = "#fff", borderWidth = 2),
emphasis = list(show = T, fontSize = "50", label = list(show = T))) %>%
e_title("Percentage and Number Of Contingent Deaths", position = "center") %>%
e_labels(show = FALSE,
position = "center",
fontSize = 18,
fontWeigth = "bold",
formatter = "{b} \n median value : {d}% \n Total Death : {c}") %>%
e_legend(type = c("scroll"), right = 0,orient = "vertical") Indonesia: What is the daily number of confirmed deaths?(line linear/log)
# Indonesia Daily Deaths
inddd <- covid %>%
select(Country, Timeline, Dailydeaths) %>%
filter(Country %in% "Indonesia")%>%
mutate(label = glue("Timeline: {Timeline}
Dailydeaths: {Dailydeaths}"))
inddd## # A tibble: 970 × 4
## Country Timeline Dailydeaths label
## <chr> <date> <dbl> <glue>
## 1 Indonesia 2020-03-02 0 Timeline: 2020-03-02
## Dailydeaths: 0
## 2 Indonesia 2020-03-03 0 Timeline: 2020-03-03
## Dailydeaths: 0
## 3 Indonesia 2020-03-04 0 Timeline: 2020-03-04
## Dailydeaths: 0
## 4 Indonesia 2020-03-05 0 Timeline: 2020-03-05
## Dailydeaths: 0
## 5 Indonesia 2020-03-06 0 Timeline: 2020-03-06
## Dailydeaths: 0
## 6 Indonesia 2020-03-07 0 Timeline: 2020-03-07
## Dailydeaths: 0
## 7 Indonesia 2020-03-08 0 Timeline: 2020-03-08
## Dailydeaths: 0
## 8 Indonesia 2020-03-09 0 Timeline: 2020-03-09
## Dailydeaths: 0
## 9 Indonesia 2020-03-10 0 Timeline: 2020-03-10
## Dailydeaths: 0
## 10 Indonesia 2020-03-11 1 Timeline: 2020-03-11
## Dailydeaths: 1
## # … with 960 more rows
# Indonesia Daily Deaths Plot
indddp <- ggplot(data = inddd, mapping = aes(x = Timeline,
y = Dailydeaths,
text = label))+
geom_line(group = 7, color = "red3") +
scale_x_date(date_breaks = "month", date_labels = "%m") +
scale_y_continuous(labels = scales::comma) +
labs(title = "Daily Number of Confirmed Deaths In Indonesia",
x = "Timeline Monthly",
y = "Daily Deaths Confirmed") +
theme_minimal()
ggplotly(p =indddp, tooltip = "text")# All Total Cases of World
final_tw <- covid %>%
select(Country, Timeline, total_cases) %>%
filter(Country %in% "World") %>% arrange(desc(Timeline))
final_tw## # A tibble: 1,010 × 3
## Country Timeline total_cases
## <chr> <date> <dbl>
## 1 World 2022-10-27 629437595
## 2 World 2022-10-26 628989233
## 3 World 2022-10-25 628540714
## 4 World 2022-10-24 627971609
## 5 World 2022-10-23 627543269
## 6 World 2022-10-22 627383103
## 7 World 2022-10-21 627201433
## 8 World 2022-10-20 626789519
## 9 World 2022-10-19 626219917
## 10 World 2022-10-18 625706642
## # … with 1,000 more rows
Cumulative number of confirmed deaths of Indonesia
# Set Indonesia Cumulative Deaths
indcumdeaths <- covid %>%
select(Country, Timeline, total_deaths) %>%
filter(Country %in% "Indonesia")%>%
mutate(label = glue("Timeline: {Timeline}
Cumulative Deaths: {total_deaths}"))
indcumdeaths## # A tibble: 970 × 4
## Country Timeline total_deaths label
## <chr> <date> <dbl> <glue>
## 1 Indonesia 2020-03-02 0 Timeline: 2020-03-02
## Cumulative Deaths: 0
## 2 Indonesia 2020-03-03 0 Timeline: 2020-03-03
## Cumulative Deaths: 0
## 3 Indonesia 2020-03-04 0 Timeline: 2020-03-04
## Cumulative Deaths: 0
## 4 Indonesia 2020-03-05 0 Timeline: 2020-03-05
## Cumulative Deaths: 0
## 5 Indonesia 2020-03-06 0 Timeline: 2020-03-06
## Cumulative Deaths: 0
## 6 Indonesia 2020-03-07 0 Timeline: 2020-03-07
## Cumulative Deaths: 0
## 7 Indonesia 2020-03-08 0 Timeline: 2020-03-08
## Cumulative Deaths: 0
## 8 Indonesia 2020-03-09 0 Timeline: 2020-03-09
## Cumulative Deaths: 0
## 9 Indonesia 2020-03-10 0 Timeline: 2020-03-10
## Cumulative Deaths: 0
## 10 Indonesia 2020-03-11 1 Timeline: 2020-03-11
## Cumulative Deaths: 1
## # … with 960 more rows
# Cumulative Number of Confirmed Deaths in Indonesia
indcumdeaths %>%
e_charts(Timeline) %>%
e_line(total_deaths) %>%
e_datazoom() %>%
e_color(color = "red") %>%
e_title("Indonesia
Cumulative Confirmed Deaths") %>%
e_tooltip(trigger = "axis")Country of the World Cumulative confirmed Deaths
# Total World Cases
wtc <- covid %>%
select(Country, Timeline, total_cases) %>%
mutate(label = glue("Timeline: {Timeline}
Total Cases: {total_cases}"))
wtc## # A tibble: 230,696 × 4
## Country Timeline total_cases label
## <chr> <date> <dbl> <glue>
## 1 Afghanistan 2020-02-24 5 Timeline: 2020-02-24
## Total Cases: 5
## 2 Afghanistan 2020-02-25 5 Timeline: 2020-02-25
## Total Cases: 5
## 3 Afghanistan 2020-02-26 5 Timeline: 2020-02-26
## Total Cases: 5
## 4 Afghanistan 2020-02-27 5 Timeline: 2020-02-27
## Total Cases: 5
## 5 Afghanistan 2020-02-28 5 Timeline: 2020-02-28
## Total Cases: 5
## 6 Afghanistan 2020-02-29 5 Timeline: 2020-02-29
## Total Cases: 5
## 7 Afghanistan 2020-03-01 5 Timeline: 2020-03-01
## Total Cases: 5
## 8 Afghanistan 2020-03-02 5 Timeline: 2020-03-02
## Total Cases: 5
## 9 Afghanistan 2020-03-03 5 Timeline: 2020-03-03
## Total Cases: 5
## 10 Afghanistan 2020-03-04 5 Timeline: 2020-03-04
## Total Cases: 5
## # … with 230,686 more rows
wtc %>% filter(Timeline == "2020-03-03") %>%
e_charts(Country) %>%
e_map(total_cases) %>%
e_visual_map(total_cases) %>%
e_tooltip()It is possible that the Mortality Risk of Covid 19 in Indonesia will continue to increase and there needs to be serious handling in handling it, this data is presented as a need for handling based on policy.
# Mortality Risk
indmr <- covid %>%
select(Country, Timeline, total_cases, total_deaths) %>%
filter(Country %in% "Indonesia")
indmr## # A tibble: 970 × 4
## Country Timeline total_cases total_deaths
## <chr> <date> <dbl> <dbl>
## 1 Indonesia 2020-03-02 2 0
## 2 Indonesia 2020-03-03 2 0
## 3 Indonesia 2020-03-04 2 0
## 4 Indonesia 2020-03-05 2 0
## 5 Indonesia 2020-03-06 4 0
## 6 Indonesia 2020-03-07 4 0
## 7 Indonesia 2020-03-08 6 0
## 8 Indonesia 2020-03-09 19 0
## 9 Indonesia 2020-03-10 27 0
## 10 Indonesia 2020-03-11 34 1
## # … with 960 more rows
indmr_plot <- indmr %>%
e_charts(Timeline) %>%
e_line(total_cases, itemStyle = list(color = "blue")) %>%
e_line(total_deaths, itemStyle = list(color = "red")) %>%
e_datazoom() %>%
e_title("Mortality Risk of Covid 19 in Indonesia") %>%
e_tooltip(trigger = "axis")
indmr_plot