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 sample time limitations.

Usage

inf_hist_swap(
  infection_history,
  inf_hist_masks,
  proposal_inf_hist_indiv_swap_ratio,
  proposal_inf_hist_distance,
  proposal_ratios = NULL
)

Arguments

infection_history

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

inf_hist_masks

matrix of 1s and 0s corresponding to infection_history, with a 1 where the infection state is eligible to be updated and a 0 otherwise

proposal_inf_hist_indiv_swap_ratio

what proportion of infections should be swapped?

proposal_inf_hist_distance

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_antibody_data)
data(example_antigenic_map)
times <- example_antigenic_map$inf_times
ages <- unique(example_antibody_data[,c("birth","individual")])
age_mask <- create_age_mask(ages$birth, times)
sample_mask <- create_sample_mask(example_antibody_data, times)
new_inf_hist <- inf_hist_swap(example_inf_hist, age_mask,sample_mask, 1,3)[[1]]

seroanalytics/serosolver documentation built on Dec. 14, 2024, 5:33 a.m.