## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 5
)

## ----load-data----------------------------------------------------------------
library(seroreconstruct)

data("inputdata")
data("flu_activity")

head(inputdata)
dim(inputdata)

## ----fit-model, eval = FALSE--------------------------------------------------
# fit <- sero_reconstruct(inputdata, flu_activity,
#                         n_iteration = 200000, burnin = 100000, thinning = 10)

## ----fit-short----------------------------------------------------------------
fit <- sero_reconstruct(inputdata, flu_activity,
                        n_iteration = 2000, burnin = 1000, thinning = 1)
fit

## ----summary------------------------------------------------------------------
summary(fit)

## ----diagnostics, fig.height = 8----------------------------------------------
plot_diagnostics(fit, params = c("random_error", "twofold_error"))

## ----trajectory, fig.height = 4-----------------------------------------------
plot_trajectory(fit, id = 1)

## ----boosting-waning, fig.height = 4, fig.width = 9---------------------------
oldpar <- par(mfrow = c(1, 2))
plot_boosting(fit)
plot_waning(fit)
par(oldpar)

## ----infection-prob, fig.height = 3-------------------------------------------
plot_infection_prob(fit)

## ----tables-------------------------------------------------------------------
# Model parameter estimates
table_parameters(fit)

# Per-individual infection probabilities
head(table_infections(fit))

## ----group-by, eval = FALSE---------------------------------------------------
# fit_by_age <- sero_reconstruct(inputdata, flu_activity,
#                                n_iteration = 200000, burnin = 100000,
#                                thinning = 10, group_by = ~age_group)
# 
# summary(fit_by_age)

## ----shared, eval = FALSE-----------------------------------------------------
# # Share all parameters except infection probability
# fit_joint <- sero_reconstruct(inputdata, flu_activity,
#                               n_iteration = 200000, burnin = 100000,
#                               thinning = 10,
#                               group_by = ~age_group,
#                               shared = c("error", "boosting_waning"))
# 
# summary(fit_joint)

## ----simulate-----------------------------------------------------------------
data("para1")
data("para2")

sim <- simulate_data(inputdata, flu_activity, para1, para2)
names(sim)

