-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimperial_model.Rmd
109 lines (89 loc) · 4.41 KB
/
imperial_model.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
---
title: "COVID-19 Modelling - Imperial"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)
library(zoo)
library(readxl)
source("functions.R")
age_specific_parameters <- read_csv("age_specific_parameters.csv")
populations <- read_csv("populations/populations.csv", col_types = cols(X1 = col_skip()))
#####
## CHOICES
#####
Area = "England"
Type = "Resident"
```
## Imperial model info and assumptions
Add text here
```{r model, results=FALSE}
models <- list()
for(i in 1:nrow(age_specific_parameters)) {
Age = age_specific_parameters$age_group[i]
attack_rate = age_specific_parameters$attack_rate_r2_0[i]
mortality_rate = age_specific_parameters$mortality_rate[i]
symptomatic_pct = age_specific_parameters$symptomatic_pct[i]
symptomatic_requring_hospital_pct = age_specific_parameters$symptomatic_requring_hospital_pct[i]
cc = age_specific_parameters$hospitalised_requiring_critical_care[i]
cc_nasal = age_specific_parameters$critical_care_nasal[i]
cc_ventilation_noninvasive = age_specific_parameters$critical_care_ventilation_noninvasive[i]
cc_ventilation_invasive = age_specific_parameters$critical_care_ventilation_invasive[i]
cc_ventilation_prone = age_specific_parameters$critical_care_ventilation_prone[i]
cc_ecmo = age_specific_parameters$critical_care_ecmo[i]
cc_renal_replacement = age_specific_parameters$critical_care_renal_replacement[i]
cc_vasoconstrictive = age_specific_parameters$critical_care_vasoconstrictive[i]
cc_antiviral = age_specific_parameters$critical_care_antiviral[i]
cc_antibacterial = age_specific_parameters$critical_care_antibacterial[i]
cc_glucocorticiods = age_specific_parameters$critical_care_glucocorticiods[i]
cc_immunoglobulin = age_specific_parameters$critical_care_immunoglobulin[i]
ifr = age_specific_parameters$ifr[i]
pop = filter(populations, Area==area & Type==type & Age==age) %>% select(population) %>% sum()
pop = pop * attack_rate
models[[Age]] <- imperial_model(initial_susceptible = pop,
mortality_rate = mortality_rate,
symptomatic_pct = symptomatic_pct,
hospitalised_pct = symptomatic_requring_hospital_pct,
critical_care_pct = cc,
critical_care_nasal = cc_nasal,
critical_care_ventilation_noninvasive = cc_ventilation_noninvasive,
critical_care_ventilation_invasive = cc_ventilation_invasive,
critical_care_ventilation_prone = cc_ventilation_prone,
critical_care_ecmo = cc_ecmo,
critical_care_renal_replacement = cc_renal_replacement,
critical_care_vasoconstrictive = cc_vasoconstrictive,
critical_care_antiviral = cc_antiviral,
critical_care_antibacterial = cc_antibacterial,
critical_care_glucocorticiods = cc_glucocorticiods,
critical_care_immunoglobulin = cc_immunoglobulin,
incidence_fatatilty_rate = ifr,
los_hopsital = 7,
los_critical_care = 14,
los_critical_care_l3 = 14,
mod_critical_care = 0.33,
mod_deaths = 0.5)
}
all_models <- bind_rows(models, .id = "age_group")
m1 <- models$`80+`
```
```{r table}
summary_by_age <- all_models %>%
group_by(age_group) %>%
summarise(total_population = max(total_pop),
peak_day = days[which.max(infected)],
total_cases = max(recovered),
peak_cases = max(infected),
peak_symptomatic = max(symptomatic),
total_hospitalised = sum(hospitalised_admissions),
peak_hospitalised_admissioms = max(hospitalised_admissions),
peak_hosptial_occupied = max(hospitalised_occupied),
total_critical_care = sum(critical_care_admissions),
peak_critical_care_admissions = max(critical_care_admissions),
peak_critical_care_occupied = max(critical_care_occupied),
total_deaths = sum(deaths),
peak_deaths = max(deaths))
summary_by_age
```
```{r graph}
```