Samples a contact survey using a bootstrap
contact_matrix(survey, countries = c(), survey.pop, age.limits, filter,
n = 1, bootstrap, counts = FALSE, symmetric = FALSE,
split = FALSE, estimated.contact.age = c("mean", "sample",
"missing"), missing.participant.age = c("remove", "keep"),
missing.contact.age = c("remove", "sample", "keep"), weights = c(),
weigh.dayofweek = FALSE, sample.all.age.groups = FALSE,
quiet = FALSE, ...)
a survey
object
limit to one or more countries; if not given, will use all countries in the survey; these can be given as country names or 2-letter (ISO Alpha-2) country codes
survey population -- either a data frame with columns 'lower.age.limit' and 'population', or a character vector giving the name(s) of a country or countries from the list that can be obtained via wpp_countries
; if not given, will use the country populations from the chosen countries, or all countries in the survey if countries
is not given
lower limits of the age groups over which to construct the matrix
any filters to apply to the data, given as list of the form (column=filter_value) - only contacts that have 'filter_value' in 'column' will be considered
number of matrices to sample
whether to sample participants and contacts randomly using a bootstrap; by default, will use bootstrap if n > 1
whether to return counts (instead of means)
whether to make matrix symmetric
whether to split the number of contacts and assortativity
if set to "mean" (default), people whose ages are given as a range (in columns named "..._est_min" and "..._est_max") but not exactly (in a column named "..._exact") will have their age set to the mid-point of the range; if set to "sample", the age will be sampled from the range; if set to "missing", age ranges will be treated as missing
if set to "remove" (default), participants without age information are removed; if set to "keep", participants with missing age are kept and treated as a separate age group
if set to "remove" (default), participants that that have contacts without age information are removed; if set to "sample", contacts without age information are sampled from all the contacts of participants of the same age group; if set to "keep", contacts with missing age are kept and treated as a separate age group
columns that contain weights
whether to weigh the day of the week (weight 5 for weekdays ans 2 for weekends)
what to do if bootstrapping fails to sample participants from one or more age groups; if FALSE (default), corresponding rows will be set to NA, if TRUE the sample will be discarded and a new one taken instead
if set to TRUE, output is reduced
further arguments to pass to get_survey
, check
and pop_age
(especially column names)
a list of sampled contact matrices, and the underlying demography of the surveyed population
# NOT RUN {
data(polymod)
contact_matrix(polymod, countries = "United Kingdom", age.limits = c(0, 1, 5, 15))
# }
Run the code above in your browser using DataLab