library(tidyverse)
library(cowplot);
library(scales)
library(lubridate)
library(plotly)
theme_set(theme_classic(base_size = 12) +
background_grid(minor = "none", major = "none") +
theme(legend.position = "none"))
d <- read_csv("https://docs.google.com/spreadsheets/d/1xgDhtejTtcyy6EN5dbDp5W3TeJhKFRRgm6Xk0s0YFeA/export?format=csv&gid=1788393542") %>%
rename(new_deaths = "Dauðsföll", new_cases = Ny_Smit, total_cases = Smit_Samtals, total_deaths = Dauðsföll_Samtals) %>%
mutate(date = ymd(Dagsetning),
country = "Iceland") %>%
select(country, date, total_cases, new_cases, new_deaths, total_deaths,
innanlands = Innanlands_Smit)
Samtals Smit
p <- tibble(
date = seq.Date(from = ymd("2020-02-20"), to = ymd("2020-02-26"), by = "day"),
new_cases = 0,
total_cases = 0,
new_deaths = 0,
total_deaths = 0,
country = "Iceland"
) %>%
bind_rows(d) %>%
mutate(rolling_new_cases = data.table::frollmean(new_cases, n = 7, align = "right")) %>%
expand_grid(
tibble(
wave = c("1", "2"),
start = ymd(c("2020-02-27", "2020-07-23")),
stop = ymd(c("2020-05-04", "2022-01-01"))
)
) %>%
filter(date >= start, date <= stop) %>%
group_by(wave) %>%
mutate(total_cases = total_cases - min(total_cases)) %>%
mutate(days = row_number()) %>%
filter(days < 60) %>%
pivot_longer(c(new_cases, total_cases, rolling_new_cases)) %>%
mutate(name = fct_recode(name,
"Dagleg smit" = "new_cases",
"Uppsöfnuð smit" = "total_cases",
"Vikulegt meðaltal" = "rolling_new_cases")) %>%
ggplot(aes(days, value, col = wave, group = wave,
text = str_c("Bylgja: ", wave, "<br>",
"Dagur: ", days, "<br>",
"Breyta: ", name, "<br>",
"Gildi: ", round(value, 1)))) +
geom_line() +
facet_wrap("name", scales = "free") +
scale_colour_brewer(type = "qual", palette = "Set1") +
scale_y_continuous(expand = expansion(mult = 0.01)) +
labs(colour = "Bylgja",
x = "\n\n\n\nDagar frá upphafi bylgju") +
theme(
# legend.position = c(0.04, 0.89),
legend.position = "top",
axis.title.y = element_blank(),
axis.title.x = element_text(size = 9),
axis.text = element_text(size = 8),
legend.text = element_text(size = 9),
legend.title = element_text(size = 11),
plot.margin = margin(50, 5, 5, 5)
)
ggplotly(p, tooltip = "text") %>%
layout(title = list(text = str_c("Samanburður á bylgjum á Íslandi (Samtals smit)",
"<br>",
"<sub>",
"Miðað við að fyrsta bylgja hófst 27. febrúar og önnur 23. júlí",
"</sub>",
"<br>")))
Innanlands Smit
p <- tibble(
date = seq.Date(from = ymd("2020-02-20"), to = ymd("2020-02-26"), by = "day"),
new_cases = 0
) %>%
bind_rows(d %>% select(date, new_cases = innanlands)) %>%
mutate(total_cases = cumsum(new_cases),
rolling_new_cases = data.table::frollmean(new_cases, n = 7, align = "right")) %>%
expand_grid(
tibble(
wave = c("1", "2"),
start = ymd(c("2020-03-04", "2020-07-23")),
stop = ymd(c("2020-05-04", "2022-01-01"))
)
) %>%
filter(date >= start, date <= stop) %>%
group_by(wave) %>%
mutate(total_cases = total_cases - min(total_cases)) %>%
mutate(days = row_number()) %>%
filter(days < 60) %>%
pivot_longer(c(new_cases, total_cases, rolling_new_cases)) %>%
mutate(name = fct_recode(name,
"Dagleg smit" = "new_cases",
"Uppsöfnuð smit" = "total_cases",
"Vikulegt meðaltal" = "rolling_new_cases")) %>%
ggplot(aes(days, value, col = wave, group = wave,
text = str_c("Bylgja: ", wave, "<br>",
"Dagur: ", days, "<br>",
"Breyta: ", name, "<br>",
"Gildi: ", round(value, 1)))) +
geom_line() +
facet_wrap("name", scales = "free") +
scale_colour_brewer(type = "qual", palette = "Set1") +
scale_y_continuous(expand = expansion(mult = 0.01)) +
labs(colour = "Bylgja",
x = "\n\n\n\nDagar frá upphafi bylgju") +
theme(
# legend.position = c(0.04, 0.89),
legend.position = "top",
axis.title.y = element_blank(),
axis.title.x = element_text(size = 9),
axis.text = element_text(size = 8),
legend.text = element_text(size = 9),
legend.title = element_text(size = 11),
plot.margin = margin(50, 5, 5, 5)
)
ggplotly(p, tooltip = "text") %>%
layout(title = list(text = str_c("Samanburður á bylgjum á Íslandi (Innanlands smit)",
"<br>",
"<sub>",
"Miðað við að fyrsta bylgja hófst 4. mars og önnur 23. júlí",
"</sub>",
"<br>")))