Makes a cross-sectional data set (age, y(t) set) and adds noise, if desired.
Arguments
- lambda
a
numeric()
scalar indicating the incidence rate (in events per person-years)- n_samples
number of samples to simulate
- age_range
age range of sampled individuals, in years
- age_fixed
specify the curve parameters to use by age (does nothing at present?)
- antigen_isos
Character vector with one or more antibody names. Values must match
curve_params
.- n_mcmc_samples
how many MCMC samples to use:
when
n_mcmc_samples
is in1:4000
a fixed posterior sample is usedwhen
n_mcmc_samples
=0
, a random sample is chosen
- renew_params
whether to generate a new parameter set for each infection
renew_params = TRUE
generates a new parameter set for each infectionrenew_params = FALSE
keeps the one selected at birth, but updates baseline y0
- add_noise
a
logical()
indicating whether to add biological and measurement noise- curve_params
a
data.frame()
containing MCMC samples of parameters from the Bayesian posterior distribution of a longitudinal decay curve model. The parameter columns must be named:antigen_iso
: acharacter()
vector indicating antigen-isotype combinationsiter
: aninteger()
vector indicating MCMC sampling iterationsy0
: baseline antibody level at $t=0$ ($y(t=0)$)y1
: antibody peak level (ELISA units)t1
: duration of infectionalpha
: antibody decay rate (1/days for the current longitudinal parameter sets)r
: shape factor of antibody decay
- noise_limits
biologic noise distribution parameters
- format
a
character()
variable, containing either:"long"
(one measurement per row) or"wide"
(one serum sample per row)
- verbose
logical: if TRUE, print verbose log information to console
- ...
Arguments passed on to
simcs.tinf
Value
a tibble::tbl_df containing simulated cross-sectional serosurvey data, with columns:
age
: age (in days)one column for each element in the
antigen_iso
input argument
Examples
# Load curve parameters
dmcmc <- typhoid_curves_nostrat_100
# Specify the antibody-isotype responses to include in analyses
antibodies <- c("HlyE_IgA", "HlyE_IgG")
# Set seed to reproduce results
set.seed(54321)
# Simulated incidence rate per person-year
lambda <- 0.2
# Range covered in simulations
lifespan <- c(0, 10)
# Cross-sectional sample size
nrep <- 100
# Biologic noise distribution
dlims <- rbind(
"HlyE_IgA" = c(min = 0, max = 0.5),
"HlyE_IgG" = c(min = 0, max = 0.5)
)
# Generate cross-sectional data
csdata <- sim_pop_data(
curve_params = dmcmc,
lambda = lambda,
n_samples = nrep,
age_range = lifespan,
antigen_isos = antibodies,
n_mcmc_samples = 0,
renew_params = TRUE,
add_noise = TRUE,
noise_limits = dlims,
format = "long"
)