Nothing
#' Base Tools for Storing and Handling Case Line Lists
#'
#' The *linelist* package provides tools to help storing and handling case line
#' list data. The `linelist` class adds a tagging system to classical
#' `data.frame` or `tibble` objects which permits to identify key
#' epidemiological data such as dates of symptom onset, epi case definition,
#' age, gender or disease outcome. Once tagged, these variables can be
#' seamlessly used in downstream analyses, making data pipelines more robust and
#' reliable.
#'
#' @aliases linelist
#'
#' @section Main functions:
#'
#' * [make_linelist()]: to create `linelist` objects from a `data.frame` or a
#' `tibble`, with the possibility to tag key epi variables
#'
#' * [set_tags()]: to change or add tagged variables in a `linelist`
#'
#' * [tags()]: to get the list of tags of a `linelist`
#'
#' * [tags_df()]: to get a `data.frame` of all tagged variables
#'
#' * [lost_tags_action()]: to change the behaviour of actions where tagged
#' variables are lost (e.g. removing columns storing tagged variables) to
#' issue warnings, errors, or do nothing
#'
#' * [get_lost_tags_action()]: to check the current behaviour of actions where
#' tagged variables are lost
#'
#' @section Dedicated methods:
#'
#' Specific methods commonly used to handle `data.frame` are provided for
#' `linelist` objects, typically to help flag or prevent actions which could
#' alter or lose tagged variables (and may thus break downstream data
#' pipelines).
#'
#' * `names() <-` (and related functions, such as [dplyr::rename()]) will
#' rename tags as needed
#'
#' * `x[...] <-` and `x[[...]] <-` (see [sub_linelist]): will adopt the
#' desired behaviour when tagged variables are lost
#'
#' * `print()`: prints info about the `linelist` in addition to the
#' `data.frame` or `tibble`
#'
#' @examples
#'
#' if (require(outbreaks)) {
#' # using base R style
#'
#' ## dataset we'll create a linelist from, only using the first 50 entries
#' measles_hagelloch_1861[1:50, ]
#'
#' ## create linelist
#' x <- make_linelist(measles_hagelloch_1861[1:50, ],
#' id = "case_ID",
#' date_onset = "date_of_prodrome",
#' age = "age",
#' gender = "gender"
#' )
#' x
#'
#' ## check tagged variables
#' tags(x)
#'
#' ## robust renaming
#' names(x)[1] <- "identifier"
#' x
#'
#' ## example of dropping tags by mistake - default: warning
#' x[, 2:5]
#'
#' ## to silence warnings when taggs are dropped
#' lost_tags_action("none")
#' x[, 2:5]
#'
#' ## to trigger errors when taggs are dropped
#' # lost_tags_action("error")
#' # x[, 2:5]
#'
#' ## reset default behaviour
#' lost_tags_action()
#'
#'
#' # using tidyverse style
#'
#' ## example of creating a linelist, adding a new variable, and adding a tag
#' ## for it
#'
#' if (require(dplyr) && require(magrittr)) {
#' x <- measles_hagelloch_1861 %>%
#' tibble() %>%
#' make_linelist(
#' id = "case_ID",
#' date_onset = "date_of_prodrome",
#' age = "age",
#' gender = "gender"
#' ) %>%
#' mutate(result = if_else(is.na(date_of_death), "survived", "died")) %>%
#' set_tags(outcome = "result") %>%
#' rename(identifier = case_ID)
#'
#' head(x)
#'
#' ## extract tagged variables
#' x %>%
#' select(has_tag(c("gender", "age")))
#'
#' x %>%
#' tags()
#'
#' x %>%
#' select(starts_with("date"))
#' }
#' }
#'
#' @keywords internal
"_PACKAGE"
## usethis namespace: start
#' @importFrom lifecycle deprecated
## usethis namespace: end
NULL
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.