inf_hist_swap: Swap infection history years

View source: R/proposal_infection_history.R

inf_hist_swapR Documentation

Swap infection history years

Description

Swaps the entire contents of two columns of the infection history matrix, adhering to age and strain limitations.

Usage

inf_hist_swap(
  infection_history,
  age_mask,
  strain_mask,
  swap_propn,
  move_size,
  proposal_ratios = NULL
)

Arguments

infection_history

matrix of 1s and 0s to swap around representing the infection history

age_mask

the first index in infection_history that each individual (row) could be infected in

strain_mask

the last index in infection_history that each individual (row) could be infected in ie. the time of the latest blood sample

swap_propn

what proportion of infections should be swapped?

move_size

How many time points away should be chosen as candidate swaps?

proposal_ratios

optional NULL. Can set the relative sampling weights of the infection state times. Should be an integer vector of length matching nrow(antigenic_map). Otherwise, leave as NULL for uniform sampling.

Value

the same infection_history matrix, but with two columns swapped

See Also

Other proposals: inf_hist_swap_phi(), infection_history_symmetric(), mvr_proposal(), univ_proposal()

Examples

data(example_inf_hist)
data(example_titre_dat)
data(example_antigenic_map)
times <- example_antigenic_map$inf_times
ages <- unique(example_titre_dat[,c("DOB","individual")])
age_mask <- create_age_mask(ages$DOB, times)
strain_mask <- create_strain_mask(example_titre_dat, times)
new_inf_hist <- inf_hist_swap(example_inf_hist, age_mask,strain_mask, 1,3)[[1]]

seroanalytics/serosolver documentation built on April 24, 2023, 9:52 a.m.