Quick check to debunk some wrong plots on Hospitalization vs. Vaccination Rate.
Just to make it clear, this is just a simple correlation, as cross country comparison would require a multivariate analysis, as many factors influence this analysis. Just to name a few: restrictions / measures in place, median age of the country, population density etc. But at least this analysis takes in consideration the inhabitants of each country, it provides data and is easily reproducible (all the code is here).
Data for vaccination and hospitalization rates come from:
Population numbers come from:
Data from a few countries are not taken from the exact same date due to data availability, but the difference is negligible.
library(dplyr)
library(ggplot2)
library(kableExtra)
cov_hosp_vac <- read.csv2(file = 'Covid_Hosp_Vaccine.csv')
kable(cov_hosp_vac, caption = 'Source data') %>%
kable_styling("striped", full_width = T, position = 'left')
country | country_code | day_vax | people_fully_vaccinated | day_hosp | daily_hospital_occupancy | population |
---|---|---|---|---|---|---|
Austria | AUT | 30/11/2021 | 65.94 | 28/11/2021 | 290.167 | 9079404 |
Belgium | BEL | 30/11/2021 | 74.77 | 28/11/2021 | 304.840 | 11661287 |
Denmark | DNK | 30/11/2021 | 76.67 | 28/11/2021 | 74.828 | 5821184 |
Finland | FIN | 30/11/2021 | 72.61 | 28/11/2021 | 58.035 | 5552952 |
France | FRA | 30/11/2021 | 69.79 | 28/11/2021 | 138.846 | 65478756 |
Ireland | IRL | 30/11/2021 | 76.18 | 28/11/2021 | 113.588 | 5016107 |
Israel | ISR | 30/11/2021 | 62.18 | 30/11/2021 | 19.051 | 9326000 |
Italy | ITA | 30/11/2021 | 72.98 | 28/11/2021 | 92.798 | 60335462 |
Netherlands | NLD | 28/11/2021 | 74.08 | 28/11/2021 | 121.760 | 17188747 |
Norway | NOR | 30/11/2021 | 70.13 | 26/11/2021 | 40.435 | 5481453 |
Spain | ESP | 30/11/2021 | 80.49 | 19/11/2021 | 51.299 | 46780515 |
Sweden | SWE | 30/11/2021 | 70.22 | 28/11/2021 | 29.035 | 10188725 |
Switzerland | CHE | 30/11/2021 | 65.44 | 30/11/2021 | 153.175 | 8744527 |
United Kingdom | GBR | 30/11/2021 | 68.03 | 30/11/2021 | 112.070 | 68392645 |
Clear trend: the higher the vaccination rate, the lower the hospitalization rate.
The plot weights the number of inhabitants of each country and shows a 95% confidence interval.
ggplot(cov_hosp_vac, aes(x = people_fully_vaccinated, y = daily_hospital_occupancy, size = population)) +
geom_point(colour = 'blue', show.legend = FALSE) +
geom_text(aes(label = country_code, size = 100), hjust = -.5, size = 4) +
geom_smooth(method = 'lm', mapping = aes(weight = population), level = .95, show.legend = FALSE) +
labs(x = 'Share of people fully vaccinated (percentage)', y = 'Hospitalizations per million inhabitants')
## `geom_smooth()` using formula 'y ~ x'