make_linelist {linelist} | R Documentation |
Create a linelist from a data.frame
Description
This function converts a data.frame
or a tibble
into a linelist
object,
where different types of epidemiologically relevant data are tagged. This
includes dates of different events (e.g. onset of symptoms, case reporting),
information on the patient (e.g. age, gender, location) as well as other
information such as the type of case (e.g. confirmed, probable) or the
outcome of the disease. The output will seem to be the same data.frame
, but
linelist
-aware packages will then be able to automatically use tagged
fields for further data cleaning and analysis.
Usage
make_linelist(x, ..., allow_extra = FALSE)
Arguments
x |
a |
... |
< |
allow_extra |
a |
Details
Known variable types include:
-
id
: a unique case identifier asnumeric
orcharacter
-
date_onset
: date of symptom onset (see below for date formats) -
date_reporting
: date of case notification (see below for date formats) -
date_admission
: date of hospital admission (see below for date formats) -
date_discharge
: date of hospital discharge (see below for date formats) -
date_outcome
: date of disease outcome (see below for date formats) -
date_death
: date of death (see below for date formats) -
gender
: afactor
orcharacter
indicating the gender of the patient -
age
: anumeric
indicating the age of the patient, in years -
location
: afactor
orcharacter
indicating the location of the patient -
occupation
: afactor
orcharacter
indicating the professional activity of the patient -
hcw
: alogical
indicating if the patient is a health care worker -
outcome
: afactor
orcharacter
indicating the outcome of the disease (death or survival)
Dates can be provided in the following formats/types:
-
Date
objects (e.g. usingas.Date
on acharacter
with a correct date format); this is the recommended format -
POSIXct/POSIXlt
objects (when a finer scale than days is needed) -
numeric
values, typically indicating the number of days since the first case
Value
The function returns a linelist
object.
See Also
An overview of the linelist package
-
tags_names()
: for a list of known tag names -
tags_types()
: for the associated accepted types/classes -
tags()
: for a list of tagged variables in alinelist
-
set_tags()
: for modifying tags -
tags_df()
: for selecting variables by tags
Examples
if (require(outbreaks)) {
## dataset we will convert to linelist
head(measles_hagelloch_1861)
## create linelist
x <- make_linelist(measles_hagelloch_1861,
id = "case_ID",
date_onset = "date_of_prodrome",
age = "age",
gender = "gender"
)
## print result - just first few entries
head(x)
## check tags
tags(x)
## Tags can also be passed as a list with the splice operator (!!!)
my_tags <- list(
id = "case_ID",
date_onset = "date_of_prodrome",
age = "age",
gender = "gender"
)
new_x <- make_linelist(measles_hagelloch_1861, !!!my_tags)
## The output is strictly equivalent to the previous one
identical(x, new_x)
}