# \donttest{
# set number of cores to use
old_opts <- options()
options(mc.cores = ifelse(interactive(), 4, 1))
# get example case counts
reported_cases <- example_confirmed[1:50]
# set up example generation time
generation_time <- get_generation_time(disease = "SARS-CoV-2", source = "ganyani")
# set delays between infection and case report
incubation_period <- get_incubation_period(disease = "SARS-CoV-2", source = "lauer")
reporting_delay <- list(
mean = convert_to_logmean(2, 1), mean_sd = 0.1,
sd = convert_to_logsd(2, 1), sd_sd = 0.1, max = 15
)
# fit model to data to recover Rt estimates
est <- estimate_infections(reported_cases,
generation_time = generation_time,
delays = delay_opts(incubation_period, reporting_delay),
rt = rt_opts(prior = list(mean = 2, sd = 0.1), rw = 7),
stan = stan_opts(control = list(adapt_delta = 0.9)),
obs = obs_opts(scale = list(mean = 0.1, sd = 0.01)),
gp = NULL, horizon = 0
)
# update Rt trajectory and simulate new infections using it
R <- c(rep(NA_real_, 26), rep(0.5, 10), rep(0.8, 7))
sims <- simulate_infections(est, R)
plot(sims)
# with a data.frame input of samples
R_dt <- data.frame(
date = seq(
min(summary(est, type = "parameters", param = "R")$date),
by = "day", length.out = length(R)
),
value = R
)
sims <- simulate_infections(est, R_dt)
plot(sims)
#' # with a data.frame input of samples
R_samples <- summary(est, type = "samples", param = "R")
R_samples <- R_samples[, .(date, sample, value)][sample <= 1000][date <= "2020-04-10"]
R_samples <- R_samples[date >= "2020-04-01", value := 1.1]
sims <- simulate_infections(est, R_samples)
plot(sims)
options(old_opts)
# }
Run the code above in your browser using DataLab