Created
October 28, 2020 10:07
-
-
Save mikkelkrogsholm/1ed3b7b3629f9f4023ec859b75a848a3 to your computer and use it in GitHub Desktop.
Code for comparing danish covid deaths with others deaths
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(tidyverse) | |
library(lubridate) | |
# JH Data | |
newnames <- c("province", "country", "lat", "lon") | |
url_global_deaths = "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv" | |
global_deaths_raw <- read_csv(url_global_deaths) | |
names(global_deaths_raw)[1:4] <- newnames | |
global_deaths <- global_deaths_raw %>% | |
gather(date, deaths, -newnames) %>% | |
mutate(date = lubridate::mdy(date)) %>% | |
group_by(country, province, lat, lon) %>% | |
arrange(date) %>% | |
mutate(new_deaths = deaths - lag(deaths)) %>% | |
ungroup() | |
deaths <- global_deaths %>% | |
filter(country == "Denmark", is.na(province)) %>% | |
select(date, covid = new_deaths) | |
# SST Data | |
url <- "https://api.statbank.dk/v1/data/DODC1/CSV?Tid=*" | |
data_raw <- read_csv2(url) | |
data = data_raw %>% | |
set_names(c("date", "deaths")) %>% | |
mutate(date = date %>% str_replace_all("M|D", "-"), | |
date = date %>% ymd(), | |
y = year(date), | |
m = month(date), | |
d = day(date)) %>% | |
group_by(y) %>% | |
mutate(doy = 1:n()) %>% | |
ungroup() | |
# Combine data | |
pd = data %>% | |
left_join(deaths) %>% | |
mutate(deaths_no_covid = ifelse(is.na(covid), deaths, deaths - covid)) %>% | |
mutate(covid_rm = c(rep(NA, 3), # Adding a rolling mean | |
zoo::rollmean(x = covid, k = 7), | |
rep(NA, 3))) %>% | |
mutate(deaths_no_covid_rm = c(rep(NA, 3), # Adding a rolling mean | |
zoo::rollmean(x = deaths_no_covid, k = 7), | |
rep(NA, 3))) | |
death_minmax <- pd %>% | |
filter(y != 2020) %>% | |
group_by(doy) %>% | |
summarise(mindeaths = min(deaths_no_covid_rm, na.rm = T), | |
maxdeaths = max(deaths_no_covid_rm, na.rm = T), | |
avgdeaths = mean(deaths_no_covid_rm, na.rm = T)) %>% | |
ungroup() | |
bardata = pd %>% | |
filter(y == 2020) %>% | |
select(doy, covid_rm, deaths_no_covid_rm) | |
# gather(type, count, -doy) %>% | |
# drop_na() | |
# Plot the data | |
ggplot() + | |
geom_ribbon(data = death_minmax, aes(x = doy, ymin = 0, ymax = maxdeaths), fill = "lightgrey") + | |
geom_ribbon(data = bardata, aes(x = doy, ymin = 0, ymax = deaths_no_covid_rm), fill = "blue") + | |
geom_ribbon(data = bardata, aes(x = doy, ymin = deaths_no_covid_rm, ymax = deaths_no_covid_rm + covid_rm), fill = "red") + | |
# geom_line(data = death_minmax, aes(x = doy, y = mindeaths)) + | |
# geom_line(data = death_minmax, aes(x = doy, y = maxdeaths)) + | |
geom_line(data = death_minmax, aes(x = doy, y = avgdeaths), color = "white", linetype = "dashed") + | |
theme_minimal() + | |
labs(y = "Døde per dag i Danmark", | |
x = "Årets dage", | |
caption = "Kilde: Danmarks Statistik (tabel: DODC1) og Johns Hopkins University (https://github.com/CSSEGISandData/COVID-19)", | |
title = "Døde per dag i Danmark", | |
subtitle = " | |
Den bagvedliggende grå farve er det maksimale dødstal registreret på den pågældende dag siden 2007. | |
Den blå farve er antal døde i Danmark i 2020, der IKKE er døde 'med COVID'. | |
Den røde farve er antal døde i Danmark i 2020, der er døde 'med COVID'. | |
Den hvide linje er gennemsnitsdødstallet på den pågældende dag siden 2007.") | |
h = 5 | |
w = h * 1.61803398875 | |
ggsave("deaths_dk2.png", width = w, height = h) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment