| indToPair {nbTransmission} | R Documentation |
Transforms a dataset of individuals to a dataset of pairs
Description
The function indToPair takes a dataset of observations (such as individuals in an infectious
disease outbreak) and transforms it into a dataset of pairs.
Usage
indToPair(
indData,
indIDVar,
separator = "_",
dateVar = NULL,
units = c("mins", "hours", "days", "weeks"),
ordered = FALSE
)
Arguments
indData |
An individual-level dataframe. |
indIDVar |
The name (in quotes) of the column with the individual ID. |
separator |
The character to be used to separate the individual IDs when creating the pairID. |
dateVar |
The name (in quotes) of the column with the dates that the individuals are observed
(optional unless |
units |
The units for the time difference, only necessary if |
ordered |
A logical indicating if a set of ordered pairs should be returned
( |
Details
The function requires an id column: indIDVar to identify the individual observations.
The resulting pair-level dataframe will have a pairID column which combines the individual IDs
for that pair.
The function can either output all possible pairs (ordered = FALSE) or only ordered pairs
(ordered = TRUE) where the ordered is determined by a date variable (dateVar).
If orded = TRUE, then dateVar must be provided and if ordered = FALSE,
it is optional. In both cases, if dateVar is provided, the output will include the time
difference between the individuals in the pair in the units specified ("mins", "hours", "days", "weeks").
Value
A dataframe of either all possible pairs of individuals (ordered = FALSE) or ordered
pairs of individuals (ordered = TRUE). The dataframe will have all of the original variables
with suffixes ".1" and ".2" corresponding to the original values of
<indIDVar>.1 and <indIDVar>.2.
Added to the dataframe will be a column called pairID which is <indIDVar>.1
and <indIDVar>.2 separated by separator.
If dateVar is provided the dataframe will also include variables <dateVar>.Diff giving
the difference of time of dateVar for <indIDVar>.1 and <indIDVar>.2
in the units specified
Examples
## Create a dataset of all pairs with no date variable
pairU <- indToPair(indData = indData, indIDVar = "individualID")
## Create a dataset of all pairs with a date variable
pairUD <- indToPair(indData = indData, indIDVar = "individualID",
dateVar = "infectionDate", units = "days")
## Create a dataset of ordered pairs
pairO <- indToPair(indData = indData, indIDVar = "individualID",
dateVar = "infectionDate", units = "days", ordered = TRUE)