/ Germany.R
Germany.R
1 library(ggplot2) 2 3 # Run djhurio's script once to get all EU data & regenerate faceted plots 4 # install.packages(c("data.table", "ISOcodes", "eurostat")) 5 source('deaths-by-week.R'); rm(list = ls()) 6 7 # My goal here: Split mortality data for a single country by pre- & post-CoVID 8 # TODO: Loop over all other countries & generate plots with English labels. 9 country <- 'Germany' 10 covid_start <- 2020 11 label_pre <- 'vor SARS-CoV2' 12 label_post <- 'mit SARS-CoV2' 13 weeks <- seq(from = 0, to = 52, by = 4) 14 file_name <- paste0('output/', country, '.jpg') 15 16 data <- readr::read_csv('data.csv') |> 17 dplyr::filter(cntry == country) |> 18 dplyr::transmute(year, # = gsub('W-\\d+', '', time), 19 # country = cntry, # for all countries, instead of filter 20 week, death.rate) |> 21 dplyr::mutate(SARS = ifelse(year < covid_start, label_pre, label_post)) #|> 22 # dplyr::group_by(Woche) 23 # death_median = median(death.rate), 24 # death_iqr = IQR(death.rate) 25 26 pre <- dplyr::filter(data, SARS == label_pre) 27 post <- dplyr::filter(data, SARS == label_post) 28 N_years <- length(unique(post$year)) 29 max_deaths <- ceiling(max(post$death.rate, pre$death.rate)) 30 31 start <- min(pre$year) 32 end <- max(pre$year) 33 # Grippe <- dplyr::filter(pre, Woche > 7 & Woche < 11) %>% 34 # dplyr::slice_max(death.rate, prop = 0.05) %>% 35 # dplyr::select(Jahr) %>% 36 # unique() 37 38 ggplot(mapping = aes(x = week, y = death.rate, group = year)) + 39 geom_line(data = pre, aes(alpha = year), show.legend = FALSE) + 40 geom_line( 41 data = post, 42 mapping = aes(y = death.rate, color = year), 43 linewidth = 1 44 ) + 45 # facet_wrap(vars(country)) + # for all countries, instead of filter 46 scale_color_gradient(low = 'orange', high = "darkred", name = label_post) + 47 scale_x_continuous(breaks = weeks, 48 minor_breaks = NULL) + 49 ylab('Todesfälle pro 1 Mio. Einwohner:inne:n') + 50 # ylab('Death rate [per million]') + 51 labs( 52 title = 'Deutschland: Sterblichkeit seit SARS-CoV2', 53 # title = paste0(country, ': Death rate before & after SARS-CoV2'), 54 # subtitle = 'Sources: eurostat demo_r_mwk_ts & GitHub.com/djhurio/COVID-19', 55 subtitle = paste0( 56 'Quelle: eurostat demo_r_mwk_ts & GitHub.com/djhurio/COVID-19', 57 '\nFrühere Krisen: Grippe im Spätwinter und Hitze im Sommer', 58 '\nAlterungstrend: ', 59 start, 60 '/hellgrau → ', 61 end, 62 '/schwarz' 63 ), 64 x = 'Kalenderwoche' 65 # x = 'calendar week' 66 ) + 67 theme_minimal() + 68 theme( 69 legend.position = c(.5, .8), 70 legend.background = element_rect(fill = 'white', linewidth = 0) 71 ) + 72 guides(col = guide_legend(ncol = N_years, label.position = 'bottom')) 73 74 ggsave(file_name, 75 width = 2048, 76 height = 1536, 77 units = 'px')