# \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]
# fit model to data to recover Rt estimates
est <- estimate_infections(reported_cases,
generation_time = generation_time_opts(example_generation_time),
delays = delay_opts(example_incubation_period + example_reporting_delay),
rt = rt_opts(prior = LogNormal(mean = 2, sd = 0.1), rw = 7),
obs = obs_opts(scale = Normal(mean = 0.1, sd = 0.01)),
gp = NULL,
forecast = forecast_opts(horizon = 0)
)
# update Rt trajectory and simulate new infections using it
R <- c(rep(NA_real_, 26), rep(0.5, 10), rep(0.8, 14))
sims <- forecast_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 <- forecast_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 <- forecast_infections(est, R_samples)
plot(sims)
options(old_opts)
# }
Run the code above in your browser using DataLab