Research question: Has the COVID-19 pandemic and associated vaccination campaigns cannibalized resources and progress on previous set targets for Vaccine preventable disease?
Hypothesis: Advent of COVID-19 pandemic cases led to increased surveillance of COVID-19 and eventually increased immunization while surveilled cases and immunizations for VPDs decreased.
Research question: Has the economic shock of COVID-19 and R&D focus on the COVID-19 vaccine distorted prices to VPD vaccines
Hypothesis: While GDP growth and GNI of countries slowed or shrank in the Pandemic, prices to VPD vaccines increased and became relatively more expensive.
Research question: Is the benefit of added investment into VPD vaccines and immunization coverage greater than/needed against the cost of VPDs
Hypothesis: The cost of VPDs far exceeds the cost and benefit of investing in VPD vaccines and coverage programs
Load libraries for R. Note: additional libraries may be added later for specific visualization techniques, data exploration, and summary statistics.
#| echo: false
#| warning: false
#load libraries for use
library(tidyverse)
library(lubridate)
library(purrr)
library(janitor)
library(here)
library(readxl)
library(ggridges)
library(stringr)
library(naniar)
library(rnaturalearth)
library(countrycode)
library(wbstats)
library("data.table")
setwd("C:/Users/joeau/OneDrive - Johns Hopkins/SAIS/Year 2/Sustainable Finance/final_project/")
First need function from earlier in class to help locate countries and use ISO3 codes for WB data and table joins. Created below:
#| echo: false
#| warning: false
#searching gdp data
wb_search("gdp") |>
view()
wb_search("gni") |>
view()
#build functions to help generate locations
country_name_regex_to_iso3c <- function(country_name) {
country_name |>
countrycode(origin = "country.name",
destination = "iso3c",
origin_regex = TRUE)
}
iso3c_to_country_name <- function(country_string) {
country_string %>%
countrycode::countrycode(origin = "iso3c", destination = "country.name")
}
character_num_to_numeric <- function(character_num) {
character_num %>%
# take out the commas
stringr::str_remove_all(pattern = ",") %>%
# take out any blank spaces before or after the number
stringr::str_trim() %>%
# coerce to numeric
as.numeric()
}
iso3c_to_x <- purrr::partial(countrycode, origin = "iso3c")
Next will be loading in data needed from API (GDP, GNI, Population, per capita calcs?). Getting World Bank API data for country-level analysis below. (Data Source: WB Stats API)
#| echo: false
#| warning: false
##Get our WB data via the API
wb_population <- wb_data("SP.POP.TOTL") # our population data
wb_gdp_ppp <- wb_data("NY.GDP.MKTP.PP.CD") # ppp real GDP data
wb_gdp_nominal <- wb_data("NY.GDP.MKTP.CD") # real GDP data
wb_gni_ppp <- wb_data("NY.GNP.MKTP.PP.CD") # ppp real GNI data
wb_gni_nominal <- wb_data ("NY.GNP.MKTP.CD")# nominal real GNI data
wb_regions <- wb_countries() #regions data
wb_growth <- wb_data("NY.GDP.MKTP.KD.ZG") #GDP growth rates
wb_health_exp <- wb_data("SH.XPD.CHEX.GD.ZS") #Health expenditure as % GDP
Cleaning up names of columns for later table joins:
#| echo: false
#| warning: false
##Clean up WB data
wb_gni_nominal <- wb_gni_nominal |>
rename(year = date, country_name = country, gni = NY.GNP.MKTP.CD) |>
select(-iso2c,-unit,-obs_status,-footnote,-last_updated)
wb_gni_ppp <- wb_gni_ppp |>
rename(year = date, country_name = country, gni_ppp = NY.GNP.MKTP.PP.CD) |>
select(-iso2c,-unit,-obs_status,-footnote,-last_updated)
wb_gdp_nominal <- wb_gdp_nominal |>
rename(year = date, country_name = country, gdp = NY.GDP.MKTP.CD) |>
select(-iso2c,-unit,-obs_status,-footnote,-last_updated)
wb_gdp_ppp <- wb_gdp_ppp |>
rename(year = date, country_name = country, gdp_ppp = NY.GDP.MKTP.PP.CD) |>
select(-iso2c,-unit,-obs_status,-footnote,-last_updated)
wb_population <- wb_population |>
rename(year = date, country_name = country, pop_total = SP.POP.TOTL) |>
select(-iso2c,-unit,-obs_status,-footnote,-last_updated)
wb_regions <- wb_regions |>
select(iso3c, country, region, income_level) |>
filter(region != "Aggregates")
wb_growth <- wb_growth |>
rename(gdp_growth = NY.GDP.MKTP.KD.ZG, year = date) |>
select(iso3c, country, year, gdp_growth)
wb_health_exp <- wb_health_exp |>
mutate(gdp_health = SH.XPD.CHEX.GD.ZS, year = date) |>
select(iso3c, country, year, gdp_health)
Now let’s join all the WB data together into one table using a series of Left Joins and filters to condense our time frame to >= 1990 :
#Left joins beginning with nominal GDP as reference sheet
#Join 1: GDP
wb_gdp <- wb_gdp_nominal |>
left_join(wb_gdp_ppp, by = c("iso3c", "country_name", "year"))
wb_gdp
## # A tibble: 13,454 × 5
## iso3c country_name year gdp gdp_ppp
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 ABW Aruba 1960 NA NA
## 2 ABW Aruba 1961 NA NA
## 3 ABW Aruba 1962 NA NA
## 4 ABW Aruba 1963 NA NA
## 5 ABW Aruba 1964 NA NA
## 6 ABW Aruba 1965 NA NA
## 7 ABW Aruba 1966 NA NA
## 8 ABW Aruba 1967 NA NA
## 9 ABW Aruba 1968 NA NA
## 10 ABW Aruba 1969 NA NA
## # ℹ 13,444 more rows
#Join 2: GNI
wb_gni <- wb_gni_nominal |>
left_join(wb_gni_ppp, by = c("iso3c", "country_name", "year"))
wb_gni
## # A tibble: 13,454 × 5
## iso3c country_name year gni gni_ppp
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 ABW Aruba 1960 NA NA
## 2 ABW Aruba 1961 NA NA
## 3 ABW Aruba 1962 NA NA
## 4 ABW Aruba 1963 NA NA
## 5 ABW Aruba 1964 NA NA
## 6 ABW Aruba 1965 NA NA
## 7 ABW Aruba 1966 NA NA
## 8 ABW Aruba 1967 NA NA
## 9 ABW Aruba 1968 NA NA
## 10 ABW Aruba 1969 NA NA
## # ℹ 13,444 more rows
#Join 3: Combined GDP GNI
wb_econ_data <- wb_gdp |>
left_join(wb_gni, by = c("iso3c", "country_name", "year"))
wb_econ_data
## # A tibble: 13,454 × 7
## iso3c country_name year gdp gdp_ppp gni gni_ppp
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 ABW Aruba 1960 NA NA NA NA
## 2 ABW Aruba 1961 NA NA NA NA
## 3 ABW Aruba 1962 NA NA NA NA
## 4 ABW Aruba 1963 NA NA NA NA
## 5 ABW Aruba 1964 NA NA NA NA
## 6 ABW Aruba 1965 NA NA NA NA
## 7 ABW Aruba 1966 NA NA NA NA
## 8 ABW Aruba 1967 NA NA NA NA
## 9 ABW Aruba 1968 NA NA NA NA
## 10 ABW Aruba 1969 NA NA NA NA
## # ℹ 13,444 more rows
#Filter data set to same time range before join (>= 1990)
wb_econ_data <- wb_econ_data |>
rename(country = country_name) |>
filter(year >= "1990")
wb_econ_data
## # A tibble: 6,944 × 7
## iso3c country year gdp gdp_ppp gni gni_ppp
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 ABW Aruba 1990 764804469. 1363755809. 757039106. 1348704439.
## 2 ABW Aruba 1991 872067039. 1522141299. 864301676. 1507408172.
## 3 ABW Aruba 1992 958659218. 1648407758. 948994413. 1630343441.
## 4 ABW Aruba 1993 1083240223. 1810796527. 1065363128. 1778312497.
## 5 ABW Aruba 1994 1245810056. 2001192964. 1225810056. 1966271278.
## 6 ABW Aruba 1995 1320670391. 2095198113. 1305474860. 2068993690.
## 7 ABW Aruba 1996 1379888268. 2158860032. 1362067039. 2128552799.
## 8 ABW Aruba 1997 1531843575. 2350843673. 1508659218. 2312168482.
## 9 ABW Aruba 1998 1665363128. 2424658707. 1659776536. 2415817395.
## 10 ABW Aruba 1999 1722905028. 2489269109. 1680223464. 2422237613.
## # ℹ 6,934 more rows
#Join 4: Add Regions
wb_reg <- wb_econ_data |>
left_join(wb_regions, by = c("iso3c", "country"))
#Join 5: Add Growth Rates (do later once API catches up to IMF)
#Join 6: Add Health Expenditure
wb_data <- wb_reg |>
left_join(wb_health_exp, by = c("iso3c", "country", "year"))
wb_data
## # A tibble: 6,944 × 10
## iso3c country year gdp gdp_ppp gni gni_ppp region income_level
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
## 1 ABW Aruba 1990 764804469. 1.36e9 7.57e8 1.35e9 Latin… High income
## 2 ABW Aruba 1991 872067039. 1.52e9 8.64e8 1.51e9 Latin… High income
## 3 ABW Aruba 1992 958659218. 1.65e9 9.49e8 1.63e9 Latin… High income
## 4 ABW Aruba 1993 1083240223. 1.81e9 1.07e9 1.78e9 Latin… High income
## 5 ABW Aruba 1994 1245810056. 2.00e9 1.23e9 1.97e9 Latin… High income
## 6 ABW Aruba 1995 1320670391. 2.10e9 1.31e9 2.07e9 Latin… High income
## 7 ABW Aruba 1996 1379888268. 2.16e9 1.36e9 2.13e9 Latin… High income
## 8 ABW Aruba 1997 1531843575. 2.35e9 1.51e9 2.31e9 Latin… High income
## 9 ABW Aruba 1998 1665363128. 2.42e9 1.66e9 2.42e9 Latin… High income
## 10 ABW Aruba 1999 1722905028. 2.49e9 1.68e9 2.42e9 Latin… High income
## # ℹ 6,934 more rows
## # ℹ 1 more variable: gdp_health <dbl>
Look for any unique or missing values, it appears there are 712 missing observations for GDP/GNI measurements for countries. These can be tolerated for analysis as we are looking at global trends and more interested in disease trends.
#Take a look at data so far using glimpse() command
glimpse(wb_data)
## Rows: 6,944
## Columns: 10
## $ iso3c <chr> "ABW", "ABW", "ABW", "ABW", "ABW", "ABW", "ABW", "ABW", "…
## $ country <chr> "Aruba", "Aruba", "Aruba", "Aruba", "Aruba", "Aruba", "Ar…
## $ year <dbl> 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 199…
## $ gdp <dbl> 764804469, 872067039, 958659218, 1083240223, 1245810056, …
## $ gdp_ppp <dbl> 1363755809, 1522141299, 1648407758, 1810796527, 200119296…
## $ gni <dbl> 757039106, 864301676, 948994413, 1065363128, 1225810056, …
## $ gni_ppp <dbl> 1348704439, 1507408172, 1630343441, 1778312497, 196627127…
## $ region <chr> "Latin America & Caribbean", "Latin America & Caribbean",…
## $ income_level <chr> "High income", "High income", "High income", "High income…
## $ gdp_health <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#Show unique countries & values
#Show unique missing values
unique_missing_obs <- wb_data %>%
filter(!complete.cases(.)) %>%
distinct()
#What's missing from keys
wb_data |>
filter(is.na(iso3c) | is.na(country) | is.na(year) | is.na(region)) |>
select(iso3c, country, year, region) |>
unique()
## # A tibble: 0 × 4
## # ℹ 4 variables: iso3c <chr>, country <chr>, year <dbl>, region <chr>
#What's missing from indicators
wb_data |>
filter(is.na(gdp) | is.na(gdp_ppp) | is.na(gni) | is.na(gni_ppp)) |>
select(country, gdp, gdp_ppp, gni, gni_ppp) |>
unique()
## # A tibble: 712 × 5
## country gdp gdp_ppp gni gni_ppp
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Afghanistan NA NA NA NA
## 2 Afghanistan 3854235264. 19805683002. NA NA
## 3 Afghanistan 4539500884. 21980384806. NA NA
## 4 Afghanistan 5220823685. 22889600504. NA NA
## 5 Afghanistan 6226199249. 26258419344. NA NA
## 6 Afghanistan 6971379033. 28518821098. NA NA
## 7 Afghanistan 9715761650. 33339216567. NA NA
## 8 Afghanistan 10249767311. 35312296534. NA NA
## 9 Andorra 1029048482. NA NA NA
## 10 Andorra 1106928583. NA NA NA
## # ℹ 702 more rows
Load in VPD case data (Source: WHO VPD Immunization Data). We will need to clean up the Tetanus observations as there are some for both total tetanus and neonatal tetanus. While this stratification is important it is not relevant to this particular analysis. We can drop the neonatal tetanus observations since they are assumed to be included in the “total tetanus” observations. Then using “mutate” we can rename “Total tetatnus” descriptions to simply “Tetanus”. Finally using the naniar package in R we can summarize our missingness to see it is limited solely to case data for a number of countries. Given the time range and purpose of this assignment we can tolerate these missing values for now, although the fact that they include the entire date range and all countries in the data set some more specific questions and filtering are needed for in-depth analysis and modelling.
#| warning: false
#Load in Incidence Rate
vpd_ir <- read_excel("C:/Users/joeau/OneDrive - Johns Hopkins/SAIS/Year 2/Sustainable Finance/final_project/00_data_raw/VPDs/vpd_incidence_rate_2021.xlsx") |>
rename(group = GROUP, iso3c =CODE, country = NAME, year = YEAR, disease = DISEASE, disease_desc = DISEASE_DESCRIPTION, units= DENOMINATOR, ir = INCIDENCE_RATE) |>
filter(group == "COUNTRIES")
vpd_ir
## # A tibble: 76,842 × 8
## group iso3c country year disease disease_desc units ir
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <dbl>
## 1 COUNTRIES ABW Aruba 2021 CRS Congenital rubella synd… per … 0
## 2 COUNTRIES ABW Aruba 2021 DIPHTHERIA Diphtheria per … 0
## 3 COUNTRIES ABW Aruba 2021 MEASLES Measles per … 0
## 4 COUNTRIES ABW Aruba 2021 MUMPS Mumps per … 0
## 5 COUNTRIES ABW Aruba 2021 NTETANUS Neonatal tetanus per … 0
## 6 COUNTRIES ABW Aruba 2021 PERTUSSIS Pertussis per … 0
## 7 COUNTRIES ABW Aruba 2021 POLIO Poliomyelitis per … 0
## 8 COUNTRIES ABW Aruba 2021 RUBELLA Rubella per … 0
## 9 COUNTRIES ABW Aruba 2021 TTETANUS Total tetanus per … 0
## 10 COUNTRIES ABW Aruba 2021 YFEVER Yellow fever per … 0
## # ℹ 76,832 more rows
#Load in Case Data
vpd_cases <- read_excel("C:/Users/joeau/OneDrive - Johns Hopkins/SAIS/Year 2/Sustainable Finance/final_project/00_data_raw/VPDs/vpd_reported_cases_2021.xlsx") |>
rename(group = GROUP, iso3c =CODE, country = NAME, year = YEAR, disease = DISEASE, disease_desc = DISEASE_DESCRIPTION, cases = CASES) |>
filter(group == "COUNTRIES")
#View unique diseases
vpd_cases |>
select(disease, disease_desc) |>
unique() |>
view()
#View unique diseases
vpd_ir |>
select(disease, disease_desc) |>
unique() |>
view()
#No need to keep neonatal tetanus for this analysis, drop and keep total tetanus
vpd_cases <- vpd_cases |>
filter(!(disease_desc=="Neonatal tetanus"))
vpd_ir <- vpd_ir |>
filter(!(disease_desc=="Neonatal tetanus"))
#Rename "Total tetanus" to just tetanus
vpd_cases <- vpd_cases |>
mutate(disease_desc = ifelse(disease_desc == "Total tetanus", "Tetanus", disease_desc))
vpd_cases |>
select(disease, disease_desc) |>
unique() |>
view()
vpd_ir <- vpd_ir |>
mutate(disease_desc = ifelse(disease_desc == "Total tetanus", "Tetanus", disease_desc))
vpd_ir |>
select(disease, disease_desc) |>
unique() |>
view()
#Check missingness
miss_var_summary(vpd_cases)
## # A tibble: 7 × 3
## variable n_miss pct_miss
## <chr> <int> <dbl>
## 1 cases 16907 24.8
## 2 group 0 0
## 3 iso3c 0 0
## 4 country 0 0
## 5 year 0 0
## 6 disease 0 0
## 7 disease_desc 0 0
vpd_cases |>
filter(is.na(cases)) |>
select(year) |>
unique() |>
view()
vpd_cases |>
filter(is.na(cases)) |>
select(country) |>
unique() |>
view()
#VPD cases data
vpd_cases
## # A tibble: 68,221 × 7
## group iso3c country year disease disease_desc cases
## <chr> <chr> <chr> <dbl> <chr> <chr> <dbl>
## 1 COUNTRIES ABW Aruba 2021 RUBELLA Rubella 0
## 2 COUNTRIES ABW Aruba 2021 POLIO Poliomyelitis 0
## 3 COUNTRIES ABW Aruba 2021 TTETANUS Tetanus 0
## 4 COUNTRIES ABW Aruba 2021 CRS Congenital rubella syndrome 0
## 5 COUNTRIES ABW Aruba 2021 MEASLES Measles 0
## 6 COUNTRIES ABW Aruba 2021 PERTUSSIS Pertussis 0
## 7 COUNTRIES ABW Aruba 2021 YFEVER Yellow fever 0
## 8 COUNTRIES ABW Aruba 2021 DIPHTHERIA Diphtheria 0
## 9 COUNTRIES ABW Aruba 2021 MUMPS Mumps 0
## 10 COUNTRIES ABW Aruba 2019 CRS Congenital rubella syndrome 0
## # ℹ 68,211 more rows
Join country cases and incidence data (Source: WHO VPD Immunization Data). Missingness after the join is relatively the same between cases and ir.
#| echo: false
#| warning: false
#Mutate VPD tables with new unique identifier for joins
vpd_case_key = mutate(vpd_cases,
id = paste(iso3c, year, disease, sep = '_'))
vpd_case_key
## # A tibble: 68,221 × 8
## group iso3c country year disease disease_desc cases id
## <chr> <chr> <chr> <dbl> <chr> <chr> <dbl> <chr>
## 1 COUNTRIES ABW Aruba 2021 RUBELLA Rubella 0 ABW_…
## 2 COUNTRIES ABW Aruba 2021 POLIO Poliomyelitis 0 ABW_…
## 3 COUNTRIES ABW Aruba 2021 TTETANUS Tetanus 0 ABW_…
## 4 COUNTRIES ABW Aruba 2021 CRS Congenital rubella synd… 0 ABW_…
## 5 COUNTRIES ABW Aruba 2021 MEASLES Measles 0 ABW_…
## 6 COUNTRIES ABW Aruba 2021 PERTUSSIS Pertussis 0 ABW_…
## 7 COUNTRIES ABW Aruba 2021 YFEVER Yellow fever 0 ABW_…
## 8 COUNTRIES ABW Aruba 2021 DIPHTHERIA Diphtheria 0 ABW_…
## 9 COUNTRIES ABW Aruba 2021 MUMPS Mumps 0 ABW_…
## 10 COUNTRIES ABW Aruba 2019 CRS Congenital rubella synd… 0 ABW_…
## # ℹ 68,211 more rows
vpd_ir_key = mutate(vpd_ir,
id = paste(iso3c, year, disease, sep = '_'))
vpd_ir_key
## # A tibble: 68,221 × 9
## group iso3c country year disease disease_desc units ir id
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <dbl> <chr>
## 1 COUNTRIES ABW Aruba 2021 CRS Congenital rubell… per … 0 ABW_…
## 2 COUNTRIES ABW Aruba 2021 DIPHTHERIA Diphtheria per … 0 ABW_…
## 3 COUNTRIES ABW Aruba 2021 MEASLES Measles per … 0 ABW_…
## 4 COUNTRIES ABW Aruba 2021 MUMPS Mumps per … 0 ABW_…
## 5 COUNTRIES ABW Aruba 2021 PERTUSSIS Pertussis per … 0 ABW_…
## 6 COUNTRIES ABW Aruba 2021 POLIO Poliomyelitis per … 0 ABW_…
## 7 COUNTRIES ABW Aruba 2021 RUBELLA Rubella per … 0 ABW_…
## 8 COUNTRIES ABW Aruba 2021 TTETANUS Tetanus per … 0 ABW_…
## 9 COUNTRIES ABW Aruba 2021 YFEVER Yellow fever per … 0 ABW_…
## 10 COUNTRIES ABW Aruba 2019 CRS Congenital rubell… per … 0 ABW_…
## # ℹ 68,211 more rows
#Change order of columns to put unique id in front for left join
vpd_case_key <- vpd_case_key[,c(8,1,2,3,4,5,6,7)]
vpd_ir_key <- vpd_ir_key[,c(9,1,2,3,4,5,6,7,8)]
#Left join ir to cases
vpd <- vpd_case_key |>
left_join(vpd_ir_key, by = c("id", "group", "iso3c", "country", "year", "disease", "disease_desc"))
#Check missingness
miss_var_summary(vpd)
## # A tibble: 10 × 3
## variable n_miss pct_miss
## <chr> <int> <dbl>
## 1 ir 16923 24.8
## 2 cases 16907 24.8
## 3 id 0 0
## 4 group 0 0
## 5 iso3c 0 0
## 6 country 0 0
## 7 year 0 0
## 8 disease 0 0
## 9 disease_desc 0 0
## 10 units 0 0
vpd
## # A tibble: 68,221 × 10
## id group iso3c country year disease disease_desc cases units ir
## <chr> <chr> <chr> <chr> <dbl> <chr> <chr> <dbl> <chr> <dbl>
## 1 ABW_2021_RU… COUN… ABW Aruba 2021 RUBELLA Rubella 0 per … 0
## 2 ABW_2021_PO… COUN… ABW Aruba 2021 POLIO Poliomyelit… 0 per … 0
## 3 ABW_2021_TT… COUN… ABW Aruba 2021 TTETAN… Tetanus 0 per … 0
## 4 ABW_2021_CRS COUN… ABW Aruba 2021 CRS Congenital … 0 per … 0
## 5 ABW_2021_ME… COUN… ABW Aruba 2021 MEASLES Measles 0 per … 0
## 6 ABW_2021_PE… COUN… ABW Aruba 2021 PERTUS… Pertussis 0 per … 0
## 7 ABW_2021_YF… COUN… ABW Aruba 2021 YFEVER Yellow fever 0 per … 0
## 8 ABW_2021_DI… COUN… ABW Aruba 2021 DIPHTH… Diphtheria 0 per … 0
## 9 ABW_2021_MU… COUN… ABW Aruba 2021 MUMPS Mumps 0 per … 0
## 10 ABW_2019_CRS COUN… ABW Aruba 2019 CRS Congenital … 0 per … 0
## # ℹ 68,211 more rows
Now to add VPD immunization coverage (data source: WHO VPD Vaccination Coverage). There is a high rate of missing data in source data, let’s check where it is. It again spans all countries, years, and diseases so we will have to tailor findings and explanations accordingly. We need to take out target coverage and doses and filter on the official collection method to simplify out vaccination coverage data for the least amount of missingness and higher accuracy.
#| echo: false
#| warning: false
#Load in VPD Immunization Coverage
vpd_vax <- read_excel("C:/Users/joeau/OneDrive - Johns Hopkins/SAIS/Year 2/Sustainable Finance/final_project/00_data_raw/VPDs/vpd_vax_coverage_2021.xlsx") |>
rename(group = GROUP, iso3c =CODE, country = NAME, year = YEAR, antig = ANTIGEN, antig_desc = ANTIGEN_DESCRIPTION, disease = DISEASE, coverage_cat = COVERAGE_CATEGORY, cov_cat_desc = COVERAGE_CATEGORY_DESCRIPTION, targ_number = TARGET_NUMBER, doses = DOSES, coverage = COVERAGE) |>
filter(group == "COUNTRIES")
vpd_vax
## # A tibble: 328,351 × 12
## group iso3c country year antig antig_desc disease coverage_cat cov_cat_desc
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 COUNT… ABW Aruba 2021 BCG BCG TB ADMIN Administrat…
## 2 COUNT… ABW Aruba 2021 BCG BCG TB OFFICIAL Official co…
## 3 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… ADMIN Administrat…
## 4 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… OFFICIAL Official co…
## 5 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… ADMIN Administrat…
## 6 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… OFFICIAL Official co…
## 7 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… ADMIN Administrat…
## 8 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… OFFICIAL Official co…
## 9 COUNT… ABW Aruba 2021 DTPC… DTP-conta… DIPTHE… ADMIN Administrat…
## 10 COUNT… ABW Aruba 2021 DTPC… DTP-conta… DIPTHE… OFFICIAL Official co…
## # ℹ 328,341 more rows
## # ℹ 3 more variables: targ_number <dbl>, doses <dbl>, coverage <dbl>
#Check missingness of original data
miss_var_summary(vpd_vax)
## # A tibble: 12 × 3
## variable n_miss pct_miss
## <chr> <int> <dbl>
## 1 targ_number 277849 84.6
## 2 doses 277721 84.6
## 3 coverage 140039 42.6
## 4 group 0 0
## 5 iso3c 0 0
## 6 country 0 0
## 7 year 0 0
## 8 antig 0 0
## 9 antig_desc 0 0
## 10 disease 0 0
## 11 coverage_cat 0 0
## 12 cov_cat_desc 0 0
vpd_vax |>
filter(is.na(coverage) | is.na(doses) | is.na(targ_number)) |>
select(year) |>
unique() |>
view()
vpd_vax |>
filter(is.na(coverage) | is.na(doses) | is.na(targ_number)) |>
select(country) |>
unique() |>
view()
vpd_vax |>
filter(is.na(coverage) | is.na(doses) | is.na(targ_number)) |>
select(disease) |>
unique() |>
view()
#Mutate VPD vax coverage with new unique identifier for joins
vpd_vax_key = mutate(vpd_vax,
id = paste(iso3c, year, disease, sep = '_'))
vpd_vax_key
## # A tibble: 328,351 × 13
## group iso3c country year antig antig_desc disease coverage_cat cov_cat_desc
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 COUNT… ABW Aruba 2021 BCG BCG TB ADMIN Administrat…
## 2 COUNT… ABW Aruba 2021 BCG BCG TB OFFICIAL Official co…
## 3 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… ADMIN Administrat…
## 4 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… OFFICIAL Official co…
## 5 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… ADMIN Administrat…
## 6 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… OFFICIAL Official co…
## 7 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… ADMIN Administrat…
## 8 COUNT… ABW Aruba 2021 DIPH… Diphtheri… DIPTHE… OFFICIAL Official co…
## 9 COUNT… ABW Aruba 2021 DTPC… DTP-conta… DIPTHE… ADMIN Administrat…
## 10 COUNT… ABW Aruba 2021 DTPC… DTP-conta… DIPTHE… OFFICIAL Official co…
## # ℹ 328,341 more rows
## # ℹ 4 more variables: targ_number <dbl>, doses <dbl>, coverage <dbl>, id <chr>
vpd_vax_key <- vpd_vax_key[,c(13,1,2,3,4,5,6,7,8,9,10,11,12)]
#Look at unique vax & vax/disease match up
vpd_vax_key |>
select(antig_desc) |>
unique() |>
view()
vpd_vax_key |>
select(disease, antig_desc) |>
unique() |>
view()
#Filter down to official coverage, don't need other estimate methods
vpd_vax_key <- vpd_vax_key |>
filter((coverage_cat=="OFFICIAL")) |>
select(-c(targ_number,doses))
#Join Vax coverage with
vpd_combo <- vpd |>
left_join(vpd_vax_key, by = c("id", "group", "iso3c", "country", "year", "disease"))
vpd_combo
## # A tibble: 78,597 × 15
## id group iso3c country year disease disease_desc cases units ir antig
## <chr> <chr> <chr> <chr> <dbl> <chr> <chr> <dbl> <chr> <dbl> <chr>
## 1 ABW_2… COUN… ABW Aruba 2021 RUBELLA Rubella 0 per … 0 RCV1
## 2 ABW_2… COUN… ABW Aruba 2021 POLIO Poliomyelit… 0 per … 0 IPV1
## 3 ABW_2… COUN… ABW Aruba 2021 POLIO Poliomyelit… 0 per … 0 IPV1…
## 4 ABW_2… COUN… ABW Aruba 2021 POLIO Poliomyelit… 0 per … 0 IPV2
## 5 ABW_2… COUN… ABW Aruba 2021 POLIO Poliomyelit… 0 per … 0 IPV2…
## 6 ABW_2… COUN… ABW Aruba 2021 POLIO Poliomyelit… 0 per … 0 POL3
## 7 ABW_2… COUN… ABW Aruba 2021 TTETAN… Tetanus 0 per … 0 TT2P…
## 8 ABW_2… COUN… ABW Aruba 2021 TTETAN… Tetanus 0 per … 0 TTCV4
## 9 ABW_2… COUN… ABW Aruba 2021 TTETAN… Tetanus 0 per … 0 TTCV5
## 10 ABW_2… COUN… ABW Aruba 2021 TTETAN… Tetanus 0 per … 0 TTCV6
## # ℹ 78,587 more rows
## # ℹ 4 more variables: antig_desc <chr>, coverage_cat <chr>, cov_cat_desc <chr>,
## # coverage <dbl>
#check missingness
miss_var_summary(vpd_combo)
## # A tibble: 15 × 3
## variable n_miss pct_miss
## <chr> <int> <dbl>
## 1 coverage 51979 66.1
## 2 antig 35599 45.3
## 3 antig_desc 35599 45.3
## 4 coverage_cat 35599 45.3
## 5 cov_cat_desc 35599 45.3
## 6 ir 17840 22.7
## 7 cases 17823 22.7
## 8 id 0 0
## 9 group 0 0
## 10 iso3c 0 0
## 11 country 0 0
## 12 year 0 0
## 13 disease 0 0
## 14 disease_desc 0 0
## 15 units 0 0
Load in VPD immunization coverage. (Source: Our World in Data COVID-19). Cases and vaccinations are again missing a significant amount of values in the source data. To join this data to our VPD data we need to convert doses of vaccines given to coverage, this is a rough estimate for two reasons:
COVID-19 doses are not always = to vaccination (depending on person, vaccine type, and timing of pandemic regulations)
This is a rough estimate (similar to administrative method) unlike the official method used for VPDs
#| echo: false
#| warning: false
#Load in Case & vax Coverage Data
covid <- fread("C:/Users/joeau/OneDrive - Johns Hopkins/SAIS/Year 2/Sustainable Finance/final_project/00_data_raw/COVID/owid-covid-data.csv",
select = c("iso_code","continent","location","date","new_cases","new_deaths","people_fully_vaccinated")) |>
filter(!grepl("OWID", iso_code))
covid
## iso_code continent location date new_cases new_deaths
## 1: AFG Asia Afghanistan 1/3/2020 0 0
## 2: AFG Asia Afghanistan 1/4/2020 0 0
## 3: AFG Asia Afghanistan 1/5/2020 0 0
## 4: AFG Asia Afghanistan 1/6/2020 0 0
## 5: AFG Asia Afghanistan 1/7/2020 0 0
## ---
## 280146: ZWE Africa Zimbabwe 4/1/2023 7 0
## 280147: ZWE Africa Zimbabwe 4/2/2023 0 0
## 280148: ZWE Africa Zimbabwe 4/3/2023 6 0
## 280149: ZWE Africa Zimbabwe 4/4/2023 0 0
## 280150: ZWE Africa Zimbabwe 4/5/2023 0 0
## people_fully_vaccinated
## 1: <NA>
## 2: <NA>
## 3: <NA>
## 4: <NA>
## 5: <NA>
## ---
## 280146: <NA>
## 280147: <NA>
## 280148: <NA>
## 280149: <NA>
## 280150: <NA>
#missingness
miss_var_summary(covid)
## # A tibble: 7 × 3
## variable n_miss pct_miss
## <chr> <int> <dbl>
## 1 people_fully_vaccinated 225509 80.5
## 2 new_cases 3311 1.18
## 3 new_deaths 3207 1.14
## 4 iso_code 0 0
## 5 continent 0 0
## 6 location 0 0
## 7 date 0 0
#Need to aggregate cases and vax by Country by Month, Year
covid_date <- covid |>
rename(iso3c = iso_code, country = location) |>
separate_wider_delim(date, "/", names = c("month","day","year")) |>
transform(year = as.numeric(year)) |>
filter(month == 12,
day == 31)
covid_date
## iso3c continent country month day year
## 1 AFG Asia Afghanistan 12 31 2020
## 2 AFG Asia Afghanistan 12 31 2021
## 3 AFG Asia Afghanistan 12 31 2022
## 4 ALB Europe Albania 12 31 2020
## 5 ALB Europe Albania 12 31 2021
## 6 ALB Europe Albania 12 31 2022
## 7 DZA Africa Algeria 12 31 2020
## 8 DZA Africa Algeria 12 31 2021
## 9 DZA Africa Algeria 12 31 2022
## 10 ASM Oceania American Samoa 12 31 2020
## 11 ASM Oceania American Samoa 12 31 2021
## 12 ASM Oceania American Samoa 12 31 2022
## 13 AND Europe Andorra 12 31 2020
## 14 AND Europe Andorra 12 31 2021
## 15 AND Europe Andorra 12 31 2022
## 16 AGO Africa Angola 12 31 2020
## 17 AGO Africa Angola 12 31 2021
## 18 AGO Africa Angola 12 31 2022
## 19 AIA North America Anguilla 12 31 2020
## 20 AIA North America Anguilla 12 31 2021
## 21 AIA North America Anguilla 12 31 2022
## 22 ATG North America Antigua and Barbuda 12 31 2020
## 23 ATG North America Antigua and Barbuda 12 31 2021
## 24 ATG North America Antigua and Barbuda 12 31 2022
## 25 ARG South America Argentina 12 31 2020
## 26 ARG South America Argentina 12 31 2021
## 27 ARG South America Argentina 12 31 2022
## 28 ARM Asia Armenia 12 31 2020
## 29 ARM Asia Armenia 12 31 2021
## 30 ARM Asia Armenia 12 31 2022
## 31 ABW North America Aruba 12 31 2020
## 32 ABW North America Aruba 12 31 2021
## 33 ABW North America Aruba 12 31 2022
## 34 AUS Oceania Australia 12 31 2020
## 35 AUS Oceania Australia 12 31 2021
## 36 AUS Oceania Australia 12 31 2022
## 37 AUT Europe Austria 12 31 2020
## 38 AUT Europe Austria 12 31 2021
## 39 AUT Europe Austria 12 31 2022
## 40 AZE Asia Azerbaijan 12 31 2020
## 41 AZE Asia Azerbaijan 12 31 2021
## 42 AZE Asia Azerbaijan 12 31 2022
## 43 BHS North America Bahamas 12 31 2020
## 44 BHS North America Bahamas 12 31 2021
## 45 BHS North America Bahamas 12 31 2022
## 46 BHR Asia Bahrain 12 31 2020
## 47 BHR Asia Bahrain 12 31 2021
## 48 BHR Asia Bahrain 12 31 2022
## 49 BGD Asia Bangladesh 12 31 2020
## 50 BGD Asia Bangladesh 12 31 2021
## 51 BGD Asia Bangladesh 12 31 2022
## 52 BRB North America Barbados 12 31 2020
## 53 BRB North America Barbados 12 31 2021
## 54 BRB North America Barbados 12 31 2022
## 55 BLR Europe Belarus 12 31 2020
## 56 BLR Europe Belarus 12 31 2021
## 57 BLR Europe Belarus 12 31 2022
## 58 BEL Europe Belgium 12 31 2020
## 59 BEL Europe Belgium 12 31 2021
## 60 BEL Europe Belgium 12 31 2022
## 61 BLZ North America Belize 12 31 2020
## 62 BLZ North America Belize 12 31 2021
## 63 BLZ North America Belize 12 31 2022
## 64 BEN Africa Benin 12 31 2020
## 65 BEN Africa Benin 12 31 2021
## 66 BEN Africa Benin 12 31 2022
## 67 BMU North America Bermuda 12 31 2020
## 68 BMU North America Bermuda 12 31 2021
## 69 BMU North America Bermuda 12 31 2022
## 70 BTN Asia Bhutan 12 31 2020
## 71 BTN Asia Bhutan 12 31 2021
## 72 BTN Asia Bhutan 12 31 2022
## 73 BOL South America Bolivia 12 31 2020
## 74 BOL South America Bolivia 12 31 2021
## 75 BOL South America Bolivia 12 31 2022
## 76 BES North America Bonaire Sint Eustatius and Saba 12 31 2020
## 77 BES North America Bonaire Sint Eustatius and Saba 12 31 2021
## 78 BES North America Bonaire Sint Eustatius and Saba 12 31 2022
## 79 BIH Europe Bosnia and Herzegovina 12 31 2020
## 80 BIH Europe Bosnia and Herzegovina 12 31 2021
## 81 BIH Europe Bosnia and Herzegovina 12 31 2022
## 82 BWA Africa Botswana 12 31 2020
## 83 BWA Africa Botswana 12 31 2021
## 84 BWA Africa Botswana 12 31 2022
## 85 BRA South America Brazil 12 31 2020
## 86 BRA South America Brazil 12 31 2021
## 87 BRA South America Brazil 12 31 2022
## 88 VGB North America British Virgin Islands 12 31 2020
## 89 VGB North America British Virgin Islands 12 31 2021
## 90 VGB North America British Virgin Islands 12 31 2022
## 91 BRN Asia Brunei 12 31 2020
## 92 BRN Asia Brunei 12 31 2021
## 93 BRN Asia Brunei 12 31 2022
## 94 BGR Europe Bulgaria 12 31 2020
## 95 BGR Europe Bulgaria 12 31 2021
## 96 BGR Europe Bulgaria 12 31 2022
## 97 BFA Africa Burkina Faso 12 31 2020
## 98 BFA Africa Burkina Faso 12 31 2021
## 99 BFA Africa Burkina Faso 12 31 2022
## 100 BDI Africa Burundi 12 31 2020
## 101 BDI Africa Burundi 12 31 2021
## 102 BDI Africa Burundi 12 31 2022
## 103 KHM Asia Cambodia 12 31 2020
## 104 KHM Asia Cambodia 12 31 2021
## 105 KHM Asia Cambodia 12 31 2022
## 106 CMR Africa Cameroon 12 31 2020
## 107 CMR Africa Cameroon 12 31 2021
## 108 CMR Africa Cameroon 12 31 2022
## 109 CAN North America Canada 12 31 2020
## 110 CAN North America Canada 12 31 2021
## 111 CAN North America Canada 12 31 2022
## 112 CPV Africa Cape Verde 12 31 2020
## 113 CPV Africa Cape Verde 12 31 2021
## 114 CPV Africa Cape Verde 12 31 2022
## 115 CYM North America Cayman Islands 12 31 2020
## 116 CYM North America Cayman Islands 12 31 2021
## 117 CYM North America Cayman Islands 12 31 2022
## 118 CAF Africa Central African Republic 12 31 2020
## 119 CAF Africa Central African Republic 12 31 2021
## 120 CAF Africa Central African Republic 12 31 2022
## 121 TCD Africa Chad 12 31 2020
## 122 TCD Africa Chad 12 31 2021
## 123 TCD Africa Chad 12 31 2022
## 124 CHL South America Chile 12 31 2020
## 125 CHL South America Chile 12 31 2021
## 126 CHL South America Chile 12 31 2022
## 127 CHN Asia China 12 31 2020
## 128 CHN Asia China 12 31 2021
## 129 CHN Asia China 12 31 2022
## 130 COL South America Colombia 12 31 2020
## 131 COL South America Colombia 12 31 2021
## 132 COL South America Colombia 12 31 2022
## 133 COM Africa Comoros 12 31 2020
## 134 COM Africa Comoros 12 31 2021
## 135 COM Africa Comoros 12 31 2022
## 136 COG Africa Congo 12 31 2020
## 137 COG Africa Congo 12 31 2021
## 138 COG Africa Congo 12 31 2022
## 139 COK Oceania Cook Islands 12 31 2020
## 140 COK Oceania Cook Islands 12 31 2021
## 141 COK Oceania Cook Islands 12 31 2022
## 142 CRI North America Costa Rica 12 31 2020
## 143 CRI North America Costa Rica 12 31 2021
## 144 CRI North America Costa Rica 12 31 2022
## 145 CIV Africa Cote d'Ivoire 12 31 2020
## 146 CIV Africa Cote d'Ivoire 12 31 2021
## 147 CIV Africa Cote d'Ivoire 12 31 2022
## 148 HRV Europe Croatia 12 31 2020
## 149 HRV Europe Croatia 12 31 2021
## 150 HRV Europe Croatia 12 31 2022
## 151 CUB North America Cuba 12 31 2020
## 152 CUB North America Cuba 12 31 2021
## 153 CUB North America Cuba 12 31 2022
## 154 CUW North America Curacao 12 31 2020
## 155 CUW North America Curacao 12 31 2021
## 156 CUW North America Curacao 12 31 2022
## 157 CYP Europe Cyprus 12 31 2020
## 158 CYP Europe Cyprus 12 31 2021
## 159 CYP Europe Cyprus 12 31 2022
## 160 CZE Europe Czechia 12 31 2020
## 161 CZE Europe Czechia 12 31 2021
## 162 CZE Europe Czechia 12 31 2022
## 163 COD Africa Democratic Republic of Congo 12 31 2020
## 164 COD Africa Democratic Republic of Congo 12 31 2021
## 165 COD Africa Democratic Republic of Congo 12 31 2022
## 166 DNK Europe Denmark 12 31 2020
## 167 DNK Europe Denmark 12 31 2021
## 168 DNK Europe Denmark 12 31 2022
## 169 DJI Africa Djibouti 12 31 2020
## 170 DJI Africa Djibouti 12 31 2021
## 171 DJI Africa Djibouti 12 31 2022
## 172 DMA North America Dominica 12 31 2020
## 173 DMA North America Dominica 12 31 2021
## 174 DMA North America Dominica 12 31 2022
## 175 DOM North America Dominican Republic 12 31 2020
## 176 DOM North America Dominican Republic 12 31 2021
## 177 DOM North America Dominican Republic 12 31 2022
## 178 ECU South America Ecuador 12 31 2020
## 179 ECU South America Ecuador 12 31 2021
## 180 ECU South America Ecuador 12 31 2022
## 181 EGY Africa Egypt 12 31 2020
## 182 EGY Africa Egypt 12 31 2021
## 183 EGY Africa Egypt 12 31 2022
## 184 SLV North America El Salvador 12 31 2020
## 185 SLV North America El Salvador 12 31 2021
## 186 SLV North America El Salvador 12 31 2022
## 187 GNQ Africa Equatorial Guinea 12 31 2020
## 188 GNQ Africa Equatorial Guinea 12 31 2021
## 189 GNQ Africa Equatorial Guinea 12 31 2022
## 190 ERI Africa Eritrea 12 31 2020
## 191 ERI Africa Eritrea 12 31 2021
## 192 ERI Africa Eritrea 12 31 2022
## 193 EST Europe Estonia 12 31 2020
## 194 EST Europe Estonia 12 31 2021
## 195 EST Europe Estonia 12 31 2022
## 196 SWZ Africa Eswatini 12 31 2020
## 197 SWZ Africa Eswatini 12 31 2021
## 198 SWZ Africa Eswatini 12 31 2022
## 199 ETH Africa Ethiopia 12 31 2020
## 200 ETH Africa Ethiopia 12 31 2021
## 201 ETH Africa Ethiopia 12 31 2022
## 202 FRO Europe Faeroe Islands 12 31 2020
## 203 FRO Europe Faeroe Islands 12 31 2021
## 204 FRO Europe Faeroe Islands 12 31 2022
## 205 FLK South America Falkland Islands 12 31 2020
## 206 FLK South America Falkland Islands 12 31 2021
## 207 FLK South America Falkland Islands 12 31 2022
## 208 FJI Oceania Fiji 12 31 2020
## 209 FJI Oceania Fiji 12 31 2021
## 210 FJI Oceania Fiji 12 31 2022
## 211 FIN Europe Finland 12 31 2020
## 212 FIN Europe Finland 12 31 2021
## 213 FIN Europe Finland 12 31 2022
## 214 FRA Europe France 12 31 2020
## 215 FRA Europe France 12 31 2021
## 216 FRA Europe France 12 31 2022
## 217 GUF South America French Guiana 12 31 2020
## 218 GUF South America French Guiana 12 31 2021
## 219 GUF South America French Guiana 12 31 2022
## 220 PYF Oceania French Polynesia 12 31 2020
## 221 PYF Oceania French Polynesia 12 31 2021
## 222 PYF Oceania French Polynesia 12 31 2022
## 223 GAB Africa Gabon 12 31 2020
## 224 GAB Africa Gabon 12 31 2021
## 225 GAB Africa Gabon 12 31 2022
## 226 GMB Africa Gambia 12 31 2020
## 227 GMB Africa Gambia 12 31 2021
## 228 GMB Africa Gambia 12 31 2022
## 229 GEO Asia Georgia 12 31 2020
## 230 GEO Asia Georgia 12 31 2021
## 231 GEO Asia Georgia 12 31 2022
## 232 DEU Europe Germany 12 31 2020
## 233 DEU Europe Germany 12 31 2021
## 234 DEU Europe Germany 12 31 2022
## 235 GHA Africa Ghana 12 31 2020
## 236 GHA Africa Ghana 12 31 2021
## 237 GHA Africa Ghana 12 31 2022
## 238 GIB Europe Gibraltar 12 31 2020
## 239 GIB Europe Gibraltar 12 31 2021
## 240 GIB Europe Gibraltar 12 31 2022
## 241 GRC Europe Greece 12 31 2020
## 242 GRC Europe Greece 12 31 2021
## 243 GRC Europe Greece 12 31 2022
## 244 GRL North America Greenland 12 31 2020
## 245 GRL North America Greenland 12 31 2021
## 246 GRL North America Greenland 12 31 2022
## 247 GRD North America Grenada 12 31 2020
## 248 GRD North America Grenada 12 31 2021
## 249 GRD North America Grenada 12 31 2022
## 250 GLP North America Guadeloupe 12 31 2020
## 251 GLP North America Guadeloupe 12 31 2021
## 252 GLP North America Guadeloupe 12 31 2022
## 253 GUM Oceania Guam 12 31 2020
## 254 GUM Oceania Guam 12 31 2021
## 255 GUM Oceania Guam 12 31 2022
## 256 GTM North America Guatemala 12 31 2020
## 257 GTM North America Guatemala 12 31 2021
## 258 GTM North America Guatemala 12 31 2022
## 259 GGY Europe Guernsey 12 31 2020
## 260 GGY Europe Guernsey 12 31 2021
## 261 GGY Europe Guernsey 12 31 2022
## 262 GIN Africa Guinea 12 31 2020
## 263 GIN Africa Guinea 12 31 2021
## 264 GIN Africa Guinea 12 31 2022
## 265 GNB Africa Guinea-Bissau 12 31 2020
## 266 GNB Africa Guinea-Bissau 12 31 2021
## 267 GNB Africa Guinea-Bissau 12 31 2022
## 268 GUY South America Guyana 12 31 2020
## 269 GUY South America Guyana 12 31 2021
## 270 GUY South America Guyana 12 31 2022
## 271 HTI North America Haiti 12 31 2020
## 272 HTI North America Haiti 12 31 2021
## 273 HTI North America Haiti 12 31 2022
## 274 HND North America Honduras 12 31 2020
## 275 HND North America Honduras 12 31 2021
## 276 HND North America Honduras 12 31 2022
## 277 HKG Asia Hong Kong 12 31 2020
## 278 HKG Asia Hong Kong 12 31 2021
## 279 HKG Asia Hong Kong 12 31 2022
## 280 HUN Europe Hungary 12 31 2020
## 281 HUN Europe Hungary 12 31 2021
## 282 HUN Europe Hungary 12 31 2022
## 283 ISL Europe Iceland 12 31 2020
## 284 ISL Europe Iceland 12 31 2021
## 285 ISL Europe Iceland 12 31 2022
## 286 IND Asia India 12 31 2020
## 287 IND Asia India 12 31 2021
## 288 IND Asia India 12 31 2022
## 289 IDN Asia Indonesia 12 31 2020
## 290 IDN Asia Indonesia 12 31 2021
## 291 IDN Asia Indonesia 12 31 2022
## 292 IRN Asia Iran 12 31 2020
## 293 IRN Asia Iran 12 31 2021
## 294 IRN Asia Iran 12 31 2022
## 295 IRQ Asia Iraq 12 31 2020
## 296 IRQ Asia Iraq 12 31 2021
## 297 IRQ Asia Iraq 12 31 2022
## 298 IRL Europe Ireland 12 31 2020
## 299 IRL Europe Ireland 12 31 2021
## 300 IRL Europe Ireland 12 31 2022
## 301 IMN Europe Isle of Man 12 31 2020
## 302 IMN Europe Isle of Man 12 31 2021
## 303 IMN Europe Isle of Man 12 31 2022
## 304 ISR Asia Israel 12 31 2020
## 305 ISR Asia Israel 12 31 2021
## 306 ISR Asia Israel 12 31 2022
## 307 ITA Europe Italy 12 31 2020
## 308 ITA Europe Italy 12 31 2021
## 309 ITA Europe Italy 12 31 2022
## 310 JAM North America Jamaica 12 31 2020
## 311 JAM North America Jamaica 12 31 2021
## 312 JAM North America Jamaica 12 31 2022
## 313 JPN Asia Japan 12 31 2020
## 314 JPN Asia Japan 12 31 2021
## 315 JPN Asia Japan 12 31 2022
## 316 JEY Europe Jersey 12 31 2020
## 317 JEY Europe Jersey 12 31 2021
## 318 JEY Europe Jersey 12 31 2022
## 319 JOR Asia Jordan 12 31 2020
## 320 JOR Asia Jordan 12 31 2021
## 321 JOR Asia Jordan 12 31 2022
## 322 KAZ Asia Kazakhstan 12 31 2020
## 323 KAZ Asia Kazakhstan 12 31 2021
## 324 KAZ Asia Kazakhstan 12 31 2022
## 325 KEN Africa Kenya 12 31 2020
## 326 KEN Africa Kenya 12 31 2021
## 327 KEN Africa Kenya 12 31 2022
## 328 KIR Oceania Kiribati 12 31 2020
## 329 KIR Oceania Kiribati 12 31 2021
## 330 KIR Oceania Kiribati 12 31 2022
## 331 KWT Asia Kuwait 12 31 2020
## 332 KWT Asia Kuwait 12 31 2021
## 333 KWT Asia Kuwait 12 31 2022
## 334 KGZ Asia Kyrgyzstan 12 31 2020
## 335 KGZ Asia Kyrgyzstan 12 31 2021
## 336 KGZ Asia Kyrgyzstan 12 31 2022
## 337 LAO Asia Laos 12 31 2020
## 338 LAO Asia Laos 12 31 2021
## 339 LAO Asia Laos 12 31 2022
## 340 LVA Europe Latvia 12 31 2020
## 341 LVA Europe Latvia 12 31 2021
## 342 LVA Europe Latvia 12 31 2022
## 343 LBN Asia Lebanon 12 31 2020
## 344 LBN Asia Lebanon 12 31 2021
## 345 LBN Asia Lebanon 12 31 2022
## 346 LSO Africa Lesotho 12 31 2020
## 347 LSO Africa Lesotho 12 31 2021
## 348 LSO Africa Lesotho 12 31 2022
## 349 LBR Africa Liberia 12 31 2020
## 350 LBR Africa Liberia 12 31 2021
## 351 LBR Africa Liberia 12 31 2022
## 352 LBY Africa Libya 12 31 2020
## 353 LBY Africa Libya 12 31 2021
## 354 LBY Africa Libya 12 31 2022
## 355 LIE Europe Liechtenstein 12 31 2020
## 356 LIE Europe Liechtenstein 12 31 2021
## 357 LIE Europe Liechtenstein 12 31 2022
## 358 LTU Europe Lithuania 12 31 2020
## 359 LTU Europe Lithuania 12 31 2021
## 360 LTU Europe Lithuania 12 31 2022
## 361 LUX Europe Luxembourg 12 31 2020
## 362 LUX Europe Luxembourg 12 31 2021
## 363 LUX Europe Luxembourg 12 31 2022
## 364 MAC Asia Macao 12 31 2021
## 365 MAC Asia Macao 12 31 2022
## 366 MDG Africa Madagascar 12 31 2020
## 367 MDG Africa Madagascar 12 31 2021
## 368 MDG Africa Madagascar 12 31 2022
## 369 MWI Africa Malawi 12 31 2020
## 370 MWI Africa Malawi 12 31 2021
## 371 MWI Africa Malawi 12 31 2022
## 372 MYS Asia Malaysia 12 31 2020
## 373 MYS Asia Malaysia 12 31 2021
## 374 MYS Asia Malaysia 12 31 2022
## 375 MDV Asia Maldives 12 31 2020
## 376 MDV Asia Maldives 12 31 2021
## 377 MDV Asia Maldives 12 31 2022
## 378 MLI Africa Mali 12 31 2020
## 379 MLI Africa Mali 12 31 2021
## 380 MLI Africa Mali 12 31 2022
## 381 MLT Europe Malta 12 31 2020
## 382 MLT Europe Malta 12 31 2021
## 383 MLT Europe Malta 12 31 2022
## 384 MHL Oceania Marshall Islands 12 31 2020
## 385 MHL Oceania Marshall Islands 12 31 2021
## 386 MHL Oceania Marshall Islands 12 31 2022
## 387 MTQ North America Martinique 12 31 2020
## 388 MTQ North America Martinique 12 31 2021
## 389 MTQ North America Martinique 12 31 2022
## 390 MRT Africa Mauritania 12 31 2020
## 391 MRT Africa Mauritania 12 31 2021
## 392 MRT Africa Mauritania 12 31 2022
## 393 MUS Africa Mauritius 12 31 2020
## 394 MUS Africa Mauritius 12 31 2021
## 395 MUS Africa Mauritius 12 31 2022
## 396 MYT Africa Mayotte 12 31 2020
## 397 MYT Africa Mayotte 12 31 2021
## 398 MYT Africa Mayotte 12 31 2022
## 399 MEX North America Mexico 12 31 2020
## 400 MEX North America Mexico 12 31 2021
## 401 MEX North America Mexico 12 31 2022
## 402 FSM Oceania Micronesia (country) 12 31 2020
## 403 FSM Oceania Micronesia (country) 12 31 2021
## 404 FSM Oceania Micronesia (country) 12 31 2022
## 405 MDA Europe Moldova 12 31 2020
## 406 MDA Europe Moldova 12 31 2021
## 407 MDA Europe Moldova 12 31 2022
## 408 MCO Europe Monaco 12 31 2020
## 409 MCO Europe Monaco 12 31 2021
## 410 MCO Europe Monaco 12 31 2022
## 411 MNG Asia Mongolia 12 31 2020
## 412 MNG Asia Mongolia 12 31 2021
## 413 MNG Asia Mongolia 12 31 2022
## 414 MNE Europe Montenegro 12 31 2020
## 415 MNE Europe Montenegro 12 31 2021
## 416 MNE Europe Montenegro 12 31 2022
## 417 MSR North America Montserrat 12 31 2020
## 418 MSR North America Montserrat 12 31 2021
## 419 MSR North America Montserrat 12 31 2022
## 420 MAR Africa Morocco 12 31 2020
## 421 MAR Africa Morocco 12 31 2021
## 422 MAR Africa Morocco 12 31 2022
## 423 MOZ Africa Mozambique 12 31 2020
## 424 MOZ Africa Mozambique 12 31 2021
## 425 MOZ Africa Mozambique 12 31 2022
## 426 MMR Asia Myanmar 12 31 2020
## 427 MMR Asia Myanmar 12 31 2021
## 428 MMR Asia Myanmar 12 31 2022
## 429 NAM Africa Namibia 12 31 2020
## 430 NAM Africa Namibia 12 31 2021
## 431 NAM Africa Namibia 12 31 2022
## 432 NRU Oceania Nauru 12 31 2020
## 433 NRU Oceania Nauru 12 31 2021
## 434 NRU Oceania Nauru 12 31 2022
## 435 NPL Asia Nepal 12 31 2020
## 436 NPL Asia Nepal 12 31 2021
## 437 NPL Asia Nepal 12 31 2022
## 438 NLD Europe Netherlands 12 31 2020
## 439 NLD Europe Netherlands 12 31 2021
## 440 NLD Europe Netherlands 12 31 2022
## 441 NCL Oceania New Caledonia 12 31 2020
## 442 NCL Oceania New Caledonia 12 31 2021
## 443 NCL Oceania New Caledonia 12 31 2022
## 444 NZL Oceania New Zealand 12 31 2020
## 445 NZL Oceania New Zealand 12 31 2021
## 446 NZL Oceania New Zealand 12 31 2022
## 447 NIC North America Nicaragua 12 31 2020
## 448 NIC North America Nicaragua 12 31 2021
## 449 NIC North America Nicaragua 12 31 2022
## 450 NER Africa Niger 12 31 2020
## 451 NER Africa Niger 12 31 2021
## 452 NER Africa Niger 12 31 2022
## 453 NGA Africa Nigeria 12 31 2020
## 454 NGA Africa Nigeria 12 31 2021
## 455 NGA Africa Nigeria 12 31 2022
## 456 NIU Oceania Niue 12 31 2020
## 457 NIU Oceania Niue 12 31 2021
## 458 NIU Oceania Niue 12 31 2022
## 459 PRK Asia North Korea 12 31 2020
## 460 PRK Asia North Korea 12 31 2021
## 461 PRK Asia North Korea 12 31 2022
## 462 MKD Europe North Macedonia 12 31 2020
## 463 MKD Europe North Macedonia 12 31 2021
## 464 MKD Europe North Macedonia 12 31 2022
## 465 MNP Oceania Northern Mariana Islands 12 31 2020
## 466 MNP Oceania Northern Mariana Islands 12 31 2021
## 467 MNP Oceania Northern Mariana Islands 12 31 2022
## 468 NOR Europe Norway 12 31 2020
## 469 NOR Europe Norway 12 31 2021
## 470 NOR Europe Norway 12 31 2022
## 471 OMN Asia Oman 12 31 2020
## 472 OMN Asia Oman 12 31 2021
## 473 OMN Asia Oman 12 31 2022
## 474 PAK Asia Pakistan 12 31 2020
## 475 PAK Asia Pakistan 12 31 2021
## 476 PAK Asia Pakistan 12 31 2022
## 477 PLW Oceania Palau 12 31 2020
## 478 PLW Oceania Palau 12 31 2021
## 479 PLW Oceania Palau 12 31 2022
## 480 PSE Asia Palestine 12 31 2020
## 481 PSE Asia Palestine 12 31 2021
## 482 PSE Asia Palestine 12 31 2022
## 483 PAN North America Panama 12 31 2020
## 484 PAN North America Panama 12 31 2021
## 485 PAN North America Panama 12 31 2022
## 486 PNG Oceania Papua New Guinea 12 31 2020
## 487 PNG Oceania Papua New Guinea 12 31 2021
## 488 PNG Oceania Papua New Guinea 12 31 2022
## 489 PRY South America Paraguay 12 31 2020
## 490 PRY South America Paraguay 12 31 2021
## 491 PRY South America Paraguay 12 31 2022
## 492 PER South America Peru 12 31 2020
## 493 PER South America Peru 12 31 2021
## 494 PER South America Peru 12 31 2022
## 495 PHL Asia Philippines 12 31 2020
## 496 PHL Asia Philippines 12 31 2021
## 497 PHL Asia Philippines 12 31 2022
## 498 PCN Oceania Pitcairn 12 31 2020
## 499 PCN Oceania Pitcairn 12 31 2021
## 500 PCN Oceania Pitcairn 12 31 2022
## 501 POL Europe Poland 12 31 2020
## 502 POL Europe Poland 12 31 2021
## 503 POL Europe Poland 12 31 2022
## 504 PRT Europe Portugal 12 31 2020
## 505 PRT Europe Portugal 12 31 2021
## 506 PRT Europe Portugal 12 31 2022
## 507 PRI North America Puerto Rico 12 31 2020
## 508 PRI North America Puerto Rico 12 31 2021
## 509 PRI North America Puerto Rico 12 31 2022
## 510 QAT Asia Qatar 12 31 2020
## 511 QAT Asia Qatar 12 31 2021
## 512 QAT Asia Qatar 12 31 2022
## 513 REU Africa Reunion 12 31 2020
## 514 REU Africa Reunion 12 31 2021
## 515 REU Africa Reunion 12 31 2022
## 516 ROU Europe Romania 12 31 2020
## 517 ROU Europe Romania 12 31 2021
## 518 ROU Europe Romania 12 31 2022
## 519 RUS Europe Russia 12 31 2020
## 520 RUS Europe Russia 12 31 2021
## 521 RUS Europe Russia 12 31 2022
## 522 RWA Africa Rwanda 12 31 2020
## 523 RWA Africa Rwanda 12 31 2021
## 524 RWA Africa Rwanda 12 31 2022
## 525 BLM North America Saint Barthelemy 12 31 2020
## 526 BLM North America Saint Barthelemy 12 31 2021
## 527 BLM North America Saint Barthelemy 12 31 2022
## 528 SHN Africa Saint Helena 12 31 2020
## 529 SHN Africa Saint Helena 12 31 2021
## 530 SHN Africa Saint Helena 12 31 2022
## 531 KNA North America Saint Kitts and Nevis 12 31 2020
## 532 KNA North America Saint Kitts and Nevis 12 31 2021
## 533 KNA North America Saint Kitts and Nevis 12 31 2022
## 534 LCA North America Saint Lucia 12 31 2020
## 535 LCA North America Saint Lucia 12 31 2021
## 536 LCA North America Saint Lucia 12 31 2022
## 537 MAF North America Saint Martin (French part) 12 31 2020
## 538 MAF North America Saint Martin (French part) 12 31 2021
## 539 MAF North America Saint Martin (French part) 12 31 2022
## 540 SPM North America Saint Pierre and Miquelon 12 31 2020
## 541 SPM North America Saint Pierre and Miquelon 12 31 2021
## 542 SPM North America Saint Pierre and Miquelon 12 31 2022
## 543 VCT North America Saint Vincent and the Grenadines 12 31 2020
## 544 VCT North America Saint Vincent and the Grenadines 12 31 2021
## 545 VCT North America Saint Vincent and the Grenadines 12 31 2022
## 546 WSM Oceania Samoa 12 31 2020
## 547 WSM Oceania Samoa 12 31 2021
## 548 WSM Oceania Samoa 12 31 2022
## 549 SMR Europe San Marino 12 31 2020
## 550 SMR Europe San Marino 12 31 2021
## 551 SMR Europe San Marino 12 31 2022
## 552 STP Africa Sao Tome and Principe 12 31 2020
## 553 STP Africa Sao Tome and Principe 12 31 2021
## 554 STP Africa Sao Tome and Principe 12 31 2022
## 555 SAU Asia Saudi Arabia 12 31 2020
## 556 SAU Asia Saudi Arabia 12 31 2021
## 557 SAU Asia Saudi Arabia 12 31 2022
## 558 SEN Africa Senegal 12 31 2020
## 559 SEN Africa Senegal 12 31 2021
## 560 SEN Africa Senegal 12 31 2022
## 561 SRB Europe Serbia 12 31 2020
## 562 SRB Europe Serbia 12 31 2021
## 563 SRB Europe Serbia 12 31 2022
## 564 SYC Africa Seychelles 12 31 2020
## 565 SYC Africa Seychelles 12 31 2021
## 566 SYC Africa Seychelles 12 31 2022
## 567 SLE Africa Sierra Leone 12 31 2020
## 568 SLE Africa Sierra Leone 12 31 2021
## 569 SLE Africa Sierra Leone 12 31 2022
## 570 SGP Asia Singapore 12 31 2020
## 571 SGP Asia Singapore 12 31 2021
## 572 SGP Asia Singapore 12 31 2022
## 573 SXM North America Sint Maarten (Dutch part) 12 31 2020
## 574 SXM North America Sint Maarten (Dutch part) 12 31 2021
## 575 SXM North America Sint Maarten (Dutch part) 12 31 2022
## 576 SVK Europe Slovakia 12 31 2020
## 577 SVK Europe Slovakia 12 31 2021
## 578 SVK Europe Slovakia 12 31 2022
## 579 SVN Europe Slovenia 12 31 2020
## 580 SVN Europe Slovenia 12 31 2021
## 581 SVN Europe Slovenia 12 31 2022
## 582 SLB Oceania Solomon Islands 12 31 2020
## 583 SLB Oceania Solomon Islands 12 31 2021
## 584 SLB Oceania Solomon Islands 12 31 2022
## 585 SOM Africa Somalia 12 31 2020
## 586 SOM Africa Somalia 12 31 2021
## 587 SOM Africa Somalia 12 31 2022
## 588 ZAF Africa South Africa 12 31 2020
## 589 ZAF Africa South Africa 12 31 2021
## 590 ZAF Africa South Africa 12 31 2022
## 591 KOR Asia South Korea 12 31 2020
## 592 KOR Asia South Korea 12 31 2021
## 593 KOR Asia South Korea 12 31 2022
## 594 SSD Africa South Sudan 12 31 2020
## 595 SSD Africa South Sudan 12 31 2021
## 596 SSD Africa South Sudan 12 31 2022
## 597 ESP Europe Spain 12 31 2020
## 598 ESP Europe Spain 12 31 2021
## 599 ESP Europe Spain 12 31 2022
## 600 LKA Asia Sri Lanka 12 31 2020
## 601 LKA Asia Sri Lanka 12 31 2021
## 602 LKA Asia Sri Lanka 12 31 2022
## 603 SDN Africa Sudan 12 31 2020
## 604 SDN Africa Sudan 12 31 2021
## 605 SDN Africa Sudan 12 31 2022
## 606 SUR South America Suriname 12 31 2020
## 607 SUR South America Suriname 12 31 2021
## 608 SUR South America Suriname 12 31 2022
## 609 SWE Europe Sweden 12 31 2020
## 610 SWE Europe Sweden 12 31 2021
## 611 SWE Europe Sweden 12 31 2022
## 612 CHE Europe Switzerland 12 31 2020
## 613 CHE Europe Switzerland 12 31 2021
## 614 CHE Europe Switzerland 12 31 2022
## 615 SYR Asia Syria 12 31 2020
## 616 SYR Asia Syria 12 31 2021
## 617 SYR Asia Syria 12 31 2022
## 618 TWN Asia Taiwan 12 31 2020
## 619 TWN Asia Taiwan 12 31 2021
## 620 TWN Asia Taiwan 12 31 2022
## 621 TJK Asia Tajikistan 12 31 2020
## 622 TJK Asia Tajikistan 12 31 2021
## 623 TJK Asia Tajikistan 12 31 2022
## 624 TZA Africa Tanzania 12 31 2020
## 625 TZA Africa Tanzania 12 31 2021
## 626 TZA Africa Tanzania 12 31 2022
## 627 THA Asia Thailand 12 31 2020
## 628 THA Asia Thailand 12 31 2021
## 629 THA Asia Thailand 12 31 2022
## 630 TLS Asia Timor 12 31 2020
## 631 TLS Asia Timor 12 31 2021
## 632 TLS Asia Timor 12 31 2022
## 633 TGO Africa Togo 12 31 2020
## 634 TGO Africa Togo 12 31 2021
## 635 TGO Africa Togo 12 31 2022
## 636 TKL Oceania Tokelau 12 31 2020
## 637 TKL Oceania Tokelau 12 31 2021
## 638 TKL Oceania Tokelau 12 31 2022
## 639 TON Oceania Tonga 12 31 2020
## 640 TON Oceania Tonga 12 31 2021
## 641 TON Oceania Tonga 12 31 2022
## 642 TTO North America Trinidad and Tobago 12 31 2020
## 643 TTO North America Trinidad and Tobago 12 31 2021
## 644 TTO North America Trinidad and Tobago 12 31 2022
## 645 TUN Africa Tunisia 12 31 2020
## 646 TUN Africa Tunisia 12 31 2021
## 647 TUN Africa Tunisia 12 31 2022
## 648 TUR Asia Turkey 12 31 2020
## 649 TUR Asia Turkey 12 31 2021
## 650 TUR Asia Turkey 12 31 2022
## 651 TKM Asia Turkmenistan 12 31 2020
## 652 TKM Asia Turkmenistan 12 31 2021
## 653 TKM Asia Turkmenistan 12 31 2022
## 654 TCA North America Turks and Caicos Islands 12 31 2020
## 655 TCA North America Turks and Caicos Islands 12 31 2021
## 656 TCA North America Turks and Caicos Islands 12 31 2022
## 657 TUV Oceania Tuvalu 12 31 2020
## 658 TUV Oceania Tuvalu 12 31 2021
## 659 TUV Oceania Tuvalu 12 31 2022
## 660 UGA Africa Uganda 12 31 2020
## 661 UGA Africa Uganda 12 31 2021
## 662 UGA Africa Uganda 12 31 2022
## 663 UKR Europe Ukraine 12 31 2020
## 664 UKR Europe Ukraine 12 31 2021
## 665 UKR Europe Ukraine 12 31 2022
## 666 ARE Asia United Arab Emirates 12 31 2020
## 667 ARE Asia United Arab Emirates 12 31 2021
## 668 ARE Asia United Arab Emirates 12 31 2022
## 669 GBR Europe United Kingdom 12 31 2020
## 670 GBR Europe United Kingdom 12 31 2021
## 671 GBR Europe United Kingdom 12 31 2022
## 672 USA North America United States 12 31 2020
## 673 USA North America United States 12 31 2021
## 674 USA North America United States 12 31 2022
## 675 VIR North America United States Virgin Islands 12 31 2020
## 676 VIR North America United States Virgin Islands 12 31 2021
## 677 VIR North America United States Virgin Islands 12 31 2022
## 678 URY South America Uruguay 12 31 2020
## 679 URY South America Uruguay 12 31 2021
## 680 URY South America Uruguay 12 31 2022
## 681 UZB Asia Uzbekistan 12 31 2020
## 682 UZB Asia Uzbekistan 12 31 2021
## 683 UZB Asia Uzbekistan 12 31 2022
## 684 VUT Oceania Vanuatu 12 31 2020
## 685 VUT Oceania Vanuatu 12 31 2021
## 686 VUT Oceania Vanuatu 12 31 2022
## 687 VAT Europe Vatican 12 31 2020
## 688 VAT Europe Vatican 12 31 2021
## 689 VAT Europe Vatican 12 31 2022
## 690 VEN South America Venezuela 12 31 2020
## 691 VEN South America Venezuela 12 31 2021
## 692 VEN South America Venezuela 12 31 2022
## 693 VNM Asia Vietnam 12 31 2020
## 694 VNM Asia Vietnam 12 31 2021
## 695 VNM Asia Vietnam 12 31 2022
## 696 WLF Oceania Wallis and Futuna 12 31 2020
## 697 WLF Oceania Wallis and Futuna 12 31 2021
## 698 WLF Oceania Wallis and Futuna 12 31 2022
## 699 YEM Asia Yemen 12 31 2020
## 700 YEM Asia Yemen 12 31 2021
## 701 YEM Asia Yemen 12 31 2022
## 702 ZMB Africa Zambia 12 31 2020
## 703 ZMB Africa Zambia 12 31 2021
## 704 ZMB Africa Zambia 12 31 2022
## 705 ZWE Africa Zimbabwe 12 31 2020
## 706 ZWE Africa Zimbabwe 12 31 2021
## 707 ZWE Africa Zimbabwe 12 31 2022
## new_cases new_deaths people_fully_vaccinated
## 1 0 0 <NA>
## 2 20 0 <NA>
## 3 43 2 <NA>
## 4 574 6 <NA>
## 5 547 5 <NA>
## 6 30 0 <NA>
## 7 705 9 <NA>
## 8 390 8 <NA>
## 9 0 0 <NA>
## 10 0 0 <NA>
## 11 0 0 <NA>
## 12 0 0 <NA>
## 13 64 0 <NA>
## 14 299 0 <NA>
## 15 0 0 <NA>
## 16 62 2 <NA>
## 17 0 0 <NA>
## 18 0 0 <NA>
## 19 0 0 <NA>
## 20 0 0 <NA>
## 21 0 0 <NA>
## 22 0 0 <NA>
## 23 0 0 <NA>
## 24 0 0 <NA>
## 25 6969 113 7
## 26 35664 49 30776260
## 27 0 0 34797153
## 28 531 16 <NA>
## 29 104 4 <NA>
## 30 0 0 <NA>
## 31 50 0 <NA>
## 32 671 0 <NA>
## 33 0 0 <NA>
## 34 31 0 <NA>
## 35 21222 19 <NA>
## 36 0 0 <NA>
## 37 2965 83 <NA>
## 38 3168 17 6314678
## 39 4289 13 <NA>
## 40 1101 37 <NA>
## 41 510 14 4676520
## 42 62 0 <NA>
## 43 11 0 <NA>
## 44 207 1 <NA>
## 45 0 0 <NA>
## 46 256 1 <NA>
## 47 530 0 1177993
## 48 0 0 <NA>
## 49 1014 28 <NA>
## 50 512 2 <NA>
## 51 23 1 <NA>
## 52 7 0 <NA>
## 53 247 0 143677
## 54 0 0 <NA>
## 55 1957 10 <NA>
## 56 1380 18 <NA>
## 57 0 0 <NA>
## 58 2261 77 21
## 59 15062 34 8832177
## 60 1023 16 9167495
## 61 77 5 <NA>
## 62 333 0 <NA>
## 63 0 0 <NA>
## 64 0 0 <NA>
## 65 0 0 <NA>
## 66 0 0 <NA>
## 67 14 0 <NA>
## 68 267 0 <NA>
## 69 0 0 <NA>
## 70 15 0 <NA>
## 71 0 0 <NA>
## 72 0 0 <NA>
## 73 1293 29 <NA>
## 74 6149 28 4593214
## 75 0 0 <NA>
## 76 3 0 <NA>
## 77 32 0 <NA>
## 78 0 0 <NA>
## 79 531 26 <NA>
## 80 795 31 <NA>
## 81 19 1 <NA>
## 82 287 1 <NA>
## 83 2544 8 1033971
## 84 0 0 <NA>
## 85 58718 1111 <NA>
## 86 9128 112 143436012
## 87 37694 172 174887915
## 88 0 0 <NA>
## 89 36 0 <NA>
## 90 0 0 <NA>
## 91 5 0 <NA>
## 92 5 0 400691
## 93 0 0 <NA>
## 94 1729 110 <NA>
## 95 3616 71 1914910
## 96 199 2 <NA>
## 97 76 3 <NA>
## 98 0 0 <NA>
## 99 0 0 <NA>
## 100 2 0 <NA>
## 101 643 0 <NA>
## 102 0 0 <NA>
## 103 2 0 <NA>
## 104 14 1 13659518
## 105 6 0 <NA>
## 106 571 0 <NA>
## 107 0 0 <NA>
## 108 0 0 <NA>
## 109 6441 156 2
## 110 32120 33 29437317
## 111 17192 311 31731097
## 112 41 0 <NA>
## 113 791 0 <NA>
## 114 0 0 <NA>
## 115 8 0 <NA>
## 116 432 0 <NA>
## 117 0 0 <NA>
## 118 2 0 <NA>
## 119 63 0 <NA>
## 120 0 0 <NA>
## 121 29 0 <NA>
## 122 0 0 <NA>
## 123 0 0 <NA>
## 124 1964 11 <NA>
## 125 1791 33 16547811
## 126 5818 22 17695792
## 127 81 4 <NA>
## 128 232 0 <NA>
## 129 2165484 2850 <NA>
## 130 11015 246 <NA>
## 131 6326 33 28323837
## 132 6776 103 <NA>
## 133 0 0 <NA>
## 134 231 1 246139
## 135 0 0 <NA>
## 136 18 0 <NA>
## 137 792 1 <NA>
## 138 0 0 <NA>
## 139 0 0 <NA>
## 140 0 0 <NA>
## 141 0 0 <NA>
## 142 1037 12 <NA>
## 143 404 1 <NA>
## 144 0 0 <NA>
## 145 0 0 <NA>
## 146 1578 4 2162458
## 147 0 0 <NA>
## 148 1850 65 <NA>
## 149 5958 27 1953540
## 150 410 13 2250557
## 151 86 2 <NA>
## 152 328 1 9672464
## 153 30 0 <NA>
## 154 28 0 <NA>
## 155 554 1 96611
## 156 0 0 <NA>
## 157 1031 2 <NA>
## 158 3851 1 <NA>
## 159 0 0 <NA>
## 160 17231 150 1
## 161 5983 59 6658809
## 162 445 13 6890964
## 163 283 0 <NA>
## 164 962 0 <NA>
## 165 0 0 <NA>
## 166 2783 24 <NA>
## 167 18903 9 4542124
## 168 1264 12 <NA>
## 169 11 0 <NA>
## 170 13 0 <NA>
## 171 0 0 <NA>
## 172 0 0 <NA>
## 173 94 0 <NA>
## 174 0 0 <NA>
## 175 1314 4 <NA>
## 176 998 0 5699587
## 177 77 0 <NA>
## 178 1186 22 <NA>
## 179 1697 13 12690467
## 180 4286 14 <NA>
## 181 1411 56 <NA>
## 182 871 32 <NA>
## 183 0 0 <NA>
## 184 545 14 <NA>
## 185 0 2 <NA>
## 186 0 0 <NA>
## 187 13 0 <NA>
## 188 0 0 <NA>
## 189 0 0 <NA>
## 190 32 0 <NA>
## 191 34 1 <NA>
## 192 0 0 <NA>
## 193 732 3 75
## 194 1072 4 827619
## 195 80 0 860869
## 196 212 9 <NA>
## 197 359 3 <NA>
## 198 0 0 <NA>
## 199 518 5 <NA>
## 200 4998 10 <NA>
## 201 134 0 <NA>
## 202 4 0 <NA>
## 203 216 1 <NA>
## 204 0 0 <NA>
## 205 0 0 <NA>
## 206 1 0 <NA>
## 207 0 0 <NA>
## 208 0 0 <NA>
## 209 0 0 <NA>
## 210 0 0 <NA>
## 211 308 2 <NA>
## 212 7375 14 <NA>
## 213 656 18 <NA>
## 214 1368 303 2
## 215 204636 174 49646662
## 216 23705 115 53146666
## 217 149 0 <NA>
## 218 361 0 <NA>
## 219 103 0 <NA>
## 220 56 1 <NA>
## 221 43 0 <NA>
## 222 0 0 <NA>
## 223 61 0 <NA>
## 224 725 0 <NA>
## 225 0 0 <NA>
## 226 3 0 <NA>
## 227 0 0 <NA>
## 228 0 0 <NA>
## 229 1527 24 <NA>
## 230 2100 42 <NA>
## 231 113 0 <NA>
## 232 31047 1299 <NA>
## 233 41465 196 59158108
## 234 22987 140 63550266
## 235 134 0 <NA>
## 236 1067 3 <NA>
## 237 0 0 <NA>
## 238 87 0 <NA>
## 239 112 0 <NA>
## 240 0 0 <NA>
## 241 942 58 <NA>
## 242 35580 72 7041133
## 243 0 0 7642847
## 244 0 0 <NA>
## 245 94 0 <NA>
## 246 0 0 <NA>
## 247 0 0 <NA>
## 248 64 0 <NA>
## 249 0 0 <NA>
## 250 0 0 <NA>
## 251 0 0 <NA>
## 252 0 0 <NA>
## 253 15 0 <NA>
## 254 51 0 <NA>
## 255 0 0 <NA>
## 256 879 22 <NA>
## 257 821 3 4686883
## 258 2308 1 <NA>
## 259 1 0 <NA>
## 260 394 0 <NA>
## 261 0 0 <NA>
## 262 15 1 <NA>
## 263 397 0 925486
## 264 0 0 <NA>
## 265 0 0 <NA>
## 266 8 0 <NA>
## 267 0 0 <NA>
## 268 3 0 <NA>
## 269 87 1 <NA>
## 270 26 0 <NA>
## 271 0 0 <NA>
## 272 113 7 <NA>
## 273 0 0 <NA>
## 274 809 23 <NA>
## 275 140 0 <NA>
## 276 0 0 <NA>
## 277 NA NA <NA>
## 278 NA NA 4662015
## 279 NA NA 6787539
## 280 2971 108 <NA>
## 281 3360 82 <NA>
## 282 0 0 <NA>
## 283 4 0 <NA>
## 284 1553 0 <NA>
## 285 52 0 <NA>
## 286 21822 299 <NA>
## 287 16764 220 603224821
## 288 226 3 951207411
## 289 8074 194 <NA>
## 290 180 6 113666327
## 291 488 19 <NA>
## 292 6272 149 <NA>
## 293 1936 45 <NA>
## 294 60 0 <NA>
## 295 901 8 <NA>
## 296 300 3 <NA>
## 297 0 0 <NA>
## 298 1545 11 34
## 299 16428 6 3882429
## 300 970 14 4060146
## 301 1 0 <NA>
## 302 580 0 65454
## 303 0 0 <NA>
## 304 5869 16 6
## 305 5079 0 5942646
## 306 792 5 6158358
## 307 15803 575 <NA>
## 308 127000 156 44737589
## 309 24733 150 47968006
## 310 41 4 <NA>
## 311 365 1 <NA>
## 312 0 0 <NA>
## 313 3708 65 <NA>
## 314 490 0 99709832
## 315 107465 292 103151800
## 316 27 1 <NA>
## 317 426 0 <NA>
## 318 67 0 <NA>
## 319 1674 14 <NA>
## 320 2045 30 <NA>
## 321 0 0 <NA>
## 322 888 0 <NA>
## 323 522 8 8515110
## 324 212 0 <NA>
## 325 112 2 <NA>
## 326 3286 4 <NA>
## 327 0 0 <NA>
## 328 0 0 <NA>
## 329 0 0 <NA>
## 330 0 0 <NA>
## 331 205 1 <NA>
## 332 554 0 <NA>
## 333 0 0 <NA>
## 334 191 1 <NA>
## 335 56 2 <NA>
## 336 0 0 1361199
## 337 0 0 <NA>
## 338 1272 5 <NA>
## 339 18 0 <NA>
## 340 1861 9 2
## 341 1157 9 1262507
## 342 170 0 <NA>
## 343 2878 13 <NA>
## 344 4537 15 1831322
## 345 146 1 <NA>
## 346 0 0 <NA>
## 347 1080 5 727528
## 348 0 0 <NA>
## 349 7 0 <NA>
## 350 78 0 <NA>
## 351 1 0 <NA>
## 352 585 15 <NA>
## 353 640 11 <NA>
## 354 0 0 <NA>
## 355 31 1 <NA>
## 356 70 0 <NA>
## 357 3 0 <NA>
## 358 3259 56 <NA>
## 359 2076 13 1832178
## 360 456 3 <NA>
## 361 325 4 <NA>
## 362 1231 2 <NA>
## 363 123 1 <NA>
## 364 NA NA <NA>
## 365 NA NA <NA>
## 366 0 0 <NA>
## 367 0 0 <NA>
## 368 15 2 <NA>
## 369 82 1 <NA>
## 370 963 5 705769
## 371 0 0 <NA>
## 372 1870 6 <NA>
## 373 3997 34 25665952
## 374 513 1 27536936
## 375 19 0 <NA>
## 376 160 0 <NA>
## 377 15 0 <NA>
## 378 233 7 <NA>
## 379 202 0 <NA>
## 380 0 0 <NA>
## 381 59 3 <NA>
## 382 1403 1 435874
## 383 28 0 471326
## 384 0 0 <NA>
## 385 0 0 <NA>
## 386 0 0 <NA>
## 387 0 0 <NA>
## 388 1246 6 <NA>
## 389 0 0 <NA>
## 390 0 0 <NA>
## 391 248 1 <NA>
## 392 0 0 <NA>
## 393 0 0 <NA>
## 394 195 0 <NA>
## 395 150 0 <NA>
## 396 0 0 <NA>
## 397 0 0 <NA>
## 398 0 0 <NA>
## 399 16099 971 <NA>
## 400 11627 103 <NA>
## 401 5320 32 <NA>
## 402 0 0 <NA>
## 403 0 0 <NA>
## 404 0 0 <NA>
## 405 990 99 <NA>
## 406 422 23 982152
## 407 0 0 <NA>
## 408 26 0 <NA>
## 409 100 0 <NA>
## 410 7 0 <NA>
## 411 20 0 <NA>
## 412 593 1 2163572
## 413 0 0 <NA>
## 414 352 2 <NA>
## 415 1743 3 272853
## 416 42 0 <NA>
## 417 0 0 <NA>
## 418 0 0 <NA>
## 419 0 0 <NA>
## 420 2143 41 <NA>
## 421 1960 2 <NA>
## 422 55 0 <NA>
## 423 112 2 <NA>
## 424 4947 8 <NA>
## 425 0 0 <NA>
## 426 890 18 <NA>
## 427 189 3 <NA>
## 428 12 0 <NA>
## 429 608 2 <NA>
## 430 865 12 <NA>
## 431 0 0 <NA>
## 432 0 0 <NA>
## 433 0 0 <NA>
## 434 0 0 <NA>
## 435 534 10 <NA>
## 436 224 4 <NA>
## 437 5 0 <NA>
## 438 9449 113 <NA>
## 439 14758 40 11782302
## 440 879 4 <NA>
## 441 0 0 <NA>
## 442 51 0 <NA>
## 443 0 0 <NA>
## 444 11 0 <NA>
## 445 60 0 3856165
## 446 0 0 4138508
## 447 0 0 <NA>
## 448 0 0 <NA>
## 449 0 0 <NA>
## 450 0 0 <NA>
## 451 58 0 <NA>
## 452 0 0 <NA>
## 453 1016 11 <NA>
## 454 1139 2 4482899
## 455 35 0 <NA>
## 456 0 0 <NA>
## 457 0 0 <NA>
## 458 0 0 <NA>
## 459 0 0 <NA>
## 460 0 0 <NA>
## 461 0 0 <NA>
## 462 536 15 <NA>
## 463 542 7 <NA>
## 464 0 0 <NA>
## 465 0 0 <NA>
## 466 123 0 <NA>
## 467 159 0 <NA>
## 468 639 0 <NA>
## 469 4193 0 3929338
## 470 198 0 <NA>
## 471 86 0 <NA>
## 472 132 0 <NA>
## 473 0 0 <NA>
## 474 2155 55 <NA>
## 475 482 3 <NA>
## 476 0 0 <NA>
## 477 0 0 <NA>
## 478 0 0 <NA>
## 479 0 0 <NA>
## 480 1539 21 <NA>
## 481 264 6 <NA>
## 482 0 0 <NA>
## 483 4574 41 <NA>
## 484 1348 4 <NA>
## 485 0 0 <NA>
## 486 0 0 <NA>
## 487 0 0 <NA>
## 488 0 0 <NA>
## 489 762 18 <NA>
## 490 277 8 <NA>
## 491 0 0 <NA>
## 492 1588 143 <NA>
## 493 4020 0 22086014
## 494 3162 32 28444083
## 495 1005 68 <NA>
## 496 1381 132 <NA>
## 497 0 0 <NA>
## 498 0 0 <NA>
## 499 0 0 <NA>
## 500 0 0 <NA>
## 501 13397 532 <NA>
## 502 13601 638 21046400
## 503 623 21 22623876
## 504 5481 75 <NA>
## 505 29311 14 8532207
## 506 406 6 <NA>
## 507 789 12 <NA>
## 508 15198 5 <NA>
## 509 1891 5 <NA>
## 510 193 0 <NA>
## 511 542 1 <NA>
## 512 153 0 <NA>
## 513 0 0 <NA>
## 514 0 0 <NA>
## 515 0 0 <NA>
## 516 4875 127 <NA>
## 517 1497 37 7817215
## 518 0 0 <NA>
## 519 27747 593 <NA>
## 520 20638 912 66773441
## 521 5527 58 78929790
## 522 122 7 <NA>
## 523 1488 0 <NA>
## 524 0 0 <NA>
## 525 0 0 <NA>
## 526 0 0 <NA>
## 527 0 0 <NA>
## 528 0 0 <NA>
## 529 0 0 <NA>
## 530 0 0 <NA>
## 531 0 0 <NA>
## 532 41 0 <NA>
## 533 0 0 <NA>
## 534 9 0 <NA>
## 535 63 0 49313
## 536 0 0 <NA>
## 537 0 0 <NA>
## 538 0 0 <NA>
## 539 0 0 <NA>
## 540 0 0 <NA>
## 541 0 0 <NA>
## 542 0 0 <NA>
## 543 2 0 <NA>
## 544 45 2 <NA>
## 545 0 0 <NA>
## 546 0 0 <NA>
## 547 0 0 <NA>
## 548 0 0 <NA>
## 549 0 0 <NA>
## 550 154 1 <NA>
## 551 33 0 <NA>
## 552 0 0 <NA>
## 553 58 0 <NA>
## 554 0 0 <NA>
## 555 113 10 <NA>
## 556 752 1 23180879
## 557 30 1 <NA>
## 558 139 7 <NA>
## 559 198 0 <NA>
## 560 0 0 <NA>
## 561 3236 44 <NA>
## 562 1949 23 <NA>
## 563 929 5 <NA>
## 564 0 0 <NA>
## 565 137 0 <NA>
## 566 0 0 <NA>
## 567 14 0 <NA>
## 568 92 0 <NA>
## 569 0 0 <NA>
## 570 27 0 46
## 571 311 1 4684521
## 572 835 0 5114856
## 573 12 1 <NA>
## 574 107 0 <NA>
## 575 0 0 <NA>
## 576 6315 73 <NA>
## 577 2995 37 <NA>
## 578 103 2 <NA>
## 579 2429 28 <NA>
## 580 1898 5 1188990
## 581 1171 7 <NA>
## 582 0 0 <NA>
## 583 0 0 <NA>
## 584 0 0 <NA>
## 585 24 3 <NA>
## 586 0 0 <NA>
## 587 0 0 <NA>
## 588 17710 465 <NA>
## 589 12978 126 <NA>
## 590 0 0 <NA>
## 591 967 21 <NA>
## 592 4872 108 42345794
## 593 57527 63 44379786
## 594 15 0 <NA>
## 595 384 1 <NA>
## 596 0 0 <NA>
## 597 18984 166 <NA>
## 598 150534 102 <NA>
## 599 14221 26 <NA>
## 600 597 5 <NA>
## 601 499 17 13843044
## 602 5 0 <NA>
## 603 262 12 <NA>
## 604 108 2 <NA>
## 605 0 0 <NA>
## 606 85 0 <NA>
## 607 240 1 <NA>
## 608 0 0 <NA>
## 609 8872 73 <NA>
## 610 10934 7 <NA>
## 611 1797 41 <NA>
## 612 4209 92 12
## 613 19746 23 5830563
## 614 878 3 6011602
## 615 101 8 <NA>
## 616 39 4 <NA>
## 617 0 0 <NA>
## 618 NA NA <NA>
## 619 NA NA 16159278
## 620 NA NA <NA>
## 621 3 0 <NA>
## 622 0 0 <NA>
## 623 0 0 <NA>
## 624 0 0 <NA>
## 625 0 0 <NA>
## 626 45 0 <NA>
## 627 194 0 <NA>
## 628 3111 26 46319204
## 629 2111 75 <NA>
## 630 0 0 <NA>
## 631 4 0 <NA>
## 632 1 0 790466
## 633 7 0 <NA>
## 634 747 2 1020872
## 635 0 0 <NA>
## 636 0 0 <NA>
## 637 0 0 <NA>
## 638 0 0 <NA>
## 639 0 0 <NA>
## 640 0 0 <NA>
## 641 75 0 <NA>
## 642 5 1 <NA>
## 643 465 16 668717
## 644 0 0 <NA>
## 645 2414 50 <NA>
## 646 1162 8 5921997
## 647 0 0 <NA>
## 648 15692 254 <NA>
## 649 39681 142 51604894
## 650 0 0 <NA>
## 651 0 0 <NA>
## 652 0 0 <NA>
## 653 0 0 <NA>
## 654 0 0 <NA>
## 655 0 0 <NA>
## 656 0 0 <NA>
## 657 0 0 <NA>
## 658 0 0 <NA>
## 659 0 0 <NA>
## 660 539 1 <NA>
## 661 1867 3 <NA>
## 662 0 0 <NA>
## 663 9699 209 <NA>
## 664 7029 209 13755421
## 665 0 0 <NA>
## 666 1723 3 <NA>
## 667 2366 2 <NA>
## 668 68 0 <NA>
## 669 83090 659 <NA>
## 670 272797 125 47434251
## 671 7140 151 <NA>
## 672 208904 3351 46916
## 673 474309 1823 210282783
## 674 0 0 229504378
## 675 6 0 <NA>
## 676 330 1 <NA>
## 677 5 0 <NA>
## 678 656 8 <NA>
## 679 1417 1 2680675
## 680 0 0 <NA>
## 681 75 0 <NA>
## 682 134 0 <NA>
## 683 41 0 <NA>
## 684 0 0 <NA>
## 685 0 0 <NA>
## 686 0 0 <NA>
## 687 0 0 <NA>
## 688 0 0 <NA>
## 689 0 0 <NA>
## 690 225 3 <NA>
## 691 203 2 <NA>
## 692 69 0 <NA>
## 693 2 0 <NA>
## 694 19868 291 <NA>
## 695 87 2 <NA>
## 696 0 0 <NA>
## 697 0 0 <NA>
## 698 0 0 <NA>
## 699 1 0 <NA>
## 700 1 0 <NA>
## 701 0 0 <NA>
## 702 285 1 <NA>
## 703 5555 4 1217415
## 704 0 0 <NA>
## 705 300 1 <NA>
## 706 2073 30 3135168
## 707 41 1 <NA>
covid_stats <- covid_date |>
group_by(iso3c, continent, country, year) |>
summarize(cases = sum(new_cases),
deaths = sum(new_deaths),
vaxed = sum(people_fully_vaccinated))
covid_stats <- covid_stats |>
mutate(vaxed = as.double(vaxed))
covid_stats
## # A tibble: 707 × 7
## # Groups: iso3c, continent, country [236]
## iso3c continent country year cases deaths vaxed
## <chr> <chr> <chr> <dbl> <int> <int> <dbl>
## 1 ABW North America Aruba 2020 50 0 NA
## 2 ABW North America Aruba 2021 671 0 NA
## 3 ABW North America Aruba 2022 0 0 NA
## 4 AFG Asia Afghanistan 2020 0 0 NA
## 5 AFG Asia Afghanistan 2021 20 0 NA
## 6 AFG Asia Afghanistan 2022 43 2 NA
## 7 AGO Africa Angola 2020 62 2 NA
## 8 AGO Africa Angola 2021 0 0 NA
## 9 AGO Africa Angola 2022 0 0 NA
## 10 AIA North America Anguilla 2020 0 0 NA
## # ℹ 697 more rows
covid_cov <- covid_stats |>
mutate(
disease = 'COVID19',
disease_desc = 'Coronavirus 19'
)
covid_clean <- covid_cov |>
left_join(wb_population, by = c("iso3c", country = "country_name", "year")) |>
mutate(coverage = vaxed/pop_total)
covid_clean
## # A tibble: 707 × 11
## # Groups: iso3c, continent, country [236]
## iso3c continent country year cases deaths vaxed disease disease_desc
## <chr> <chr> <chr> <dbl> <int> <int> <dbl> <chr> <chr>
## 1 ABW North America Aruba 2020 50 0 NA COVID19 Coronavirus…
## 2 ABW North America Aruba 2021 671 0 NA COVID19 Coronavirus…
## 3 ABW North America Aruba 2022 0 0 NA COVID19 Coronavirus…
## 4 AFG Asia Afghanistan 2020 0 0 NA COVID19 Coronavirus…
## 5 AFG Asia Afghanistan 2021 20 0 NA COVID19 Coronavirus…
## 6 AFG Asia Afghanistan 2022 43 2 NA COVID19 Coronavirus…
## 7 AGO Africa Angola 2020 62 2 NA COVID19 Coronavirus…
## 8 AGO Africa Angola 2021 0 0 NA COVID19 Coronavirus…
## 9 AGO Africa Angola 2022 0 0 NA COVID19 Coronavirus…
## 10 AIA North America Anguilla 2020 0 0 NA COVID19 Coronavirus…
## # ℹ 697 more rows
## # ℹ 2 more variables: pop_total <dbl>, coverage <dbl>
#Create ID and join to data set
covid_key = mutate(covid_clean,
id = paste(iso3c, year, disease, sep = '_'))
covid_key <- covid_key |>
mutate(antig = "SARSCOV2",
antig_desc = "SARS Coronavirus 2 vaccine")
covid_key
## # A tibble: 707 × 14
## # Groups: iso3c, continent, country [236]
## iso3c continent country year cases deaths vaxed disease disease_desc
## <chr> <chr> <chr> <dbl> <int> <int> <dbl> <chr> <chr>
## 1 ABW North America Aruba 2020 50 0 NA COVID19 Coronavirus…
## 2 ABW North America Aruba 2021 671 0 NA COVID19 Coronavirus…
## 3 ABW North America Aruba 2022 0 0 NA COVID19 Coronavirus…
## 4 AFG Asia Afghanistan 2020 0 0 NA COVID19 Coronavirus…
## 5 AFG Asia Afghanistan 2021 20 0 NA COVID19 Coronavirus…
## 6 AFG Asia Afghanistan 2022 43 2 NA COVID19 Coronavirus…
## 7 AGO Africa Angola 2020 62 2 NA COVID19 Coronavirus…
## 8 AGO Africa Angola 2021 0 0 NA COVID19 Coronavirus…
## 9 AGO Africa Angola 2022 0 0 NA COVID19 Coronavirus…
## 10 AIA North America Anguilla 2020 0 0 NA COVID19 Coronavirus…
## # ℹ 697 more rows
## # ℹ 5 more variables: pop_total <dbl>, coverage <dbl>, id <chr>, antig <chr>,
## # antig_desc <chr>
covid_key <- covid_key[,c(12,1,2,3,4,5,6,11,8,9,13,14)]
Join COVID table onto VPD data using full join (no existing COVID data to join onto via Left join)
#| echo: false
#| warning: false
#Full join of both data sets using ID field
diseases <- vpd_combo |>
full_join(covid_key, by = c("id", "iso3c", "country", "year", "cases","disease", "disease_desc", "coverage", "antig", "antig_desc"))
diseases_update <- diseases |>
mutate(vpd = case_when(disease != "COVID19" ~ "VPD",
disease == "COVID19" ~ "COVID"))
#Drop id & group for future joins and analysis
diseases_total <- diseases_update[,-c(1,2,13,14,16,17)]
diseases_total |>
view()
#Look at missingness
miss_var_summary(diseases_total)
## # A tibble: 12 × 3
## variable n_miss pct_miss
## <chr> <int> <dbl>
## 1 coverage 52604 66.3
## 2 antig 35599 44.9
## 3 antig_desc 35599 44.9
## 4 ir 18547 23.4
## 5 cases 17831 22.5
## 6 units 707 0.892
## 7 iso3c 0 0
## 8 country 0 0
## 9 year 0 0
## 10 disease 0 0
## 11 disease_desc 0 0
## 12 vpd 0 0
#Reorder columns
diseases_total <- diseases_total |>
relocate(vpd, .after = year) |>
relocate(antig, .after = disease_desc) |>
relocate(antig_desc, .after = antig) |>
rename(vax = antig,
vax_desc = antig_desc) |>
view()
Shrink data set down to 1990-2023 for easier manipulations but long enough for meaningful findings
#| echo: false
#| warning: false
#Filter Data from after 1990
diseases_short <- diseases_total |>
filter(year >= 1990 )
diseases_short
## # A tibble: 66,512 × 12
## iso3c country year vpd disease disease_desc vax vax_desc cases units
## <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr> <dbl> <chr>
## 1 ABW Aruba 2021 VPD RUBELLA Rubella RCV1 Rubella… 0 per …
## 2 ABW Aruba 2021 VPD POLIO Poliomyelitis IPV1 Inactiv… 0 per …
## 3 ABW Aruba 2021 VPD POLIO Poliomyelitis IPV1_F… Fractio… 0 per …
## 4 ABW Aruba 2021 VPD POLIO Poliomyelitis IPV2 Inactiv… 0 per …
## 5 ABW Aruba 2021 VPD POLIO Poliomyelitis IPV2_F… Fractio… 0 per …
## 6 ABW Aruba 2021 VPD POLIO Poliomyelitis POL3 Polio, … 0 per …
## 7 ABW Aruba 2021 VPD TTETANUS Tetanus TT2PLUS Tetanus… 0 per …
## 8 ABW Aruba 2021 VPD TTETANUS Tetanus TTCV4 Tetanus… 0 per …
## 9 ABW Aruba 2021 VPD TTETANUS Tetanus TTCV5 Tetanus… 0 per …
## 10 ABW Aruba 2021 VPD TTETANUS Tetanus TTCV6 Tetanus… 0 per …
## # ℹ 66,502 more rows
## # ℹ 2 more variables: ir <dbl>, coverage <dbl>
Join onto WB country data
#| echo: false
#| warning: false
#Join to VPD data for full disease comparison data set
diseases_clean <- diseases_short |>
left_join(wb_data, by = c("iso3c", "country", "year"))
#Remove unneeded columns
diseases_clean <- diseases_clean[,-c(16)]
diseases_clean |>
select(iso3c, country, year) |>
filter(is.na(country)) |>
unique() |>
view()
diseases_clean |>
filter(grepl("antilles", country, ignore.case = TRUE))
## # A tibble: 74 × 18
## iso3c country year vpd disease disease_desc vax vax_desc cases units
## <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr> <dbl> <chr>
## 1 ANT Netherland… 2000 VPD DIPHTH… Diphtheria <NA> <NA> NA per …
## 2 ANT Netherland… 2000 VPD MUMPS Mumps <NA> <NA> NA per …
## 3 ANT Netherland… 2000 VPD MEASLES Measles MCV1 Measles… NA per …
## 4 ANT Netherland… 2000 VPD MEASLES Measles MCV2 Measles… NA per …
## 5 ANT Netherland… 2000 VPD YFEVER Yellow fever YFV Yellow … NA per …
## 6 ANT Netherland… 2000 VPD PERTUS… Pertussis <NA> <NA> NA per …
## 7 ANT Netherland… 2000 VPD POLIO Poliomyelit… POL3 Polio, … 0 per …
## 8 ANT Netherland… 2000 VPD CRS Congenital … <NA> <NA> NA per …
## 9 ANT Netherland… 2000 VPD RUBELLA Rubella <NA> <NA> NA per …
## 10 ANT Netherland… 2000 VPD TTETAN… Tetanus TT2P… Tetanus… NA per …
## # ℹ 64 more rows
## # ℹ 8 more variables: ir <dbl>, coverage <dbl>, gdp <dbl>, gdp_ppp <dbl>,
## # gni <dbl>, region <chr>, income_level <chr>, gdp_health <dbl>
diseases_clean |>
filter(grepl("kosovo", country, ignore.case = TRUE))
## # A tibble: 27 × 18
## iso3c country year vpd disease disease_desc vax vax_desc cases units
## <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr> <dbl> <chr>
## 1 XKX Kosovo (in… 2021 VPD JAPENC Japanese en… JAPE… Japanes… NA per …
## 2 XKX Kosovo (in… 2021 VPD YFEVER Yellow fever YFV Yellow … NA per …
## 3 XKX Kosovo (in… 2021 VPD TTETAN… Tetanus TT2P… Tetanus… NA per …
## 4 XKX Kosovo (in… 2021 VPD TTETAN… Tetanus TTCV4 Tetanus… NA per …
## 5 XKX Kosovo (in… 2021 VPD TTETAN… Tetanus TTCV5 Tetanus… NA per …
## 6 XKX Kosovo (in… 2021 VPD TTETAN… Tetanus TTCV6 Tetanus… NA per …
## 7 XKX Kosovo (in… 2021 VPD MUMPS Mumps <NA> <NA> NA per …
## 8 XKX Kosovo (in… 2021 VPD PERTUS… Pertussis PERC… Pertuss… NA per …
## 9 XKX Kosovo (in… 2021 VPD PERTUS… Pertussis PERC… Pertuss… NA per …
## 10 XKX Kosovo (in… 2021 VPD CRS Congenital … <NA> <NA> NA per …
## # ℹ 17 more rows
## # ℹ 8 more variables: ir <dbl>, coverage <dbl>, gdp <dbl>, gdp_ppp <dbl>,
## # gni <dbl>, region <chr>, income_level <chr>, gdp_health <dbl>
#clean up names & add flag
diseases_clean <- diseases_clean |>
mutate(flag = iso3c_to_x(iso3c, destination = "unicode.symbol"))
diseases_clean |>
select(iso3c, country, year) |>
filter(iso3c == "ANT" | iso3c == "XKX") |>
unique() |>
view()
Add IMF Growth Data
#IMF Growth Data Set Import
imf_growth <- read_excel(
"C:/Users/joeau/OneDrive - Johns Hopkins/SAIS/Year 2/Sustainable Finance/final_project/00_data_raw/ECON/imf_export.xls")
imf_growth <- imf_growth |>
slice(2:n()) |>
pivot_longer(!'Real GDP growth (Annual percent change)', names_to = "year", values_to = "growth_rate") |>
mutate(growth_rate = ifelse(growth_rate == "no data", "", growth_rate),
growth_rate = format(growth_rate, nsmall = 2),
growth_rate = as.numeric(growth_rate),
year = as.numeric(year)) |>
rename(country = 'Real GDP growth (Annual percent change)') |>
view()
#Filter down to after 1990
imf_growth <- imf_growth |>
filter(year >= 1990)
#Check countries
imf_growth |>
distinct(country) |>
view()
#Clean names
imf <- imf_growth |>
mutate(iso3c = country_name_regex_to_iso3c(country),
country = iso3c_to_country_name(iso3c))
imf <- imf[,c(4,1,2,3)]
#Join onto main data set
diseases_final <- diseases_clean |>
left_join(imf, by = c("iso3c", "country", "year"))
Now that data is assembled, write to a .csv file for storage and use later in analysis and exploration
path_out = 'C:\\Users\\joeau\\OneDrive - Johns Hopkins\\SAIS\\Year 2\\Sustainable Finance\\final_project\\03_data_processed\\'
fileName = paste(path_out, 'vpd_covid_project.csv',sep = '')
write.csv(diseases_final,fileName)
For part of this analysis, would like to analyze VPD vaccination as part of health expenditure to try to illustrate an effect of COVID-19 on VPD immunization coverage. Data seems hard to find and might be better to wait for data exploration of particular pathogens to narrow down data to download?
Ideas:
By specific antigen
Over year period
Not market price, contracted price
Further, for vaccine prices does it make sense to show prices over time if they have been negotiated through multi-laterals like UNICEF? These are likely subsidized costs compared to market price. Better to narrow down to most burdensome VPDs and then show prices so data is available?
Interested in presenting something similar to this:
Another issue identified is a mismatch in vaccination coverage (2 parts)
Vaccination data - lists additional vaccines for pathogens not in case data set. Current plan is to only analyze pathogens in case data set and exclude others in vaccination coverage.
There are some combination vaccines that are skewing data - DPT is a Diptheria/Pertussis combination vaccine and join is only occurring on Diptheria. Is there a known work around or way to approximate match so it double counts only in this instance for both pathogens?
Another two issues are standardization of units
Incident rates are measures as either per 1,000,000 <15 population, per 1,000 live births, or per 1,000,000 total population
Vaccination coverage is measured both at the administrative and official levels
Econ data in total $USD (maybe present in $M USD?)
Finally, the message I am trying to end this project with is not only the disruption of COVID-19 and the burden of VPDs/Vaccine coverages, but to also show the value of investing and funding these vaccines for impact investors:
Need to somehow show value for money
Potential for growth
Returns on human live and capital investment (R&D might be hard to show)