From c5f00f4a9fcb7887b127fdeee795165cc419a007 Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Thu, 28 Nov 2019 22:32:17 +0100 Subject: [PATCH] (v0.8.0.9036) complete documentation rewrite --- .lintr | 1 - DESCRIPTION | 7 +- NAMESPACE | 1 + NEWS.md | 6 +- R/ab.R | 13 +- R/ab_property.R | 27 +- R/age.R | 39 ++- R/amr.R | 37 ++- R/atc_online.R | 60 ++--- R/availability.R | 8 +- R/bug_drug_combinations.R | 18 +- R/catalogue_of_life.R | 34 ++- R/count.R | 20 +- R/data.R | 254 ++++++++---------- R/deprecated.R | 21 +- R/disk.R | 8 +- R/eucast_rules.R | 227 ++++++++-------- R/filter_ab_class.R | 8 +- R/first_isolate.R | 78 +++--- R/g.test.R | 70 ++--- R/ggplot_rsi.R | 42 +-- R/guess_ab_col.R | 10 +- R/join_microorganisms.R | 12 +- R/key_antibiotics.R | 51 ++-- R/kurtosis.R | 7 +- R/like.R | 10 +- R/mdro.R | 53 ++-- R/mic.R | 8 +- R/mo.R | 121 ++++----- R/mo_history.R | 20 +- R/mo_property.R | 44 ++- R/mo_source.R | 64 ++--- R/p_symbol.R | 6 +- R/proportion.R | 54 ++-- R/read.4d.R | 8 +- R/resistance_predict.R | 60 +++-- R/rsi.R | 34 ++- R/rsi_df.R | 3 +- R/skewness.R | 6 +- R/sysdata.rda | Bin 455532 -> 455514 bytes R/translate.R | 12 +- R/whocc.R | 4 +- data-raw/eucast_rules.tsv | 24 +- data-raw/internals.R | 2 +- docs/404.html | 2 +- docs/LICENSE-text.html | 2 +- docs/articles/index.html | 2 +- docs/authors.html | 2 +- docs/index.html | 2 +- docs/news/index.html | 21 +- docs/reference/AMR-deprecated.html | 6 +- docs/reference/AMR.html | 8 +- docs/reference/WHOCC.html | 4 +- docs/reference/WHONET.html | 61 +++-- docs/reference/ab_property.html | 24 +- docs/reference/age.html | 10 +- docs/reference/age_groups.html | 8 +- docs/reference/antibiotics.html | 66 ++--- docs/reference/as.ab.html | 14 +- docs/reference/as.disk.html | 6 +- docs/reference/as.mic.html | 10 +- docs/reference/as.mo.html | 93 ++++--- docs/reference/as.rsi.html | 30 +-- docs/reference/atc_online.html | 18 +- docs/reference/availability.html | 12 +- docs/reference/bug_drug_combinations.html | 37 +-- docs/reference/catalogue_of_life.html | 10 +- docs/reference/catalogue_of_life_version.html | 8 +- docs/reference/count.html | 60 +++-- docs/reference/eucast_rules.html | 194 ++++++------- docs/reference/example_isolates.html | 27 +- docs/reference/filter_ab_class.html | 6 +- docs/reference/first_isolate.html | 85 ++++-- docs/reference/g.test.html | 50 ++-- docs/reference/ggplot_rsi.html | 102 ++++--- docs/reference/guess_ab_col.html | 10 +- docs/reference/index.html | 10 +- docs/reference/join.html | 18 +- docs/reference/key_antibiotics.html | 109 +++++--- docs/reference/kurtosis.html | 6 +- docs/reference/like.html | 12 +- docs/reference/mdro.html | 217 ++++++++------- docs/reference/microorganisms.codes.html | 19 +- docs/reference/microorganisms.html | 39 ++- docs/reference/microorganisms.old.html | 27 +- docs/reference/mo_property.html | 43 +-- docs/reference/mo_source.html | 54 ++-- docs/reference/p_symbol.html | 12 +- docs/reference/proportion.html | 90 ++++--- docs/reference/read.4D.html | 29 +- docs/reference/resistance_predict.html | 86 ++++-- docs/reference/rsi_translation.html | 29 +- docs/reference/skewness.html | 6 +- docs/reference/translate.html | 10 +- man/AMR-deprecated.Rd | 3 + man/AMR.Rd | 26 +- man/WHOCC.Rd | 4 +- man/WHONET.Rd | 56 ++-- man/ab_property.Rd | 20 +- man/age.Rd | 8 +- man/age_groups.Rd | 22 +- man/antibiotics.Rd | 62 ++--- man/as.ab.Rd | 15 +- man/as.disk.Rd | 8 +- man/as.mic.Rd | 8 +- man/as.mo.Rd | 118 ++++---- man/as.rsi.Rd | 32 ++- man/atc_online.Rd | 50 ++-- man/availability.Rd | 8 +- man/bug_drug_combinations.Rd | 33 ++- man/catalogue_of_life.Rd | 20 +- man/catalogue_of_life_version.Rd | 8 +- man/count.Rd | 60 ++--- man/eucast_rules.Rd | 222 +++++++-------- man/example_isolates.Rd | 22 +- man/filter_ab_class.Rd | 4 +- man/first_isolate.Rd | 85 +++--- man/g.test.Rd | 51 ++-- man/ggplot_rsi.Rd | 99 ++++--- man/guess_ab_col.Rd | 8 +- man/join.Rd | 10 +- man/key_antibiotics.Rd | 107 +++++--- man/kurtosis.Rd | 4 +- man/like.Rd | 14 +- man/mdro.Rd | 225 ++++++++-------- man/microorganisms.Rd | 44 +-- man/microorganisms.codes.Rd | 12 +- man/microorganisms.old.Rd | 20 +- man/mo_property.Rd | 51 ++-- man/mo_source.Rd | 57 ++-- man/p_symbol.Rd | 4 +- man/proportion.Rd | 96 ++++--- man/read.4D.Rd | 25 +- man/resistance_predict.Rd | 106 +++++--- man/rsi_translation.Rd | 22 +- man/skewness.Rd | 4 +- man/translate.Rd | 6 +- tests/testthat/test-mo_history.R | 24 -- 138 files changed, 2797 insertions(+), 2484 deletions(-) diff --git a/.lintr b/.lintr index 7f972d62c..1e82191e3 100644 --- a/.lintr +++ b/.lintr @@ -1,2 +1 @@ linters: with_defaults(line_length_linter = NULL, trailing_whitespace_linter = NULL, object_name_linter = NULL, cyclocomp_linter = NULL, object_usage_linter = NULL, object_length_linter(length = 50L)) -exclusions: list("R/mo_history.R", "tests/testthat/test-mo_history.R") diff --git a/DESCRIPTION b/DESCRIPTION index fca59ae36..0ac09bccf 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR -Version: 0.8.0.9035 -Date: 2019-11-24 +Version: 0.8.0.9036 +Date: 2019-11-28 Title: Antimicrobial Resistance Analysis Authors@R: c( person(role = c("aut", "cre"), @@ -63,4 +63,5 @@ BugReports: https://gitlab.com/msberends/AMR/issues License: GPL-2 | file LICENSE Encoding: UTF-8 LazyData: true -RoxygenNote: 6.1.1 +RoxygenNote: 7.0.1 +Roxygen: list(markdown = TRUE) diff --git a/NAMESPACE b/NAMESPACE index e44adf47d..fe8e58f55 100755 --- a/NAMESPACE +++ b/NAMESPACE @@ -173,6 +173,7 @@ export(portion_IR) export(portion_R) export(portion_S) export(portion_SI) +export(portion_df) export(proportion_I) export(proportion_IR) export(proportion_R) diff --git a/NEWS.md b/NEWS.md index 601516bcc..1ee4f377b 100755 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,5 @@ -# AMR 0.8.0.9035 -## Last updated: 24-Nov-2019 +# AMR 0.8.0.9036 +## Last updated: 28-Nov-2019 ### Breaking * Adopted Adeolu *et al.* (2016), [PMID 27620848](https://www.ncbi.nlm.nih.gov/pubmed/27620848) for the `microorganisms` data set, which means that the new order Enterobacterales now consists of a part of the existing family Enterobacteriaceae, but that this family has been split into other families as well (like *Morganellaceae* and *Yersiniaceae*). Although published in 2016, this information is not yet in the Catalogue of Life version of 2019. All MDRO determinations with `mdro()` will now use the Enterobacterales order for all guidelines before 2016 that were dependent on the Enterobacteriaceae family. @@ -58,8 +58,10 @@ * More robust way of determining valid MIC values * Small changed to the `example_isolates` data set to better reflect reality * Added more microorganisms codes from laboratory systems (esp. species of *Pseudescherichia* and *Rodentibacter*) +* Added Gram-stain to `mo_info()` ### Other +* Rewrote the complete documentation to markdown format, to be able to use the very latest version of the great [Roxygen2](https://roxygen2.r-lib.org/index.html), released in November 2019. This tremously improved the documentation quality, since the rewrite forced us to go over all texts again and make changes where needed. * Change dependency on `clean` to `cleaner`, as this package was renamed accordingly upon CRAN request * Added Dr. Sofia Ny as contributor diff --git a/R/ab.R b/R/ab.R index d898a378c..b4da2c925 100755 --- a/R/ab.R +++ b/R/ab.R @@ -21,25 +21,26 @@ #' Transform to antibiotic ID #' -#' Use this function to determine the antibiotic code of one or more antibiotics. The data set \code{\link{antibiotics}} will be searched for abbreviations, official names and synonyms (brand names). +#' Use this function to determine the antibiotic code of one or more antibiotics. The data set [antibiotics] will be searched for abbreviations, official names and synonyms (brand names). #' @param x character vector to determine to antibiotic ID #' @param ... arguments passed on to internal functions #' @rdname as.ab #' @inheritSection WHOCC WHOCC -#' @export #' @importFrom dplyr %>% filter slice pull -#' @details All entries in the \code{\link{antibiotics}} data set have three different identifiers: a human readable EARS-Net code (column \code{ab}, used by ECDC and WHONET), an ATC code (column \code{atc}, used by WHO), and a CID code (column \code{cid}, Compound ID, used by PubChem). The data set contains more than 5,000 official brand names from many different countries, as found in PubChem. +#' @details All entries in the [antibiotics] data set have three different identifiers: a human readable EARS-Net code (column `ab`, used by ECDC and WHONET), an ATC code (column `atc`, used by WHO), and a CID code (column `cid`, Compound ID, used by PubChem). The data set contains more than 5,000 official brand names from many different countries, as found in PubChem. #' -#' Use the \code{\link{ab_property}} functions to get properties based on the returned antibiotic ID, see Examples. +#' Use the [ab_property()] functions to get properties based on the returned antibiotic ID, see Examples. #' @section Source: #' World Health Organization (WHO) Collaborating Centre for Drug Statistics Methodology: \url{https://www.whocc.no/atc_ddd_index/} #' #' WHONET 2019 software: \url{http://www.whonet.org/software.html} #' #' European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER: \url{http://ec.europa.eu/health/documents/community-register/html/atc.htm} -#' @return Character (vector) with class \code{"ab"}. Unknown values will return \code{NA}. -#' @seealso \code{\link{antibiotics}} for the dataframe that is being used to determine ATCs. +#' @aliases ab +#' @return Character (vector) with class [`ab`]. Unknown values will return `NA`. +#' @seealso [antibiotics] for the dataframe that is being used to determine ATCs. #' @inheritSection AMR Read more on our website! +#' @export #' @examples #' # These examples all return "ERY", the ID of Erythromycin: #' as.ab("J01FA01") diff --git a/R/ab_property.R b/R/ab_property.R index 5f6cf6627..ad08b17d5 100644 --- a/R/ab_property.R +++ b/R/ab_property.R @@ -21,26 +21,25 @@ #' Property of an antibiotic #' -#' Use these functions to return a specific property of an antibiotic from the \code{\link{antibiotics}} data set. All input values will be evaluated internally with \code{\link{as.ab}}. -#' @param x any (vector of) text that can be coerced to a valid microorganism code with \code{\link{as.ab}} +#' Use these functions to return a specific property of an antibiotic from the [antibiotics] data set. All input values will be evaluated internally with [as.ab()]. +#' @param x any (vector of) text that can be coerced to a valid microorganism code with [as.ab()] #' @param tolower logical to indicate whether the first character of every output should be transformed to a lower case character. This will lead to e.g. "polymyxin B" and not "polymyxin b". -#' @param property one of the column names of one of the \code{\link{antibiotics}} data set -#' @param language language of the returned text, defaults to system language (see \code{\link{get_locale}}) and can also be set with \code{\link{getOption}("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation. -#' @param administration way of administration, either \code{"oral"} or \code{"iv"} +#' @param property one of the column names of one of the [antibiotics] data set +#' @param language language of the returned text, defaults to system language (see [get_locale()]) and can also be set with `getOption("AMR_locale")`. Use `language = NULL` or `language = ""` to prevent translation. +#' @param administration way of administration, either `"oral"` or `"iv"` #' @param units a logical to indicate whether the units instead of the DDDs itself must be returned, see Examples -#' @param ... other parameters passed on to \code{\link{as.ab}} -#' @details All output will be \link{translate}d where possible. +#' @param ... other parameters passed on to [as.ab()] +#' @details All output will be [translate]d where possible. #' @inheritSection as.ab Source #' @rdname ab_property #' @name ab_property -#' @return \itemize{ -#' \item{An \code{integer} in case of \code{ab_cid}} -#' \item{A named \code{list} in case of \code{ab_info} and multiple \code{ab_synonyms}/\code{ab_tradenames}} -#' \item{A \code{double} in case of \code{ab_ddd}} -#' \item{A \code{character} in all other cases} -#' } +#' @return +#' - An [`integer`] in case of [ab_cid()] +#' - A named [`list`] in case of [ab_info()] and multiple [ab_synonyms()]/[ab_tradenames()] +#' - A [`double`] in case of [ab_ddd()] +#' - A [`character`] in all other cases #' @export -#' @seealso \code{\link{antibiotics}} +#' @seealso [antibiotics] #' @inheritSection AMR Read more on our website! #' @examples #' # all properties: diff --git a/R/age.R b/R/age.R index c6b301bdc..da8619644 100755 --- a/R/age.R +++ b/R/age.R @@ -22,12 +22,12 @@ #' Age in years of individuals #' #' Calculates age in years based on a reference date, which is the sytem date at default. -#' @param x date(s), will be coerced with \code{\link{as.POSIXlt}} -#' @param reference reference date(s) (defaults to today), will be coerced with \code{\link{as.POSIXlt}} and cannot be lower than \code{x} -#' @param exact a logical to indicate whether age calculation should be exact, i.e. with decimals. It divides the number of days of \href{https://en.wikipedia.org/wiki/Year-to-date}{year-to-date} (YTD) of \code{x} by the number of days in a year of \code{reference} (either 365 or 366). +#' @param x date(s), will be coerced with [as.POSIXlt()] +#' @param reference reference date(s) (defaults to today), will be coerced with [as.POSIXlt()] and cannot be lower than `x` +#' @param exact a logical to indicate whether age calculation should be exact, i.e. with decimals. It divides the number of days of [year-to-date](https://en.wikipedia.org/wiki/Year-to-date) (YTD) of `x` by the number of days in the year of `reference` (either 365 or 366). #' @param na.rm a logical to indicate whether missing values should be removed -#' @return An integer (no decimals) if \code{exact = FALSE}, a double (with decimals) otherwise -#' @seealso To split ages into groups, use the \code{\link{age_groups}} function. +#' @return An integer (no decimals) if `exact = FALSE`, a double (with decimals) otherwise +#' @seealso To split ages into groups, use the [age_groups()] function. #' @importFrom dplyr if_else #' @inheritSection AMR Read more on our website! #' @export @@ -90,24 +90,21 @@ age <- function(x, reference = Sys.Date(), exact = FALSE, na.rm = FALSE) { #' Split ages into age groups #' -#' Split ages into age groups defined by the \code{split} parameter. This allows for easier demographic (antimicrobial resistance) analysis. -#' @param x age, e.g. calculated with \code{\link{age}} -#' @param split_at values to split \code{x} at, defaults to age groups 0-11, 12-24, 25-54, 55-74 and 75+. See Details. +#' Split ages into age groups defined by the `split` parameter. This allows for easier demographic (antimicrobial resistance) analysis. +#' @param x age, e.g. calculated with [age()] +#' @param split_at values to split `x` at, defaults to age groups 0-11, 12-24, 25-54, 55-74 and 75+. See Details. #' @param na.rm a logical to indicate whether missing values should be removed #' @details To split ages, the input can be: -#' \itemize{ -#' \item{A numeric vector. A vector of e.g. \code{c(10, 20)} will split on 0-9, 10-19 and 20+. A value of only \code{50} will split on 0-49 and 50+. -#' The default is to split on young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) and elderly (75+).} -#' \item{A character:} -#' \itemize{ -#' \item{\code{"children"} or \code{"kids"}, equivalent of: \code{c(0, 1, 2, 4, 6, 13, 18)}. This will split on 0, 1, 2-3, 4-5, 6-12, 13-17 and 18+.} -#' \item{\code{"elderly"} or \code{"seniors"}, equivalent of: \code{c(65, 75, 85)}. This will split on 0-64, 65-74, 75-84, 85+.} -#' \item{\code{"fives"}, equivalent of: \code{1:20 * 5}. This will split on 0-4, 5-9, 10-14, ..., 90-94, 95-99, 100+.} -#' \item{\code{"tens"}, equivalent of: \code{1:10 * 10}. This will split on 0-9, 10-19, 20-29, ... 80-89, 90-99, 100+.} -#' } -#' } -#' @return Ordered \code{\link{factor}} -#' @seealso To determine ages, based on one or more reference dates, use the \code{\link{age}} function. +#' +#' * A numeric vector. A vector of e.g. `c(10, 20)` will split on 0-9, 10-19 and 20+. A value of only `50` will split on 0-49 and 50+. +#' The default is to split on young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) and elderly (75+). +#' * A character: +#' - `"children"` or `"kids"`, equivalent of: `c(0, 1, 2, 4, 6, 13, 18)`. This will split on 0, 1, 2-3, 4-5, 6-12, 13-17 and 18+. +#' - `"elderly"` or `"seniors"`, equivalent of: `c(65, 75, 85)`. This will split on 0-64, 65-74, 75-84, 85+. +#' - `"fives"`, equivalent of: `1:20 * 5`. This will split on 0-4, 5-9, 10-14, ..., 90-94, 95-99, 100+. +#' - `"tens"`, equivalent of: `1:10 * 10`. This will split on 0-9, 10-19, 20-29, ... 80-89, 90-99, 100+. +#' @return Ordered [`factor`] +#' @seealso To determine ages, based on one or more reference dates, use the [age()] function. #' @export #' @inheritSection AMR Read more on our website! #' @examples diff --git a/R/amr.R b/R/amr.R index c07dbdc40..e061ae502 100644 --- a/R/amr.R +++ b/R/amr.R @@ -19,30 +19,29 @@ # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # -#' The \code{AMR} Package +#' The `AMR` Package #' -#' Welcome to the \code{AMR} package. +#' Welcome to the `AMR` package. #' @details -#' \code{AMR} is a free and open-source R package to simplify the analysis and prediction of Antimicrobial Resistance (AMR) and to work with microbial and antimicrobial properties by using evidence-based methods. It supports any table format, including WHONET/EARS-Net data. +#' `AMR` is a free and open-source R package to simplify the analysis and prediction of Antimicrobial Resistance (AMR) and to work with microbial and antimicrobial properties by using evidence-based methods. It supports any table format, including WHONET/EARS-Net data. #' #' We created this package for both academic research and routine analysis at the Faculty of Medical Sciences of the University of Groningen and the Medical Microbiology & Infection Prevention (MMBI) department of the University Medical Center Groningen (UMCG). This R package is actively maintained and free software; you can freely use and distribute it for both personal and commercial (but not patent) purposes under the terms of the GNU General Public License version 2.0 (GPL-2), as published by the Free Software Foundation. #' #' This package can be used for: -#' \itemize{ -#' \item{Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the Catalogue of Life} -#' \item{Interpreting raw MIC and disk diffusion values, based on the latest CLSI or EUCAST guidelines} -#' \item{Determining first isolates to be used for AMR analysis} -#' \item{Calculating antimicrobial resistance} -#' \item{Determining multi-drug resistance (MDR) / multi-drug resistant organisms (MDRO)} -#' \item{Calculating (empirical) susceptibility of both mono therapy and combination therapies} -#' \item{Predicting future antimicrobial resistance using regression models} -#' \item{Getting properties for any microorganism (like Gram stain, species, genus or family)} -#' \item{Getting properties for any antibiotic (like name, EARS-Net code, ATC code, PubChem code, defined daily dose or trade name)} -#' \item{Plotting antimicrobial resistance} -#' \item{Applying EUCAST expert rules} -#' } +#' - Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the [Catalogue of Life](http://www.catalogueoflife.org) +#' - Interpreting raw MIC and disk diffusion values, based on the latest CLSI or EUCAST guidelines +#' - Determining first isolates to be used for AMR analysis +#' - Calculating antimicrobial resistance +#' - Determining multi-drug resistance (MDR) / multi-drug resistant organisms (MDRO) +#' - Calculating (empirical) susceptibility of both mono therapy and combination therapies +#' - Predicting future antimicrobial resistance using regression models +#' - Getting properties for any microorganism (like Gram stain, species, genus or family) +#' - Getting properties for any antibiotic (like name, EARS-Net code, ATC code, PubChem code, defined daily dose or trade name) +#' - Plotting antimicrobial resistance +#' - Applying EUCAST expert rules + #' @section Read more on our website!: -#' On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https://msberends.gitlab.io/AMR/articles/AMR.html}{a tutorial} about how to conduct AMR analysis, the \href{https://msberends.gitlab.io/AMR/reference}{complete documentation of all functions} (which reads a lot easier than here in R) and \href{https://msberends.gitlab.io/AMR/articles/WHONET.html}{an example analysis using WHONET data}. +#' On our website you can find [a tutorial](https://msberends.gitlab.io/AMR/articles/AMR.html) about how to conduct AMR analysis, the [complete documentation of all functions](https://msberends.gitlab.io/AMR/reference) (which reads a lot easier than here in R) and [an example analysis using WHONET data](https://msberends.gitlab.io/AMR/articles/WHONET.html). #' @section Contact us: #' For suggestions, comments or questions, please contact us at: #' @@ -51,11 +50,11 @@ #' Department of Medical Microbiology, University of Groningen \cr #' University Medical Center Groningen \cr #' Post Office Box 30001 \cr -#' 9700 RB Groningen +#' 9700 RB Groningen \cr #' The Netherlands #' #' If you have found a bug, please file a new issue at: \cr -#' \url{https://gitlab.com/msberends/AMR/issues} +#' #' @name AMR #' @rdname AMR #' @importFrom microbenchmark microbenchmark diff --git a/R/atc_online.R b/R/atc_online.R index 04ca0a2c2..598a875aa 100644 --- a/R/atc_online.R +++ b/R/atc_online.R @@ -21,43 +21,43 @@ #' Get ATC properties from WHOCC website #' -#' Gets data from the WHO to determine properties of an ATC (e.g. an antibiotic) like name, defined daily dose (DDD) or standard unit. \cr \strong{This function requires an internet connection.} +#' @description Gets data from the WHO to determine properties of an ATC (e.g. an antibiotic) like name, defined daily dose (DDD) or standard unit. +#' +#' **This function requires an internet connection.** #' @param atc_code a character or character vector with ATC code(s) of antibiotic(s) -#' @param property property of an ATC code. Valid values are \code{"ATC"}, \code{"Name"}, \code{"DDD"}, \code{"U"} (\code{"unit"}), \code{"Adm.R"}, \code{"Note"} and \code{groups}. For this last option, all hierarchical groups of an ATC code will be returned, see Examples. -#' @param administration type of administration when using \code{property = "Adm.R"}, see Details -#' @param url url of website of the WHO. The sign \code{\%s} can be used as a placeholder for ATC codes. -#' @param ... parameters to pass on to \code{atc_property} +#' @param property property of an ATC code. Valid values are `"ATC"`, `"Name"`, `"DDD"`, `"U"` (`"unit"`), `"Adm.R"`, `"Note"` and `groups`. For this last option, all hierarchical groups of an ATC code will be returned, see Examples. +#' @param administration type of administration when using `property = "Adm.R"`, see Details +#' @param url url of website of the WHO. The sign `%s` can be used as a placeholder for ATC codes. +#' @param ... parameters to pass on to `atc_property` #' @details -#' Options for parameter \code{administration}: -#' \itemize{ -#' \item{\code{"Implant"}}{ = Implant} -#' \item{\code{"Inhal"}}{ = Inhalation} -#' \item{\code{"Instill"}}{ = Instillation} -#' \item{\code{"N"}}{ = nasal} -#' \item{\code{"O"}}{ = oral} -#' \item{\code{"P"}}{ = parenteral} -#' \item{\code{"R"}}{ = rectal} -#' \item{\code{"SL"}}{ = sublingual/buccal} -#' \item{\code{"TD"}}{ = transdermal} -#' \item{\code{"V"}}{ = vaginal} -#' } +#' Options for parameter `administration`: +#' +#' - `"Implant"` = Implant +#' - `"Inhal"` = Inhalation +#' - `"Instill"` = Instillation +#' - `"N"` = nasal +#' - `"O"` = oral +#' - `"P"` = parenteral +#' - `"R"` = rectal +#' - `"SL"` = sublingual/buccal +#' - `"TD"` = transdermal +#' - `"V"` = vaginal #' -#' Abbreviations of return values when using \code{property = "U"} (unit): -#' \itemize{ -#' \item{\code{"g"}}{ = gram} -#' \item{\code{"mg"}}{ = milligram} -#' \item{\code{"mcg"}}{ = microgram} -#' \item{\code{"U"}}{ = unit} -#' \item{\code{"TU"}}{ = thousand units} -#' \item{\code{"MU"}}{ = million units} -#' \item{\code{"mmol"}}{ = millimole} -#' \item{\code{"ml"}}{ = milliliter (e.g. eyedrops)} -#' } +#' Abbreviations of return values when using `property = "U"` (unit): +#' +#' - `"g"` = gram +#' - `"mg"` = milligram +#' - `"mcg"`` = microgram +#' - `"U"` = unit +#' - `"TU"` = thousand units +#' - `"MU"` = million units +#' - `"mmol"` = millimole +#' - `"ml"` = milliliter (e.g. eyedrops) #' @export #' @rdname atc_online #' @importFrom dplyr %>% progress_estimated #' @inheritSection AMR Read more on our website! -#' @source \url{https://www.whocc.no/atc_ddd_alterations__cumulative/ddd_alterations/abbrevations/} +#' @source #' @examples #' \donttest{ #' # oral DDD (Defined Daily Dose) of amoxicillin diff --git a/R/availability.R b/R/availability.R index 5fe4c018e..4fbfa4f44 100644 --- a/R/availability.R +++ b/R/availability.R @@ -21,11 +21,11 @@ #' Check availability of columns #' -#' Easy check for availability of columns in a data set. This makes it easy to get an idea of which antimicrobial combination can be used for calculation with e.g. \code{\link{resistance}}. -#' @param tbl a \code{data.frame} or \code{list} +#' Easy check for availability of columns in a data set. This makes it easy to get an idea of which antimicrobial combination can be used for calculation with e.g. [resistance()]. +#' @param tbl a [`data.frame`] or [`list`] #' @param width number of characters to present the visual availability, defaults to filling the width of the console -#' @details The function returns a \code{data.frame} with columns \code{"resistant"} and \code{"visual_resistance"}. The values in that columns are calculated with \code{\link{resistance}}. -#' @return \code{data.frame} with column names of \code{tbl} as row names +#' @details The function returns a [`data.frame`] with columns `"resistant"` and `"visual_resistance"`. The values in that columns are calculated with [resistance()]. +#' @return [`data.frame`] with column names of `tbl` as row names #' @inheritSection AMR Read more on our website! #' @importFrom cleaner percentage #' @export diff --git a/R/bug_drug_combinations.R b/R/bug_drug_combinations.R index 41c19b18b..50d408b81 100644 --- a/R/bug_drug_combinations.R +++ b/R/bug_drug_combinations.R @@ -21,25 +21,25 @@ #' Determine bug-drug combinations #' -#' Determine antimicrobial resistance (AMR) of all bug-drug combinations in your data set where at least 30 (default) isolates are available per species. Use \code{format} on the result to prettify it to a publicable/printable format, see Examples. +#' Determine antimicrobial resistance (AMR) of all bug-drug combinations in your data set where at least 30 (default) isolates are available per species. Use [format()] on the result to prettify it to a publicable/printable format, see Examples. #' @inheritParams eucast_rules #' @param combine_IR logical to indicate whether values R and I should be summed #' @param add_ab_group logical to indicate where the group of the antimicrobials must be included as a first column -#' @param remove_intrinsic_resistant logical to indicate that rows with 100\% resistance for all tested antimicrobials must be removed from the table -#' @param FUN the function to call on the \code{mo} column to transform the microorganism IDs, defaults to \code{\link{mo_shortname}} -#' @param translate_ab a character of length 1 containing column names of the \code{\link{antibiotics}} data set -#' @param ... arguments passed on to \code{FUN} +#' @param remove_intrinsic_resistant logical to indicate that rows with 100% resistance for all tested antimicrobials must be removed from the table +#' @param FUN the function to call on the `mo` column to transform the microorganism IDs, defaults to [mo_shortname()] +#' @param translate_ab a character of length 1 containing column names of the [antibiotics] data set +#' @param ... arguments passed on to `FUN` #' @inheritParams rsi_df #' @inheritParams base::formatC #' @importFrom dplyr %>% rename group_by select mutate filter summarise ungroup #' @importFrom tidyr pivot_longer -#' @details The function \code{format} calculates the resistance per bug-drug combination. Use \code{combine_IR = FALSE} (default) to test R vs. S+I and \code{combine_IR = TRUE} to test R+I vs. S. +#' @details The function [format()] calculates the resistance per bug-drug combination. Use `combine_IR = FALSE` (default) to test R vs. S+I and `combine_IR = TRUE` to test R+I vs. S. #' -#' The language of the output can be overwritten with \code{options(AMR_locale)}, please see \link{translate}. +#' The language of the output can be overwritten with `options(AMR_locale)`, please see [translate]. #' @export #' @rdname bug_drug_combinations -#' @return The function \code{bug_drug_combinations} returns a \code{data.frame} with columns "mo", "ab", "S", "I", "R" and "total". -#' @source \strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition}, 2014, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}. +#' @return The function [bug_drug_combinations()] returns a [`data.frame`] with columns "mo", "ab", "S", "I", "R" and "total". +#' @source \strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition}, 2014, *Clinical and Laboratory Standards Institute (CLSI)*. . #' @inheritSection AMR Read more on our website! #' @examples #' \donttest{ diff --git a/R/catalogue_of_life.R b/R/catalogue_of_life.R index edb11c692..3e8fa9f89 100755 --- a/R/catalogue_of_life.R +++ b/R/catalogue_of_life.R @@ -24,28 +24,26 @@ #' This package contains the complete taxonomic tree of almost all microorganisms from the authoritative and comprehensive Catalogue of Life. #' @section Catalogue of Life: #' \if{html}{\figure{logo_col.png}{options: height=40px style=margin-bottom:5px} \cr} -#' This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (\url{http://www.catalogueoflife.org}). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. +#' This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. #' -#' \link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link{catalogue_of_life_version}()}. +#' [Click here][catalogue_of_life] for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with [catalogue_of_life_version()]. #' @section Included taxa: #' Included are: -#' \itemize{ -#' \item{All ~61,000 (sub)species from the kingdoms of Archaea, Bacteria, Chromista and Protozoa} -#' \item{All ~8,500 (sub)species from these orders of the kingdom of Fungi: Eurotiales, Microascales, Mucorales, Onygenales, Pneumocystales, Saccharomycetales, Schizosaccharomycetales and Tremellales. The kingdom of Fungi is a very large taxon with almost 300,000 different (sub)species, of which most are not microbial (but rather macroscopic, like mushrooms). Because of this, not all fungi fit the scope of this package and including everything would tremendously slow down our algorithms too. By only including the aforementioned taxonomic orders, the most relevant fungi are covered (like all species of \emph{Aspergillus}, \emph{Candida}, \emph{Cryptococcus}, \emph{Histplasma}, \emph{Pneumocystis}, \emph{Saccharomyces} and \emph{Trichophyton}).} -#' \item{All ~150 (sub)species from ~100 other relevant genera from the kingdom of Animalia (like \emph{Strongyloides} and \emph{Taenia})} -#' \item{All ~23,000 previously accepted names of all included (sub)species (these were taxonomically renamed)} -#' \item{The complete taxonomic tree of all included (sub)species: from kingdom to subspecies} -#' \item{The responsible author(s) and year of scientific publication} -#' } +#' - All ~61,000 (sub)species from the kingdoms of Archaea, Bacteria, Chromista and Protozoa +#' - All ~8,500 (sub)species from these orders of the kingdom of Fungi: Eurotiales, Microascales, Mucorales, Onygenales, Pneumocystales, Saccharomycetales, Schizosaccharomycetales and Tremellales. The kingdom of Fungi is a very large taxon with almost 300,000 different (sub)species, of which most are not microbial (but rather macroscopic, like mushrooms). Because of this, not all fungi fit the scope of this package and including everything would tremendously slow down our algorithms too. By only including the aforementioned taxonomic orders, the most relevant fungi are covered (like all species of *Aspergillus*, *Candida*, *Cryptococcus*, *Histplasma*, *Pneumocystis*, *Saccharomyces* and *Trichophyton*). +#' - All ~150 (sub)species from ~100 other relevant genera from the kingdom of Animalia (like *Strongyloides* and *Taenia*) +#' - All ~23,000 previously accepted names of all included (sub)species (these were taxonomically renamed) +#' - The complete taxonomic tree of all included (sub)species: from kingdom to subspecies +#' - The responsible author(s) and year of scientific publication #' -#' The Catalogue of Life (\url{http://www.catalogueoflife.org}) is the most comprehensive and authoritative global index of species currently available. It holds essential information on the names, relationships and distributions of over 1.9 million species. The Catalogue of Life is used to support the major biodiversity and conservation information services such as the Global Biodiversity Information Facility (GBIF), Encyclopedia of Life (EoL) and the International Union for Conservation of Nature Red List. It is recognised by the Convention on Biological Diversity as a significant component of the Global Taxonomy Initiative and a contribution to Target 1 of the Global Strategy for Plant Conservation. +#' The Catalogue of Life () is the most comprehensive and authoritative global index of species currently available. It holds essential information on the names, relationships and distributions of over 1.9 million species. The Catalogue of Life is used to support the major biodiversity and conservation information services such as the Global Biodiversity Information Facility (GBIF), Encyclopedia of Life (EoL) and the International Union for Conservation of Nature Red List. It is recognised by the Convention on Biological Diversity as a significant component of the Global Taxonomy Initiative and a contribution to Target 1 of the Global Strategy for Plant Conservation. #' -#' The syntax used to transform the original data to a cleansed R format, can be found here: \url{https://gitlab.com/msberends/AMR/blob/master/data-raw/reproduction_of_microorganisms.R}. +#' The syntax used to transform the original data to a cleansed R format, can be found here: . #' @inheritSection AMR Read more on our website! #' @name catalogue_of_life #' @rdname catalogue_of_life -#' @seealso Data set \code{\link{microorganisms}} for the actual data. \cr -#' Function \code{\link{as.mo}()} to use the data for intelligent determination of microorganisms. +#' @seealso Data set [microorganisms] for the actual data. \cr +#' Function [as.mo()] to use the data for intelligent determination of microorganisms. #' @examples #' # Get version info of included data set #' catalogue_of_life_version() @@ -70,7 +68,7 @@ #' mo_ref("E. coli") #' # [1] "Castellani et al., 1919" #' -#' # Do not get mistaken - the package only includes microorganisms +#' # Do not get mistaken - this package is about microorganisms #' mo_kingdom("C. elegans") #' # [1] "Bacteria" # Bacteria?! #' mo_name("C. elegans") @@ -80,9 +78,9 @@ NULL #' Version info of included Catalogue of Life #' #' This function returns information about the included data from the Catalogue of Life. -#' @seealso \code{\link{microorganisms}} -#' @details For DSMZ, see \code{?microorganisms}. -#' @return a \code{list}, which prints in pretty format +#' @seealso [microorganisms] +#' @details For DSMZ, see [microorganisms]. +#' @return a [`list`], which prints in pretty format #' @inheritSection catalogue_of_life Catalogue of Life #' @inheritSection AMR Read more on our website! #' @importFrom crayon bold underline diff --git a/R/count.R b/R/count.R index 6ff25554b..c2ac1b71d 100755 --- a/R/count.R +++ b/R/count.R @@ -19,24 +19,24 @@ # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # -#' Count isolates +#' Count available isolates #' -#' @description These functions can be used to count resistant/susceptible microbial isolates. All functions support quasiquotation with pipes, can be used in \code{dplyr}s \code{\link[dplyr]{summarise}} and support grouped variables, see \emph{Examples}. +#' @description These functions can be used to count resistant/susceptible microbial isolates. All functions support quasiquotation with pipes, can be used in [summarise()] and support grouped variables, see *Examples*. #' -#' \code{count_resistant()} should be used to count resistant isolates, \code{count_susceptible()} should be used to count susceptible isolates.\cr -#' @param ... one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with \code{\link{as.rsi}} if needed. +#' [count_resistant()] should be used to count resistant isolates, [count_susceptible()] should be used to count susceptible isolates. +#' @param ... one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with [as.rsi()] if needed. #' @inheritParams proportion #' @inheritSection as.rsi Interpretation of S, I and R -#' @details These functions are meant to count isolates. Use the \code{\link{resistance}}/\code{\link{susceptibility}} functions to calculate microbial resistance/susceptibility. +#' @details These functions are meant to count isolates. Use the [resistance()]/[susceptibility()] functions to calculate microbial resistance/susceptibility. #' -#' The function \code{count_resistant()} is equal to the function \code{count_R()}. The function \code{count_susceptible()} is equal to the function \code{count_SI()}. +#' The function [count_resistant()] is equal to the function [count_R()]. The function [count_susceptible()] is equal to the function [count_SI()]. #' -#' The function \code{n_rsi()} is an alias of \code{count_all()}. They can be used to count all available isolates, i.e. where all input antibiotics have an available result (S, I or R). Their use is equal to \code{\link{n_distinct}()}. Their function is equal to \code{count_susceptible(...) + count_resistant(...)}. +#' The function [n_rsi()] is an alias of [count_all()]. They can be used to count all available isolates, i.e. where all input antibiotics have an available result (S, I or R). Their use is equal to [n_distinct()]. Their function is equal to `count_susceptible(...) + count_resistant(...)`. #' -#' The function \code{count_df()} takes any variable from \code{data} that has an \code{"rsi"} class (created with \code{\link{as.rsi}()}) and counts the number of S's, I's and R's. The function \code{rsi_df()} works exactly like \code{count_df()}, but adds the percentage of S, I and R. +#' The function [count_df()] takes any variable from `data` that has an [`rsi`] class (created with [as.rsi()]) and counts the number of S's, I's and R's. The function [rsi_df()] works exactly like [count_df()], but adds the percentage of S, I and R. #' @inheritSection proportion Combination therapy -#' @seealso \code{\link{proportion}_*} to calculate microbial resistance and susceptibility. -#' @return Integer +#' @seealso [`proportion_*`][proportion] to calculate microbial resistance and susceptibility. +#' @return An [`integer`] #' @rdname count #' @name count #' @export diff --git a/R/data.R b/R/data.R index 859c32d61..fd69b7cbd 100755 --- a/R/data.R +++ b/R/data.R @@ -21,48 +21,44 @@ #' Data sets with ~550 antimicrobials #' -#' Two data sets containing all antibiotics/antimycotics and antivirals. Use \code{\link{as.ab}} or one of the \code{\link{ab_property}} functions to retrieve values from the \code{antibiotics} data set. Three identifiers are included in this data set: an antibiotic ID (\code{ab}, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (\code{atc}) as defined by the WHO, and a Compound ID (\code{cid}) as found in PubChem. Other properties in this data set are derived from one or more of these codes. +#' Two data sets containing all antibiotics/antimycotics and antivirals. Use [as.ab()] or one of the [ab_property()] functions to retrieve values from the [antibiotics] data set. Three identifiers are included in this data set: an antibiotic ID (`ab`, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (`atc`) as defined by the WHO, and a Compound ID (`cid`) as found in PubChem. Other properties in this data set are derived from one or more of these codes. #' @format -#' \strong{For the \code{antibiotics} data set: a \code{\link{data.frame}} with 452 observations and 13 variables:} -#' \describe{ -#' \item{\code{ab}}{Antibiotic ID as used in this package (like \code{AMC}), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available} -#' \item{\code{atc}}{ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC, like \code{J01CR02}} -#' \item{\code{cid}}{Compound ID as found in PubChem} -#' \item{\code{name}}{Official name as used by WHONET/EARS-Net or the WHO} -#' \item{\code{group}}{A short and concise group name, based on WHONET and WHOCC definitions} -#' \item{\code{atc_group1}}{Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC, like \code{"Macrolides, lincosamides and streptogramins"}} -#' \item{\code{atc_group2}}{Official chemical subgroup (4th level ATC code) as defined by the WHOCC, like \code{"Macrolides"}} -#' \item{\code{abbr}}{List of abbreviations as used in many countries, also for antibiotic susceptibility testing (AST)} -#' \item{\code{synonyms}}{Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID} -#' \item{\code{oral_ddd}}{Defined Daily Dose (DDD), oral treatment} -#' \item{\code{oral_units}}{Units of \code{oral_ddd}} -#' \item{\code{iv_ddd}}{Defined Daily Dose (DDD), parenteral treatment} -#' \item{\code{iv_units}}{Units of \code{iv_ddd}} -#' } +#' ### For the [antibiotics] data set: a [`data.frame`] with 452 observations and 13 variables: +#' - `ab`\cr Antibiotic ID as used in this package (like `AMC`), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available +#' - `atc`\cr ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC, like `J01CR02` +#' - `cid`\cr Compound ID as found in PubChem +#' - `name`\cr Official name as used by WHONET/EARS-Net or the WHO +#' - `group`\cr A short and concise group name, based on WHONET and WHOCC definitions +#' - `atc_group1`\cr Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC, like `"Macrolides, lincosamides and streptogramins"` +#' - `atc_group2`\cr Official chemical subgroup (4th level ATC code) as defined by the WHOCC, like `"Macrolides"` +#' - `abbr`\cr List of abbreviations as used in many countries, also for antibiotic susceptibility testing (AST) +#' - `synonyms`\cr Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID +#' - `oral_ddd`\cr Defined Daily Dose (DDD), oral treatment +#' - `oral_units`\cr Units of `oral_ddd` +#' - `iv_ddd`\cr Defined Daily Dose (DDD), parenteral treatment +#' - `iv_units`\cr Units of `iv_ddd` #' -#' \strong{For the \code{antivirals} data set: a \code{\link{data.frame}} with 102 observations and 9 variables:} -#' \describe{ -#' \item{\code{atc}}{ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC} -#' \item{\code{cid}}{Compound ID as found in PubChem} -#' \item{\code{name}}{Official name as used by WHONET/EARS-Net or the WHO} -#' \item{\code{atc_group}}{Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC} -#' \item{\code{synonyms}}{Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID} -#' \item{\code{oral_ddd}}{Defined Daily Dose (DDD), oral treatment} -#' \item{\code{oral_units}}{Units of \code{oral_ddd}} -#' \item{\code{iv_ddd}}{Defined Daily Dose (DDD), parenteral treatment} -#' \item{\code{iv_units}}{Units of \code{iv_ddd}} -#' } -#' @details Properties that are based on an ATC code are only available when an ATC is available. These properties are: \code{atc_group1}, \code{atc_group2}, \code{oral_ddd}, \code{oral_units}, \code{iv_ddd} and \code{iv_units}. +#' ### For the [antivirals] data set: a [`data.frame`] with 102 observations and 9 variables: +#' - `atc`\cr ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC +#' - `cid`\cr Compound ID as found in PubChem +#' - `name`\cr Official name as used by WHONET/EARS-Net or the WHO +#' - `atc_group`\cr Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC +#' - `synonyms`\cr Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID +#' - `oral_ddd`\cr Defined Daily Dose (DDD), oral treatment +#' - `oral_units`\cr Units of `oral_ddd` +#' - `iv_ddd`\cr Defined Daily Dose (DDD), parenteral treatment +#' - `iv_units`\cr Units of `iv_ddd` +#' @details Properties that are based on an ATC code are only available when an ATC is available. These properties are: `atc_group1`, `atc_group2`, `oral_ddd`, `oral_units`, `iv_ddd` and `iv_units`. #' -#' Synonyms (i.e. trade names) are derived from the Compound ID (\code{cid}) and consequently only available where a CID is available. -#' @source World Health Organization (WHO) Collaborating Centre for Drug Statistics Methodology (WHOCC): \url{https://www.whocc.no/atc_ddd_index/} +#' Synonyms (i.e. trade names) are derived from the Compound ID (`cid`) and consequently only available where a CID is available. +#' @source World Health Organization (WHO) Collaborating Centre for Drug Statistics Methodology (WHOCC): #' -#' WHONET 2019 software: \url{http://www.whonet.org/software.html} +#' WHONET 2019 software: #' -#' European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER: \url{http://ec.europa.eu/health/documents/community-register/html/atc.htm} +#' European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER: #' @inheritSection WHOCC WHOCC #' @inheritSection AMR Read more on our website! -#' @seealso \code{\link{microorganisms}} +#' @seealso [microorganisms] "antibiotics" #' @rdname antibiotics @@ -70,39 +66,35 @@ #' Data set with ~70,000 microorganisms #' -#' A data set containing the microbial taxonomy of six kingdoms from the Catalogue of Life. MO codes can be looked up using \code{\link{as.mo}}. +#' A data set containing the microbial taxonomy of six kingdoms from the Catalogue of Life. MO codes can be looked up using [as.mo()]. #' @inheritSection catalogue_of_life Catalogue of Life -#' @format A \code{\link{data.frame}} with 69,447 observations and 16 variables: -#' \describe{ -#' \item{\code{mo}}{ID of microorganism as used by this package} -#' \item{\code{col_id}}{Catalogue of Life ID} -#' \item{\code{fullname}}{Full name, like \code{"Escherichia coli"}} -#' \item{\code{kingdom}, \code{phylum}, \code{class}, \code{order}, \code{family}, \code{genus}, \code{species}, \code{subspecies}}{Taxonomic rank of the microorganism} -#' \item{\code{rank}}{Text of the taxonomic rank of the microorganism, like \code{"species"} or \code{"genus"}} -#' \item{\code{ref}}{Author(s) and year of concerning scientific publication} -#' \item{\code{species_id}}{ID of the species as used by the Catalogue of Life} -#' \item{\code{source}}{Either "CoL", "DSMZ" (see Source) or "manually added"} -#' \item{\code{prevalence}}{Prevalence of the microorganism, see \code{?as.mo}} -#' } +#' @format A [`data.frame`] with 69,447 observations and 16 variables: +#' - `mo`\cr ID of microorganism as used by this package +#' - `col_id`\cr Catalogue of Life ID +#' - `fullname`\cr Full name, like `"Escherichia coli"` +#' - `kingdom`, `phylum`, `class`, `order`, `family`, `genus`, `species`, `subspecies`\cr Taxonomic rank of the microorganism +#' - `rank`\cr Text of the taxonomic rank of the microorganism, like `"species"` or `"genus"` +#' - `ref`\cr Author(s) and year of concerning scientific publication +#' - `species_id`\cr ID of the species as used by the Catalogue of Life +#' - `source`\cr Either "CoL", "DSMZ" (see Source) or "manually added" +#' - `prevalence`\cr Prevalence of the microorganism, see [as.mo()] #' @details Manually added were: -#' \itemize{ -#' \item{11 entries of \emph{Streptococcus} (beta-haemolytic: groups A, B, C, D, F, G, H, K and unspecified; other: viridans, milleri)} -#' \item{2 entries of \emph{Staphylococcus} (coagulase-negative [CoNS] and coagulase-positive [CoPS])} -#' \item{3 entries of \emph{Trichomonas} (\emph{Trichomonas vaginalis}, and its family and genus)} -#' \item{1 entry of \emph{Blastocystis} (\emph{Blastocystis hominis}), although it officially does not exist (Noel \emph{et al.} 2005, PMID 15634993)} -#' \item{5 other 'undefined' entries (unknown, unknown Gram negatives, unknown Gram positives, unknown yeast and unknown fungus)} -#' \item{6 families under the Enterobacterales order, according to Adeolu \emph{et al.} (2016, PMID 27620848), that are not in the Catalogue of Life} -#' \item{12,600 species from the DSMZ (Deutsche Sammlung von Mikroorganismen und Zellkulturen) since the DSMZ contain the latest taxonomic information based on recent publications} -#' } +#' - 11 entries of *Streptococcus* (beta-haemolytic: groups A, B, C, D, F, G, H, K and unspecified; other: viridans, milleri) +#' - 2 entries of *Staphylococcus* (coagulase-negative [CoNS] and coagulase-positive [CoPS]) +#' - 3 entries of *Trichomonas* (*Trichomonas vaginalis*, and its family and genus) +#' - 1 entry of *Blastocystis* (*Blastocystis hominis*), although it officially does not exist (Noel *et al.* 2005, PMID 15634993) +#' - 5 other 'undefined' entries (unknown, unknown Gram negatives, unknown Gram positives, unknown yeast and unknown fungus) +#' - 6 families under the Enterobacterales order, according to Adeolu *et al.* (2016, PMID 27620848), that are not in the Catalogue of Life +#' - 12,600 species from the DSMZ (Deutsche Sammlung von Mikroorganismen und Zellkulturen) since the DSMZ contain the latest taxonomic information based on recent publications #' @section About the records from DSMZ (see source): #' Names of prokaryotes are defined as being validly published by the International Code of Nomenclature of Bacteria. Validly published are all names which are included in the Approved Lists of Bacterial Names and the names subsequently published in the International Journal of Systematic Bacteriology (IJSB) and, from January 2000, in the International Journal of Systematic and Evolutionary Microbiology (IJSEM) as original articles or in the validation lists. #' -#' From: \url{https://www.dsmz.de/support/bacterial-nomenclature-up-to-date-downloads/readme.html} -#' @source Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link{catalogue_of_life_version}()}). +#' From: +#' @source Catalogue of Life: Annual Checklist (public online taxonomic database), (check included annual version with [catalogue_of_life_version()]). #' -#' Leibniz Institute DSMZ-German Collection of Microorganisms and Cell Cultures, Germany, Prokaryotic Nomenclature Up-to-Date, \url{http://www.dsmz.de/bacterial-diversity/prokaryotic-nomenclature-up-to-date} (check included version with \code{\link{catalogue_of_life_version}()}). +#' Leibniz Institute DSMZ-German Collection of Microorganisms and Cell Cultures, Germany, Prokaryotic Nomenclature Up-to-Date, (check included version with [catalogue_of_life_version()]). #' @inheritSection AMR Read more on our website! -#' @seealso \code{\link{as.mo}}, \code{\link{mo_property}}, \code{\link{microorganisms.codes}} +#' @seealso [as.mo()], [mo_property()], [microorganisms.codes] "microorganisms" catalogue_of_life <- list( @@ -115,103 +107,93 @@ catalogue_of_life <- list( #' Data set with previously accepted taxonomic names #' -#' A data set containing old (previously valid or accepted) taxonomic names according to the Catalogue of Life. This data set is used internally by \code{\link{as.mo}}. +#' A data set containing old (previously valid or accepted) taxonomic names according to the Catalogue of Life. This data set is used internally by [as.mo()]. #' @inheritSection catalogue_of_life Catalogue of Life -#' @format A \code{\link{data.frame}} with 24,246 observations and 5 variables: -#' \describe{ -#' \item{\code{col_id}}{Catalogue of Life ID that was originally given} -#' \item{\code{col_id_new}}{New Catalogue of Life ID that responds to an entry in the \code{\link{microorganisms}} data set} -#' \item{\code{fullname}}{Old full taxonomic name of the microorganism} -#' \item{\code{ref}}{Author(s) and year of concerning scientific publication} -#' \item{\code{prevalence}}{Prevalence of the microorganism, see \code{?as.mo}} -#' } -#' @source Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link{catalogue_of_life_version}()}). +#' @format A [`data.frame`] with 24,246 observations and 5 variables: +#' - `col_id`\cr Catalogue of Life ID that was originally given +#' - `col_id_new`\cr New Catalogue of Life ID that responds to an entry in the [microorganisms] data set +#' - `fullname`\cr Old full taxonomic name of the microorganism +#' - `ref`\cr Author(s) and year of concerning scientific publication +#' - `prevalence`\cr Prevalence of the microorganism, see [as.mo()] +#' @source Catalogue of Life: Annual Checklist (public online taxonomic database), (check included annual version with [catalogue_of_life_version()]). #' @inheritSection AMR Read more on our website! -#' @seealso \code{\link{as.mo}} \code{\link{mo_property}} \code{\link{microorganisms}} +#' @seealso [as.mo()] [mo_property()] [microorganisms] "microorganisms.old" #' Translation table for common microorganism codes #' -#' A data set containing commonly used codes for microorganisms, from laboratory systems and WHONET. Define your own with \code{\link{set_mo_source}}. -#' @format A \code{\link{data.frame}} with 5,433 observations and 2 variables: -#' \describe{ -#' \item{\code{code}}{Commonly used code of a microorganism} -#' \item{\code{mo}}{ID of the microorganism in the \code{\link{microorganisms}} data set} -#' } +#' A data set containing commonly used codes for microorganisms, from laboratory systems and WHONET. Define your own with [set_mo_source()]. +#' @format A [`data.frame`] with 5,433 observations and 2 variables: +#' - `code`\cr Commonly used code of a microorganism +#' - `mo`\cr ID of the microorganism in the [microorganisms] data set #' @inheritSection catalogue_of_life Catalogue of Life #' @inheritSection AMR Read more on our website! -#' @seealso \code{\link{as.mo}} \code{\link{microorganisms}} +#' @seealso [as.mo()] [microorganisms] "microorganisms.codes" #' Data set with 2,000 example isolates #' -#' A data set containing 2,000 microbial isolates with their full antibiograms. The data set reflects reality and can be used to practice AMR analysis. For examples, please read \href{https://msberends.gitlab.io/AMR/articles/AMR.html}{the tutorial on our website}. -#' @format A \code{\link{data.frame}} with 2,000 observations and 49 variables: -#' \describe{ -#' \item{\code{date}}{date of receipt at the laboratory} -#' \item{\code{hospital_id}}{ID of the hospital, from A to D} -#' \item{\code{ward_icu}}{logical to determine if ward is an intensive care unit} -#' \item{\code{ward_clinical}}{logical to determine if ward is a regular clinical ward} -#' \item{\code{ward_outpatient}}{logical to determine if ward is an outpatient clinic} -#' \item{\code{age}}{age of the patient} -#' \item{\code{gender}}{gender of the patient} -#' \item{\code{patient_id}}{ID of the patient} -#' \item{\code{mo}}{ID of microorganism created with \code{\link{as.mo}}, see also \code{\link{microorganisms}}} -#' \item{\code{PEN:RIF}}{40 different antibiotics with class \code{rsi} (see \code{\link{as.rsi}}); these column names occur in \code{\link{antibiotics}} data set and can be translated with \code{\link{ab_name}}} -#' } +#' A data set containing 2,000 microbial isolates with their full antibiograms. The data set reflects reality and can be used to practice AMR analysis. For examples, please read [the tutorial on our website](https://msberends.gitlab.io/AMR/articles/AMR.html). +#' @format A [`data.frame`] with 2,000 observations and 49 variables: +#' - `date`\cr date of receipt at the laboratory +#' - `hospital_id`\cr ID of the hospital, from A to D +#' - `ward_icu`\cr logical to determine if ward is an intensive care unit +#' - `ward_clinical`\cr logical to determine if ward is a regular clinical ward +#' - `ward_outpatient`\cr logical to determine if ward is an outpatient clinic +#' - `age`\cr age of the patient +#' - `gender`\cr gender of the patient +#' - `patient_id`\cr ID of the patient +#' - `mo`\cr ID of microorganism created with [as.mo()], see also [microorganisms] +#' - `PEN:RIF`\cr 40 different antibiotics with class [`rsi`] (see [as.rsi()]); these column names occur in [antibiotics] data set and can be translated with [ab_name()] #' @inheritSection AMR Read more on our website! "example_isolates" #' Data set with 500 isolates - WHONET example #' -#' This example data set has the exact same structure as an export file from WHONET. Such files can be used with this package, as this example data set shows. The data itself was based on our \code{\link{example_isolates}} data set. -#' @format A \code{\link{data.frame}} with 500 observations and 53 variables: -#' \describe{ -#' \item{\code{Identification number}}{ID of the sample} -#' \item{\code{Specimen number}}{ID of the specimen} -#' \item{\code{Organism}}{Name of the microorganism. Before analysis, you should transform this to a valid microbial class, using \code{\link{as.mo}}.} -#' \item{\code{Country}}{Country of origin} -#' \item{\code{Laboratory}}{Name of laboratory} -#' \item{\code{Last name}}{Last name of patient} -#' \item{\code{First name}}{Initial of patient} -#' \item{\code{Sex}}{Gender of patient} -#' \item{\code{Age}}{Age of patient} -#' \item{\code{Age category}}{Age group, can also be looked up using \code{\link{age_groups}}} -#' \item{\code{Date of admission}}{Date of hospital admission} -#' \item{\code{Specimen date}}{Date when specimen was received at laboratory} -#' \item{\code{Specimen type}}{Specimen type or group} -#' \item{\code{Specimen type (Numeric)}}{Translation of \code{"Specimen type"}} -#' \item{\code{Reason}}{Reason of request with Differential Diagnosis} -#' \item{\code{Isolate number}}{ID of isolate} -#' \item{\code{Organism type}}{Type of microorganism, can also be looked up using \code{\link{mo_type}}} -#' \item{\code{Serotype}}{Serotype of microorganism} -#' \item{\code{Beta-lactamase}}{Microorganism produces beta-lactamase?} -#' \item{\code{ESBL}}{Microorganism produces extended spectrum beta-lactamase?} -#' \item{\code{Carbapenemase}}{Microorganism produces carbapenemase?} -#' \item{\code{MRSA screening test}}{Microorganism is possible MRSA?} -#' \item{\code{Inducible clindamycin resistance}}{Clindamycin can be induced?} -#' \item{\code{Comment}}{Other comments} -#' \item{\code{Date of data entry}}{Date this data was entered in WHONET} -#' \item{\code{AMP_ND10:CIP_EE}}{27 different antibiotics. You can lookup the abbreviatons in the \code{\link{antibiotics}} data set, or use e.g. \code{\link{ab_name}("AMP")} to get the official name immediately. Before analysis, you should transform this to a valid antibiotic class, using \code{\link{as.rsi}}.} -#' } +#' This example data set has the exact same structure as an export file from WHONET. Such files can be used with this package, as this example data set shows. The data itself was based on our [example_isolates] data set. +#' @format A [`data.frame`] with 500 observations and 53 variables: +#' - `Identification number`\cr ID of the sample +#' - `Specimen number`\cr ID of the specimen +#' - `Organism`\cr Name of the microorganism. Before analysis, you should transform this to a valid microbial class, using [as.mo()]. +#' - `Country`\cr Country of origin +#' - `Laboratory`\cr Name of laboratory +#' - `Last name`\cr Last name of patient +#' - `First name`\cr Initial of patient +#' - `Sex`\cr Gender of patient +#' - `Age`\cr Age of patient +#' - `Age category`\cr Age group, can also be looked up using [age_groups()] +#' - `Date of admission`\cr Date of hospital admission +#' - `Specimen date`\cr Date when specimen was received at laboratory +#' - `Specimen type`\cr Specimen type or group +#' - `Specimen type (Numeric)`\cr Translation of `"Specimen type"` +#' - `Reason`\cr Reason of request with Differential Diagnosis +#' - `Isolate number`\cr ID of isolate +#' - `Organism type`\cr Type of microorganism, can also be looked up using [mo_type()] +#' - `Serotype`\cr Serotype of microorganism +#' - `Beta-lactamase`\cr Microorganism produces beta-lactamase? +#' - `ESBL`\cr Microorganism produces extended spectrum beta-lactamase? +#' - `Carbapenemase`\cr Microorganism produces carbapenemase? +#' - `MRSA screening test`\cr Microorganism is possible MRSA? +#' - `Inducible clindamycin resistance`\cr Clindamycin can be induced? +#' - `Comment`\cr Other comments +#' - `Date of data entry`\cr Date this data was entered in WHONET +#' - `AMP_ND10:CIP_EE`\cr 27 different antibiotics. You can lookup the abbreviatons in the [antibiotics] data set, or use e.g. [`ab_name("AMP")`][ab_name()] to get the official name immediately. Before analysis, you should transform this to a valid antibiotic class, using [as.rsi()]. #' @inheritSection AMR Read more on our website! "WHONET" #' Data set for RSI interpretation #' -#' Data set to interpret MIC and disk diffusion to RSI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2019). Use \code{\link{as.rsi}} to transform MICs or disks measurements to RSI values. -#' @format A \code{\link{data.frame}} with 13,975 observations and 9 variables: -#' \describe{ -#' \item{\code{guideline}}{Name of the guideline} -#' \item{\code{method}}{Either "MIC" or "DISK"} -#' \item{\code{site}}{Body site, e.g. "Oral" or "Respiratory"} -#' \item{\code{mo}}{Microbial ID, see \code{\link{as.mo}}} -#' \item{\code{ab}}{Antibiotic ID, see \code{\link{as.ab}}} -#' \item{\code{ref_tbl}}{Info about where the guideline rule can be found} -#' \item{\code{disk_dose}}{Dose of the used disk diffusion method} -#' \item{\code{breakpoint_S}}{Lowest MIC value or highest number of millimeters that leads to "S"} -#' \item{\code{breakpoint_R}}{Highest MIC value or lowest number of millimeters that leads to "R"} -#' } +#' Data set to interpret MIC and disk diffusion to RSI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2019). Use [as.rsi()] to transform MICs or disks measurements to RSI values. +#' @format A [`data.frame`] with 13,975 observations and 9 variables: +#' - `guideline`\cr Name of the guideline +#' - `method`\cr Either "MIC" or "DISK" +#' - `site`\cr Body site, e.g. "Oral" or "Respiratory" +#' - `mo`\cr Microbial ID, see [as.mo()] +#' - `ab`\cr Antibiotic ID, see [as.ab()] +#' - `ref_tbl`\cr Info about where the guideline rule can be found +#' - `disk_dose`\cr Dose of the used disk diffusion method +#' - `breakpoint_S`\cr Lowest MIC value or highest number of millimeters that leads to "S" +#' - `breakpoint_R`\cr Highest MIC value or lowest number of millimeters that leads to "R" #' @inheritSection AMR Read more on our website! "rsi_translation" diff --git a/R/deprecated.R b/R/deprecated.R index cd4c625b6..68acdc3dd 100755 --- a/R/deprecated.R +++ b/R/deprecated.R @@ -21,48 +21,55 @@ #' Deprecated functions #' -#' These functions are so-called '\link{Deprecated}'. They will be removed in a future release. Using the functions will give a warning with the name of the function it has been replaced by (if there is one). +#' These functions are so-called '[Deprecated]'. They will be removed in a future release. Using the functions will give a warning with the name of the function it has been replaced by (if there is one). #' @inheritSection AMR Read more on our website! #' @export #' @keywords internal #' @name AMR-deprecated #' @rdname AMR-deprecated p.symbol <- function(...) { - .Deprecated("p_symbol", package = "AMR") + .Deprecated("p_symbol()", package = "AMR") AMR::p_symbol(...) } #' @rdname AMR-deprecated #' @export portion_R <- function(...) { - .Deprecated("resistance", package = "AMR") + .Deprecated("resistance()", package = "AMR") proportion_R(...) } #' @rdname AMR-deprecated #' @export portion_IR <- function(...) { - .Deprecated("proportion_IR", package = "AMR") + .Deprecated("proportion_IR()", package = "AMR") proportion_IR(...) } #' @rdname AMR-deprecated #' @export portion_I <- function(...) { - .Deprecated("proportion_I", package = "AMR") + .Deprecated("proportion_I()", package = "AMR") proportion_I(...) } #' @rdname AMR-deprecated #' @export portion_SI <- function(...) { - .Deprecated("susceptibility", package = "AMR") + .Deprecated("susceptibility()", package = "AMR") proportion_SI(...) } #' @rdname AMR-deprecated #' @export portion_S <- function(...) { - .Deprecated("proportion_S", package = "AMR") + .Deprecated("proportion_S()", package = "AMR") proportion_S(...) } + +#' @rdname AMR-deprecated +#' @export +portion_df <- function(...) { + .Deprecated("proportion_df()", package = "AMR") + proportion_df(...) +} diff --git a/R/disk.R b/R/disk.R index 264dfba1d..2104dc442 100644 --- a/R/disk.R +++ b/R/disk.R @@ -21,15 +21,15 @@ #' Class 'disk' #' -#' This transforms a vector to a new class \code{disk}, which is a growth zone size (around an antibiotic disk) in millimeters between 6 and 99. +#' This transforms a vector to a new class [`disk`], which is a growth zone size (around an antibiotic disk) in millimeters between 6 and 99. #' @rdname as.disk #' @param x vector #' @param na.rm a logical indicating whether missing values should be removed -#' @details Interpret disk values as RSI values with \code{\link{as.rsi}}. It supports guidelines from EUCAST and CLSI. -#' @return Ordered integer factor with new class \code{disk} +#' @details Interpret disk values as RSI values with [as.rsi()]. It supports guidelines from EUCAST and CLSI. +#' @return Ordered integer factor with new class [`disk`] #' @aliases disk #' @export -#' @seealso \code{\link{as.rsi}} +#' @seealso [as.rsi()] #' @inheritSection AMR Read more on our website! #' @examples #' # interpret disk values diff --git a/R/eucast_rules.R b/R/eucast_rules.R index 6f10cae5b..f90569949 100755 --- a/R/eucast_rules.R +++ b/R/eucast_rules.R @@ -26,141 +26,131 @@ EUCAST_VERSION_EXPERT_RULES <- "3.1, 2016" #' EUCAST rules #' #' @description -#' Apply susceptibility rules as defined by the European Committee on Antimicrobial Susceptibility Testing (EUCAST, \url{http://eucast.org}), see \emph{Source}. This includes (1) expert rules, (2) intrinsic resistance and (3) inferred resistance as defined in their breakpoint tables. +#' Apply susceptibility rules as defined by the European Committee on Antimicrobial Susceptibility Testing (EUCAST, ), see *Source*. This includes (1) expert rules, (2) intrinsic resistance and (3) inferred resistance as defined in their breakpoint tables. #' #' To improve the interpretation of the antibiogram before EUCAST rules are applied, some non-EUCAST rules are applied at default, see Details. -#' @param x data with antibiotic columns, like e.g. \code{AMX} and \code{AMC} +#' @param x data with antibiotic columns, like e.g. `AMX` and `AMC` #' @param info print progress -#' @param rules a character vector that specifies which rules should be applied - one or more of \code{c("breakpoints", "expert", "other", "all")} +#' @param rules a character vector that specifies which rules should be applied - one or more of `c("breakpoints", "expert", "other", "all")` #' @param verbose a logical to turn Verbose mode on and off (default is off). In Verbose mode, the function does not apply rules to the data, but instead returns a data set in logbook form with extensive info about which rows and columns would be effected and in which way. -#' @param ... column name of an antibiotic, see section Antibiotics +#' @param ... column name of an antibiotic, please see section *Antibiotics* below #' @inheritParams first_isolate #' @details -#' \strong{Note:} This function does not translate MIC values to RSI values. Use \code{\link{as.rsi}} for that. \cr -#' \strong{Note:} When ampicillin (AMP, J01CA01) is not available but amoxicillin (AMX, J01CA04) is, the latter will be used for all rules where there is a dependency on ampicillin. These drugs are interchangeable when it comes to expression of antimicrobial resistance. +#' **Note:** This function does not translate MIC values to RSI values. Use [as.rsi()] for that. \cr +#' **Note:** When ampicillin (AMP, J01CA01) is not available but amoxicillin (AMX, J01CA04) is, the latter will be used for all rules where there is a dependency on ampicillin. These drugs are interchangeable when it comes to expression of antimicrobial resistance. #' #' Before further processing, some non-EUCAST rules are applied to improve the efficacy of the EUCAST rules. These non-EUCAST rules, that are applied to all isolates, are: -#' \itemize{ -#' \item{Inherit amoxicillin (AMX) from ampicillin (AMP), where amoxicillin (AMX) is unavailable;} -#' \item{Inherit ampicillin (AMP) from amoxicillin (AMX), where ampicillin (AMP) is unavailable;} -#' \item{Set amoxicillin (AMX) = R where amoxicillin/clavulanic acid (AMC) = R;} -#' \item{Set piperacillin (PIP) = R where piperacillin/tazobactam (TZP) = R;} -#' \item{Set trimethoprim (TMP) = R where trimethoprim/sulfamethoxazole (SXT) = R;} -#' \item{Set amoxicillin/clavulanic acid (AMC) = S where amoxicillin (AMX) = S;} -#' \item{Set piperacillin/tazobactam (TZP) = S where piperacillin (PIP) = S;} -#' \item{Set trimethoprim/sulfamethoxazole (SXT) = S where trimethoprim (TMP) = S.} -#' } -#' To \emph{not} use these rules, please use \code{eucast_rules(..., rules = c("breakpoints", "expert"))}. +#' - Inherit amoxicillin (AMX) from ampicillin (AMP), where amoxicillin (AMX) is unavailable; +#' - Inherit ampicillin (AMP) from amoxicillin (AMX), where ampicillin (AMP) is unavailable; +#' - Set amoxicillin (AMX) = R where amoxicillin/clavulanic acid (AMC) = R; +#' - Set piperacillin (PIP) = R where piperacillin/tazobactam (TZP) = R; +#' - Set trimethoprim (TMP) = R where trimethoprim/sulfamethoxazole (SXT) = R; +#' - Set amoxicillin/clavulanic acid (AMC) = S where amoxicillin (AMX) = S; +#' - Set piperacillin/tazobactam (TZP) = S where piperacillin (PIP) = S; +#' - Set trimethoprim/sulfamethoxazole (SXT) = S where trimethoprim (TMP) = S. +#' To *not* use these rules, please use `eucast_rules(..., rules = c("breakpoints", "expert"))`. #' -#' The file containing all EUCAST rules is located here: \url{https://gitlab.com/msberends/AMR/blob/master/data-raw/eucast_rules.tsv}. +#' The file containing all EUCAST rules is located here: . #' #' @section Antibiotics: -#' To define antibiotics column names, leave as it is to determine it automatically with \code{\link{guess_ab_col}} or input a text (case-insensitive), or use \code{NULL} to skip a column (e.g. \code{TIC = NULL} to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning. +#' To define antibiotics column names, leave as it is to determine it automatically with [guess_ab_col()] or input a text (case-insensitive), or use `NULL` to skip a column (e.g. `TIC = NULL` to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning. #' -#' The following antibiotics are used for the functions \code{\link{eucast_rules}} and \code{\link{mdro}}. These are shown below in the format '\strong{antimicrobial ID}: name (\href{https://www.whocc.no/atc/structure_and_principles/}{ATC code})', sorted by name: +#' The following antibiotics are used for the functions [eucast_rules()] and [mdro()]. These are shown below in the format '**antimicrobial ID**: name ([ATC code](https://www.whocc.no/atc/structure_and_principles/))', sorted by name: #' -#' \strong{AMK}: amikacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB06}{J01GB06}), -#' \strong{AMX}: amoxicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA04}{J01CA04}), -#' \strong{AMC}: amoxicillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR02}{J01CR02}), -#' \strong{AMP}: ampicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA01}{J01CA01}), -#' \strong{SAM}: ampicillin/sulbactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR01}{J01CR01}), -#' \strong{AZM}: azithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA10}{J01FA10}), -#' \strong{AZL}: azlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA09}{J01CA09}), -#' \strong{ATM}: aztreonam (\href{https://www.whocc.no/atc_ddd_index/?code=J01DF01}{J01DF01}), -#' \strong{CAP}: capreomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB30}{J04AB30}), -#' \strong{RID}: cefaloridine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB02}{J01DB02}), -#' \strong{CZO}: cefazolin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB04}{J01DB04}), -#' \strong{FEP}: cefepime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DE01}{J01DE01}), -#' \strong{CTX}: cefotaxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD01}{J01DD01}), -#' \strong{CTT}: cefotetan (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC05}{J01DC05}), -#' \strong{FOX}: cefoxitin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC01}{J01DC01}), -#' \strong{CPT}: ceftaroline (\href{https://www.whocc.no/atc_ddd_index/?code=J01DI02}{J01DI02}), -#' \strong{CAZ}: ceftazidime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD02}{J01DD02}), -#' \strong{CRO}: ceftriaxone (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD04}{J01DD04}), -#' \strong{CXM}: cefuroxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC02}{J01DC02}), -#' \strong{CED}: cephradine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB09}{J01DB09}), -#' \strong{CHL}: chloramphenicol (\href{https://www.whocc.no/atc_ddd_index/?code=J01BA01}{J01BA01}), -#' \strong{CIP}: ciprofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA02}{J01MA02}), -#' \strong{CLR}: clarithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA09}{J01FA09}), -#' \strong{CLI}: clindamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF01}{J01FF01}), -#' \strong{COL}: colistin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB01}{J01XB01}), -#' \strong{DAP}: daptomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX09}{J01XX09}), -#' \strong{DOR}: doripenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH04}{J01DH04}), -#' \strong{DOX}: doxycycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA02}{J01AA02}), -#' \strong{ETP}: ertapenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH03}{J01DH03}), -#' \strong{ERY}: erythromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA01}{J01FA01}), -#' \strong{ETH}: ethambutol (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK02}{J04AK02}), -#' \strong{FLC}: flucloxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF05}{J01CF05}), -#' \strong{FOS}: fosfomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX01}{J01XX01}), -#' \strong{FUS}: fusidic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XC01}{J01XC01}), -#' \strong{GAT}: gatifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA16}{J01MA16}), -#' \strong{GEN}: gentamicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB03}{J01GB03}), -#' \strong{GEH}: gentamicin-high (no ATC code), -#' \strong{IPM}: imipenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH51}{J01DH51}), -#' \strong{INH}: isoniazid (\href{https://www.whocc.no/atc_ddd_index/?code=J04AC01}{J04AC01}), -#' \strong{KAN}: kanamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB04}{J01GB04}), -#' \strong{LVX}: levofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA12}{J01MA12}), -#' \strong{LIN}: lincomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF02}{J01FF02}), -#' \strong{LNZ}: linezolid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX08}{J01XX08}), -#' \strong{MEM}: meropenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH02}{J01DH02}), -#' \strong{MTR}: metronidazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01XD01}{J01XD01}), -#' \strong{MEZ}: mezlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA10}{J01CA10}), -#' \strong{MNO}: minocycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA08}{J01AA08}), -#' \strong{MFX}: moxifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA14}{J01MA14}), -#' \strong{NAL}: nalidixic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01MB02}{J01MB02}), -#' \strong{NEO}: neomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB05}{J01GB05}), -#' \strong{NET}: netilmicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB07}{J01GB07}), -#' \strong{NIT}: nitrofurantoin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XE01}{J01XE01}), -#' \strong{NOR}: norfloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA06}{J01MA06}), -#' \strong{NOV}: novobiocin (\href{https://www.whocc.no/atc_ddd_index/?code=QJ01XX95}{QJ01XX95}), -#' \strong{OFX}: ofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA01}{J01MA01}), -#' \strong{OXA}: oxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF04}{J01CF04}), -#' \strong{PEN}: penicillin G (\href{https://www.whocc.no/atc_ddd_index/?code=J01CE01}{J01CE01}), -#' \strong{PIP}: piperacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA12}{J01CA12}), -#' \strong{TZP}: piperacillin/tazobactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR05}{J01CR05}), -#' \strong{PLB}: polymyxin B (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB02}{J01XB02}), -#' \strong{PRI}: pristinamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG01}{J01FG01}), -#' \strong{PZA}: pyrazinamide (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK01}{J04AK01}), -#' \strong{QDA}: quinupristin/dalfopristin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG02}{J01FG02}), -#' \strong{RIB}: rifabutin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB04}{J04AB04}), -#' \strong{RIF}: rifampicin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB02}{J04AB02}), -#' \strong{RFP}: rifapentine (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB05}{J04AB05}), -#' \strong{RXT}: roxithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA06}{J01FA06}), -#' \strong{SIS}: sisomicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB08}{J01GB08}), -#' \strong{STH}: streptomycin-high (no ATC code), -#' \strong{TEC}: teicoplanin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA02}{J01XA02}), -#' \strong{TLV}: telavancin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA03}{J01XA03}), -#' \strong{TCY}: tetracycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA07}{J01AA07}), -#' \strong{TIC}: ticarcillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA13}{J01CA13}), -#' \strong{TCC}: ticarcillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR03}{J01CR03}), -#' \strong{TGC}: tigecycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA12}{J01AA12}), -#' \strong{TOB}: tobramycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB01}{J01GB01}), -#' \strong{TMP}: trimethoprim (\href{https://www.whocc.no/atc_ddd_index/?code=J01EA01}{J01EA01}), -#' \strong{SXT}: trimethoprim/sulfamethoxazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01EE01}{J01EE01}), -#' \strong{VAN}: vancomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA01}{J01XA01}). +#' **AMK**: amikacin ([J01GB06](https://www.whocc.no/atc_ddd_index/?code=J01GB06)), +#' **AMX**: amoxicillin ([J01CA04](https://www.whocc.no/atc_ddd_index/?code=J01CA04)), +#' **AMC**: amoxicillin/clavulanic acid ([J01CR02](https://www.whocc.no/atc_ddd_index/?code=J01CR02)), +#' **AMP**: ampicillin ([J01CA01](https://www.whocc.no/atc_ddd_index/?code=J01CA01)), +#' **SAM**: ampicillin/sulbactam ([J01CR01](https://www.whocc.no/atc_ddd_index/?code=J01CR01)), +#' **AZM**: azithromycin ([J01FA10](https://www.whocc.no/atc_ddd_index/?code=J01FA10)), +#' **AZL**: azlocillin ([J01CA09](https://www.whocc.no/atc_ddd_index/?code=J01CA09)), +#' **ATM**: aztreonam ([J01DF01](https://www.whocc.no/atc_ddd_index/?code=J01DF01)), +#' **CAP**: capreomycin ([J04AB30](https://www.whocc.no/atc_ddd_index/?code=J04AB30)), +#' **RID**: cefaloridine ([J01DB02](https://www.whocc.no/atc_ddd_index/?code=J01DB02)), +#' **CZO**: cefazolin ([J01DB04](https://www.whocc.no/atc_ddd_index/?code=J01DB04)), +#' **FEP**: cefepime ([J01DE01](https://www.whocc.no/atc_ddd_index/?code=J01DE01)), +#' **CTX**: cefotaxime ([J01DD01](https://www.whocc.no/atc_ddd_index/?code=J01DD01)), +#' **CTT**: cefotetan ([J01DC05](https://www.whocc.no/atc_ddd_index/?code=J01DC05)), +#' **FOX**: cefoxitin ([J01DC01](https://www.whocc.no/atc_ddd_index/?code=J01DC01)), +#' **CPT**: ceftaroline ([J01DI02](https://www.whocc.no/atc_ddd_index/?code=J01DI02)), +#' **CAZ**: ceftazidime ([J01DD02](https://www.whocc.no/atc_ddd_index/?code=J01DD02)), +#' **CRO**: ceftriaxone ([J01DD04](https://www.whocc.no/atc_ddd_index/?code=J01DD04)), +#' **CXM**: cefuroxime ([J01DC02](https://www.whocc.no/atc_ddd_index/?code=J01DC02)), +#' **CED**: cephradine ([J01DB09](https://www.whocc.no/atc_ddd_index/?code=J01DB09)), +#' **CHL**: chloramphenicol ([J01BA01](https://www.whocc.no/atc_ddd_index/?code=J01BA01)), +#' **CIP**: ciprofloxacin ([J01MA02](https://www.whocc.no/atc_ddd_index/?code=J01MA02)), +#' **CLR**: clarithromycin ([J01FA09](https://www.whocc.no/atc_ddd_index/?code=J01FA09)), +#' **CLI**: clindamycin ([J01FF01](https://www.whocc.no/atc_ddd_index/?code=J01FF01)), +#' **COL**: colistin ([J01XB01](https://www.whocc.no/atc_ddd_index/?code=J01XB01)), +#' **DAP**: daptomycin ([J01XX09](https://www.whocc.no/atc_ddd_index/?code=J01XX09)), +#' **DOR**: doripenem ([J01DH04](https://www.whocc.no/atc_ddd_index/?code=J01DH04)), +#' **DOX**: doxycycline ([J01AA02](https://www.whocc.no/atc_ddd_index/?code=J01AA02)), +#' **ETP**: ertapenem ([J01DH03](https://www.whocc.no/atc_ddd_index/?code=J01DH03)), +#' **ERY**: erythromycin ([J01FA01](https://www.whocc.no/atc_ddd_index/?code=J01FA01)), +#' **ETH**: ethambutol ([J04AK02](https://www.whocc.no/atc_ddd_index/?code=J04AK02)), +#' **FLC**: flucloxacillin ([J01CF05](https://www.whocc.no/atc_ddd_index/?code=J01CF05)), +#' **FOS**: fosfomycin ([J01XX01](https://www.whocc.no/atc_ddd_index/?code=J01XX01)), +#' **FUS**: fusidic acid ([J01XC01](https://www.whocc.no/atc_ddd_index/?code=J01XC01)), +#' **GAT**: gatifloxacin ([J01MA16](https://www.whocc.no/atc_ddd_index/?code=J01MA16)), +#' **GEN**: gentamicin ([J01GB03](https://www.whocc.no/atc_ddd_index/?code=J01GB03)), +#' **GEH**: gentamicin-high (no ATC code), +#' **IPM**: imipenem ([J01DH51](https://www.whocc.no/atc_ddd_index/?code=J01DH51)), +#' **INH**: isoniazid ([J04AC01](https://www.whocc.no/atc_ddd_index/?code=J04AC01)), +#' **KAN**: kanamycin ([J01GB04](https://www.whocc.no/atc_ddd_index/?code=J01GB04)), +#' **LVX**: levofloxacin ([J01MA12](https://www.whocc.no/atc_ddd_index/?code=J01MA12)), +#' **LIN**: lincomycin ([J01FF02](https://www.whocc.no/atc_ddd_index/?code=J01FF02)), +#' **LNZ**: linezolid ([J01XX08](https://www.whocc.no/atc_ddd_index/?code=J01XX08)), +#' **MEM**: meropenem ([J01DH02](https://www.whocc.no/atc_ddd_index/?code=J01DH02)), +#' **MTR**: metronidazole ([J01XD01](https://www.whocc.no/atc_ddd_index/?code=J01XD01)), +#' **MEZ**: mezlocillin ([J01CA10](https://www.whocc.no/atc_ddd_index/?code=J01CA10)), +#' **MNO**: minocycline ([J01AA08](https://www.whocc.no/atc_ddd_index/?code=J01AA08)), +#' **MFX**: moxifloxacin ([J01MA14](https://www.whocc.no/atc_ddd_index/?code=J01MA14)), +#' **NAL**: nalidixic acid ([J01MB02](https://www.whocc.no/atc_ddd_index/?code=J01MB02)), +#' **NEO**: neomycin ([J01GB05](https://www.whocc.no/atc_ddd_index/?code=J01GB05)), +#' **NET**: netilmicin ([J01GB07](https://www.whocc.no/atc_ddd_index/?code=J01GB07)), +#' **NIT**: nitrofurantoin ([J01XE01](https://www.whocc.no/atc_ddd_index/?code=J01XE01)), +#' **NOR**: norfloxacin ([J01MA06](https://www.whocc.no/atc_ddd_index/?code=J01MA06)), +#' **NOV**: novobiocin ([QJ01XX95](https://www.whocc.no/atc_ddd_index/?code=QJ01XX95)), +#' **OFX**: ofloxacin ([J01MA01](https://www.whocc.no/atc_ddd_index/?code=J01MA01)), +#' **OXA**: oxacillin ([J01CF04](https://www.whocc.no/atc_ddd_index/?code=J01CF04)), +#' **PEN**: penicillin G ([J01CE01](https://www.whocc.no/atc_ddd_index/?code=J01CE01)), +#' **PIP**: piperacillin ([J01CA12](https://www.whocc.no/atc_ddd_index/?code=J01CA12)), +#' **TZP**: piperacillin/tazobactam ([J01CR05](https://www.whocc.no/atc_ddd_index/?code=J01CR05)), +#' **PLB**: polymyxin B ([J01XB02](https://www.whocc.no/atc_ddd_index/?code=J01XB02)), +#' **PRI**: pristinamycin ([J01FG01](https://www.whocc.no/atc_ddd_index/?code=J01FG01)), +#' **PZA**: pyrazinamide ([J04AK01](https://www.whocc.no/atc_ddd_index/?code=J04AK01)), +#' **QDA**: quinupristin/dalfopristin ([J01FG02](https://www.whocc.no/atc_ddd_index/?code=J01FG02)), +#' **RIB**: rifabutin ([J04AB04](https://www.whocc.no/atc_ddd_index/?code=J04AB04)), +#' **RIF**: rifampicin ([J04AB02](https://www.whocc.no/atc_ddd_index/?code=J04AB02)), +#' **RFP**: rifapentine ([J04AB05](https://www.whocc.no/atc_ddd_index/?code=J04AB05)), +#' **RXT**: roxithromycin ([J01FA06](https://www.whocc.no/atc_ddd_index/?code=J01FA06)), +#' **SIS**: sisomicin ([J01GB08](https://www.whocc.no/atc_ddd_index/?code=J01GB08)), +#' **STH**: streptomycin-high (no ATC code), +#' **TEC**: teicoplanin ([J01XA02](https://www.whocc.no/atc_ddd_index/?code=J01XA02)), +#' **TLV**: telavancin ([J01XA03](https://www.whocc.no/atc_ddd_index/?code=J01XA03)), +#' **TCY**: tetracycline ([J01AA07](https://www.whocc.no/atc_ddd_index/?code=J01AA07)), +#' **TIC**: ticarcillin ([J01CA13](https://www.whocc.no/atc_ddd_index/?code=J01CA13)), +#' **TCC**: ticarcillin/clavulanic acid ([J01CR03](https://www.whocc.no/atc_ddd_index/?code=J01CR03)), +#' **TGC**: tigecycline ([J01AA12](https://www.whocc.no/atc_ddd_index/?code=J01AA12)), +#' **TOB**: tobramycin ([J01GB01](https://www.whocc.no/atc_ddd_index/?code=J01GB01)), +#' **TMP**: trimethoprim ([J01EA01](https://www.whocc.no/atc_ddd_index/?code=J01EA01)), +#' **SXT**: trimethoprim/sulfamethoxazole ([J01EE01](https://www.whocc.no/atc_ddd_index/?code=J01EE01)), +#' **VAN**: vancomycin ([J01XA01](https://www.whocc.no/atc_ddd_index/?code=J01XA01)). #' @aliases EUCAST #' @rdname eucast_rules #' @export #' @importFrom dplyr %>% select pull mutate_at vars group_by summarise n #' @importFrom crayon bold bgGreen bgYellow bgRed black green blue italic strip_style white red make_style #' @importFrom utils menu -#' @return The input of \code{x}, possibly with edited values of antibiotics. Or, if \code{verbose = TRUE}, a \code{data.frame} with all original and new values of the affected bug-drug combinations. +#' @return The input of `x`, possibly with edited values of antibiotics. Or, if `verbose = TRUE`, a [`data.frame`] with all original and new values of the affected bug-drug combinations. #' @source -#' \itemize{ -#' \item{ -#' EUCAST Expert Rules. Version 2.0, 2012. \cr -#' Leclercq et al. \strong{EUCAST expert rules in antimicrobial susceptibility testing.} \emph{Clin Microbiol Infect.} 2013;19(2):141-60. \cr -#' \url{https://doi.org/10.1111/j.1469-0691.2011.03703.x} -#' } -#' \item{ -#' EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes Tables. Version 3.1, 2016. \cr -#' \url{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf} -#' } -#' \item{ -#' EUCAST Breakpoint tables for interpretation of MICs and zone diameters. Version 9.0, 2019. \cr -#' \url{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_9.0_Breakpoint_Tables.xlsx} -#' } -#' } +#' - EUCAST Expert Rules. Version 2.0, 2012. \cr +#' Leclercq et al. **EUCAST expert rules in antimicrobial susceptibility testing.** *Clin Microbiol Infect.* 2013;19(2):141-60. \cr +#' +#' - EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes Tables. Version 3.1, 2016. \cr +#' +#' - EUCAST Breakpoint tables for interpretation of MICs and zone diameters. Version 9.0, 2019. \cr +#' #' @inheritSection AMR Read more on our website! #' @examples #' \donttest{ @@ -548,7 +538,7 @@ eucast_rules <- function(x, streptogramins <- c(QDA, PRI) # should officially also be quinupristin/dalfopristin aminopenicillins <- c(AMP, AMX) cephalosporins <- c(FEP, CTX, FOX, CED, CAZ, CRO, CXM, CZO) - cephalosporins_without_CAZ <- cephalosporins[cephalosporins != ifelse(is.null(CAZ), "", CAZ)] + cephalosporins_except_CAZ <- cephalosporins[cephalosporins != ifelse(is.null(CAZ), "", CAZ)] carbapenems <- c(ETP, IPM, MEM) ureidopenicillins <- c(PIP, TZP, AZL, MEZ) all_betalactams <- c(aminopenicillins, cephalosporins, carbapenems, ureidopenicillins, AMC, OXA, FLC, PEN) @@ -568,13 +558,16 @@ eucast_rules <- function(x, y[y != "" & y %in% colnames(df)] } get_antibiotic_names <- function(x) { - x %>% + x <- x %>% strsplit(",") %>% unlist() %>% trimws() %>% sapply(function(x) if (x %in% AMR::antibiotics$ab) ab_name(x, language = NULL, tolower = TRUE) else x) %>% sort() %>% paste(collapse = ", ") + x <- gsub("_", " ", x, fixed = TRUE) + x <- gsub("except CAZ", paste("except", ab_name("CAZ", language = NULL, tolower = TRUE)), x, fixed = TRUE) + x } format_antibiotic_names <- function(ab_names, ab_results) { ab_names <- trimws(unlist(strsplit(ab_names, ","))) diff --git a/R/filter_ab_class.R b/R/filter_ab_class.R index 1ab7f9a1f..3c3ecedc2 100644 --- a/R/filter_ab_class.R +++ b/R/filter_ab_class.R @@ -23,11 +23,11 @@ #' #' Filter isolates on results in specific antibiotic variables based on their class (ATC groups). This makes it easy to get a list of isolates that were tested for e.g. any aminoglycoside. #' @param x a data set -#' @param ab_class an antimicrobial class, like \code{"carbapenems"}, as can be found in \code{AMR::antibiotics$group} +#' @param ab_class an antimicrobial class, like `"carbapenems"`, as can be found in [`AMR::antibiotics$group`][antibiotics] #' @param result an antibiotic result: S, I or R (or a combination of more of them) -#' @param scope the scope to check which variables to check, can be \code{"any"} (default) or \code{"all"} -#' @param ... parameters passed on to \code{filter_at} from the \code{dplyr} package -#' @details The \code{group} column in \code{\link{antibiotics}} data set will be searched for \code{ab_class} (case-insensitive). If no results are found, the \code{atc_group1} and \code{atc_group2} columns will be searched. Next, \code{x} will be checked for column names with a value in any abbreviations, codes or official names found in the \code{antibiotics} data set. +#' @param scope the scope to check which variables to check, can be `"any"` (default) or `"all"` +#' @param ... parameters passed on to `filter_at` from the `dplyr` package +#' @details The `group` column in [antibiotics] data set will be searched for `ab_class` (case-insensitive). If no results are found, the `atc_group1` and `atc_group2` columns will be searched. Next, `x` will be checked for column names with a value in any abbreviations, codes or official names found in the [antibiotics] data set. #' @rdname filter_ab_class #' @importFrom dplyr filter_at %>% select vars any_vars all_vars #' @importFrom crayon bold blue diff --git a/R/first_isolate.R b/R/first_isolate.R index 50f15d846..fa4631608 100755 --- a/R/first_isolate.R +++ b/R/first_isolate.R @@ -22,61 +22,65 @@ #' Determine first (weighted) isolates #' #' Determine first (weighted) isolates of all microorganisms of every patient per episode and (if needed) per specimen type. -#' @param x a \code{data.frame} containing isolates. +#' @param x a [`data.frame`] containing isolates. #' @param col_date column name of the result date (or date that is was received on the lab), defaults to the first column of with a date class #' @param col_patient_id column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' or 'patid' (case insensitive) -#' @param col_mo column name of the IDs of the microorganisms (see \code{\link{as.mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}. -#' @param col_testcode column name of the test codes. Use \code{col_testcode = NULL} to \strong{not} exclude certain test codes (like test codes for screening). In that case \code{testcodes_exclude} will be ignored. +#' @param col_mo column name of the IDs of the microorganisms (see [as.mo()]), defaults to the first column of class [`mo`]. Values will be coerced using [as.mo()]. +#' @param col_testcode column name of the test codes. Use `col_testcode = NULL` to **not** exclude certain test codes (like test codes for screening). In that case `testcodes_exclude` will be ignored. #' @param col_specimen column name of the specimen type or group -#' @param col_icu column name of the logicals (\code{TRUE}/\code{FALSE}) whether a ward or department is an Intensive Care Unit (ICU) -#' @param col_keyantibiotics column name of the key antibiotics to determine first \emph{weighted} isolates, see \code{\link{key_antibiotics}}. Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use \code{col_keyantibiotics = FALSE} to prevent this. +#' @param col_icu column name of the logicals (`TRUE`/`FALSE`) whether a ward or department is an Intensive Care Unit (ICU) +#' @param col_keyantibiotics column name of the key antibiotics to determine first *weighted* isolates, see [key_antibiotics()]. Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use `col_keyantibiotics = FALSE` to prevent this. #' @param episode_days episode in days after which a genus/species combination will be determined as 'first isolate' again. The default of 365 days is based on the guideline by CLSI, see Source. #' @param testcodes_exclude character vector with test codes that should be excluded (case-insensitive) -#' @param icu_exclude logical whether ICU isolates should be excluded (rows with value \code{TRUE} in column \code{col_icu}) -#' @param specimen_group value in column \code{col_specimen} to filter on -#' @param type type to determine weighed isolates; can be \code{"keyantibiotics"} or \code{"points"}, see Details -#' @param ignore_I logical to determine whether antibiotic interpretations with \code{"I"} will be ignored when \code{type = "keyantibiotics"}, see Details -#' @param points_threshold points until the comparison of key antibiotics will lead to inclusion of an isolate when \code{type = "points"}, see Details +#' @param icu_exclude logical whether ICU isolates should be excluded (rows with value `TRUE` in column `col_icu`) +#' @param specimen_group value in column `col_specimen` to filter on +#' @param type type to determine weighed isolates; can be `"keyantibiotics"` or `"points"`, see Details +#' @param ignore_I logical to determine whether antibiotic interpretations with `"I"` will be ignored when `type = "keyantibiotics"`, see Details +#' @param points_threshold points until the comparison of key antibiotics will lead to inclusion of an isolate when `type = "points"`, see Details #' @param info print progress -#' @param include_unknown logical to determine whether 'unknown' microorganisms should be included too, i.e. microbial code \code{"UNKNOWN"}, which defaults to \code{FALSE}. For WHONET users, this means that all records with organism code \code{"con"} (\emph{contamination}) will be excluded at default. Isolates with a microbial ID of \code{NA} will always be excluded as first isolate. -#' @param ... parameters passed on to the \code{first_isolate} function -#' @details \strong{WHY THIS IS SO IMPORTANT} \cr -#' To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode \href{https://www.ncbi.nlm.nih.gov/pubmed/17304462}{[1]}. If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all \emph{S. aureus} isolates would be overestimated, because you included this MRSA more than once. It would be \href{https://en.wikipedia.org/wiki/Selection_bias}{selection bias}. +#' @param include_unknown logical to determine whether 'unknown' microorganisms should be included too, i.e. microbial code `"UNKNOWN"`, which defaults to `FALSE`. For WHONET users, this means that all records with organism code `"con"` (*contamination*) will be excluded at default. Isolates with a microbial ID of `NA` will always be excluded as first isolate. +#' @param ... parameters passed on to the [first_isolate()] function +#' @details **WHY THIS IS SO IMPORTANT** \cr +#' To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode [[1]](https://www.ncbi.nlm.nih.gov/pubmed/17304462). If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all *S. aureus* isolates would be overestimated, because you included this MRSA more than once. It would be [selection bias](https://en.wikipedia.org/wiki/Selection_bias). #' -#' All isolates with a microbial ID of \code{NA} will be excluded as first isolate. +#' All isolates with a microbial ID of `NA` will be excluded as first isolate. #' -#' The functions \code{filter_first_isolate} and \code{filter_first_weighted_isolate} are helper functions to quickly filter on first isolates. The function \code{filter_first_isolate} is essentially equal to: -#' \preformatted{ -#' x \%>\% -#' mutate(only_firsts = first_isolate(x, ...)) \%>\% -#' filter(only_firsts == TRUE) \%>\% +#' The functions [filter_first_isolate()] and [filter_first_weighted_isolate()] are helper functions to quickly filter on first isolates. The function [filter_first_isolate()] is essentially equal to: +#' ``` +#' x %>% +#' mutate(only_firsts = first_isolate(x, ...)) %>% +#' filter(only_firsts == TRUE) %>% #' select(-only_firsts) -#' } -#' The function \code{filter_first_weighted_isolate} is essentially equal to: -#' \preformatted{ -#' x \%>\% -#' mutate(keyab = key_antibiotics(.)) \%>\% +#' ``` +#' The function [filter_first_weighted_isolate()] is essentially equal to: +#' ``` +#' x %>% +#' mutate(keyab = key_antibiotics(.)) %>% #' mutate(only_weighted_firsts = first_isolate(x, -#' col_keyantibiotics = "keyab", ...)) \%>\% -#' filter(only_weighted_firsts == TRUE) \%>\% +#' col_keyantibiotics = "keyab", ...)) %>% +#' filter(only_weighted_firsts == TRUE) %>% #' select(-only_weighted_firsts) -#' } +#' ``` #' @section Key antibiotics: -#' There are two ways to determine whether isolates can be included as first \emph{weighted} isolates which will give generally the same results: \cr +#' There are two ways to determine whether isolates can be included as first *weighted* isolates which will give generally the same results: #' -#' \strong{1. Using} \code{type = "keyantibiotics"} \strong{and parameter} \code{ignore_I} \cr -#' Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With \code{ignore_I = FALSE}, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the \code{\link{key_antibiotics}} function. \cr -#' -#' \strong{2. Using} \code{type = "points"} \strong{and parameter} \code{points_threshold} \cr -#' A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds \code{points_threshold}, which default to \code{2}, an isolate will be (re)selected as a first weighted isolate. +#' 1. Using `type = "keyantibiotics"` and parameter `ignore_I` +#' +#' Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With `ignore_I = FALSE`, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the [key_antibiotics()] function. +#' +#' 2. Using `type = "points"` and parameter `points_threshold` +#' +#' A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds `points_threshold`, which default to `2`, an isolate will be (re)selected as a first weighted isolate. #' @rdname first_isolate -#' @seealso \code{\link{key_antibiotics}} +#' @seealso [key_antibiotics()] #' @export #' @importFrom dplyr arrange_at lag between row_number filter mutate arrange pull ungroup #' @importFrom crayon blue bold silver # @importFrom clean percentage -#' @return Logical vector -#' @source Methodology of this function is based on: \strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition}, 2014, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}. +#' @return A [`logical`] vector +#' @source Methodology of this function is based on: +#' +#' **M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition**, 2014, *Clinical and Laboratory Standards Institute (CLSI)*. . #' @inheritSection AMR Read more on our website! #' @examples #' # `example_isolates` is a dataset available in the AMR package. diff --git a/R/g.test.R b/R/g.test.R index 5ccad1166..7d644c253 100755 --- a/R/g.test.R +++ b/R/g.test.R @@ -19,56 +19,56 @@ # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # -#' \emph{G}-test for Count Data +#' *G*-test for Count Data #' -#' \code{g.test} performs chi-squared contingency table tests and goodness-of-fit tests, just like \code{\link{chisq.test}} but is more reliable [1]. A \emph{G}-test can be used to see whether the number of observations in each category fits a theoretical expectation (called a \strong{\emph{G}-test of goodness-of-fit}), or to see whether the proportions of one variable are different for different values of the other variable (called a \strong{\emph{G}-test of independence}). +#' [g.test()] performs chi-squared contingency table tests and goodness-of-fit tests, just like [chisq.test()] but is more reliable [1]. A *G*-test can be used to see whether the number of observations in each category fits a theoretical expectation (called a ***G*-test of goodness-of-fit**), or to see whether the proportions of one variable are different for different values of the other variable (called a ***G*-test of independence**). #' @inherit stats::chisq.test params return -#' @details If \code{x} is a matrix with one row or column, or if \code{x} is a vector and \code{y} is not given, then a \emph{goodness-of-fit test} is performed (\code{x} is treated as a one-dimensional contingency table). The entries of \code{x} must be non-negative integers. In this case, the hypothesis tested is whether the population probabilities equal those in \code{p}, or are all equal if \code{p} is not given. +#' @details If `x` is a matrix with one row or column, or if `x` is a vector and `y` is not given, then a *goodness-of-fit test* is performed (`x` is treated as a one-dimensional contingency table). The entries of `x` must be non-negative integers. In this case, the hypothesis tested is whether the population probabilities equal those in `p`, or are all equal if `p` is not given. #' -#' If \code{x} is a matrix with at least two rows and columns, it is taken as a two-dimensional contingency table: the entries of \code{x} must be non-negative integers. Otherwise, \code{x} and \code{y} must be vectors or factors of the same length; cases with missing values are removed, the objects are coerced to factors, and the contingency table is computed from these. Then Pearson's chi-squared test is performed of the null hypothesis that the joint distribution of the cell counts in a 2-dimensional contingency table is the product of the row and column marginals. +#' If `x` is a matrix with at least two rows and columns, it is taken as a two-dimensional contingency table: the entries of `x` must be non-negative integers. Otherwise, `x` and `y` must be vectors or factors of the same length; cases with missing values are removed, the objects are coerced to factors, and the contingency table is computed from these. Then Pearson's chi-squared test is performed of the null hypothesis that the joint distribution of the cell counts in a 2-dimensional contingency table is the product of the row and column marginals. #' -#' The p-value is computed from the asymptotic chi-squared distribution of the test statistic. +#' The p-value is computed from the asymptotic chi-squared distribution of the test statistic. #' -#' In the contingency table case simulation is done by random sampling from the set of all contingency tables with given marginals, and works only if the marginals are strictly positive. Note that this is not the usual sampling situation assumed for a chi-squared test (like the \emph{G}-test) but rather that for Fisher's exact test. +#' In the contingency table case simulation is done by random sampling from the set of all contingency tables with given marginals, and works only if the marginals are strictly positive. Note that this is not the usual sampling situation assumed for a chi-squared test (like the *G*-test) but rather that for Fisher's exact test. #' -#' In the goodness-of-fit case simulation is done by random sampling from the discrete distribution specified by \code{p}, each sample being of size \code{n = sum(x)}. This simulation is done in \R and may be slow. -#' @section \emph{G}-test of goodness-of-fit (likelihood ratio test): -#' Use the \emph{G}-test of goodness-of-fit when you have one nominal variable with two or more values (such as male and female, or red, pink and white flowers). You compare the observed counts of numbers of observations in each category with the expected counts, which you calculate using some kind of theoretical expectation (such as a 1:1 sex ratio or a 1:2:1 ratio in a genetic cross). +#' In the goodness-of-fit case simulation is done by random sampling from the discrete distribution specified by `p`, each sample being of size `n = sum(x)`. This simulation is done in \R and may be slow. +#' +#' ## *G*-test of goodness-of-fit (likelihood ratio test) +#' Use the *G*-test of goodness-of-fit when you have one nominal variable with two or more values (such as male and female, or red, pink and white flowers). You compare the observed counts of numbers of observations in each category with the expected counts, which you calculate using some kind of theoretical expectation (such as a 1:1 sex ratio or a 1:2:1 ratio in a genetic cross). #' -#' If the expected number of observations in any category is too small, the \emph{G}-test may give inaccurate results, and you should use an exact test instead (\code{\link{fisher.test}}). +#' If the expected number of observations in any category is too small, the *G*-test may give inaccurate results, and you should use an exact test instead ([fisher.test()]). #' -#' The \emph{G}-test of goodness-of-fit is an alternative to the chi-square test of goodness-of-fit (\code{\link{chisq.test}}); each of these tests has some advantages and some disadvantages, and the results of the two tests are usually very similar. +#' The *G*-test of goodness-of-fit is an alternative to the chi-square test of goodness-of-fit ([chisq.test()]); each of these tests has some advantages and some disadvantages, and the results of the two tests are usually very similar. #' -#' @section \emph{G}-test of independence: -#' Use the \emph{G}-test of independence when you have two nominal variables, each with two or more possible values. You want to know whether the proportions for one variable are different among values of the other variable. +#' ## *G*-test of independence +#' Use the *G*-test of independence when you have two nominal variables, each with two or more possible values. You want to know whether the proportions for one variable are different among values of the other variable. #' -#' It is also possible to do a \emph{G}-test of independence with more than two nominal variables. For example, Jackson et al. (2013) also had data for children under 3, so you could do an analysis of old vs. young, thigh vs. arm, and reaction vs. no reaction, all analyzed together. +#' It is also possible to do a *G*-test of independence with more than two nominal variables. For example, Jackson et al. (2013) also had data for children under 3, so you could do an analysis of old vs. young, thigh vs. arm, and reaction vs. no reaction, all analyzed together. #' -#' Fisher's exact test (\code{\link{fisher.test}}) is an \strong{exact} test, where the \emph{G}-test is still only an \strong{approximation}. For any 2x2 table, Fisher's Exact test may be slower but will still run in seconds, even if the sum of your observations is multiple millions. +#' Fisher's exact test ([fisher.test()]) is an **exact** test, where the *G*-test is still only an **approximation**. For any 2x2 table, Fisher's Exact test may be slower but will still run in seconds, even if the sum of your observations is multiple millions. #' -#' The \emph{G}-test of independence is an alternative to the chi-square test of independence (\code{\link{chisq.test}}), and they will give approximately the same results. -#' @section How the test works: -#' Unlike the exact test of goodness-of-fit (\code{\link{fisher.test}}), the \emph{G}-test does not directly calculate the probability of obtaining the observed results or something more extreme. Instead, like almost all statistical tests, the \emph{G}-test has an intermediate step; it uses the data to calculate a test statistic that measures how far the observed data are from the null expectation. You then use a mathematical relationship, in this case the chi-square distribution, to estimate the probability of obtaining that value of the test statistic. +#' The *G*-test of independence is an alternative to the chi-square test of independence ([chisq.test()]), and they will give approximately the same results. #' -#' The \emph{G}-test uses the log of the ratio of two likelihoods as the test statistic, which is why it is also called a likelihood ratio test or log-likelihood ratio test. The formula to calculate a \emph{G}-statistic is: +#' ## How the test works +#' Unlike the exact test of goodness-of-fit ([fisher.test()]), the *G*-test does not directly calculate the probability of obtaining the observed results or something more extreme. Instead, like almost all statistical tests, the *G*-test has an intermediate step; it uses the data to calculate a test statistic that measures how far the observed data are from the null expectation. You then use a mathematical relationship, in this case the chi-square distribution, to estimate the probability of obtaining that value of the test statistic. #' -#' \code{G <- 2 * sum(x * log(x / E))} +#' The *G*-test uses the log of the ratio of two likelihoods as the test statistic, which is why it is also called a likelihood ratio test or log-likelihood ratio test. The formula to calculate a *G*-statistic is: +#' +#' \eqn{G = 2 * sum(x * log(x / E))} +#' +#' where `E` are the expected values. Since this is chi-square distributed, the p value can be calculated in \R with: +#' ``` +#' p <- stats::pchisq(G, df, lower.tail = FALSE) +#' ``` +#' where `df` are the degrees of freedom. #' -#' where \code{E} are the expected values. Since this is chi-square distributed, the p value can be calculated with: -#' -#' \code{p <- stats::pchisq(G, df, lower.tail = FALSE)} -#' -#' where \code{df} are the degrees of freedom. -#' -#' If there are more than two categories and you want to find out which ones are significantly different from their null expectation, you can use the same method of testing each category vs. the sum of all categories, with the Bonferroni correction. You use \emph{G}-tests for each category, of course. -#' @seealso \code{\link{chisq.test}} -#' @references [1] McDonald, J.H. 2014. \strong{Handbook of Biological Statistics (3rd ed.)}. Sparky House Publishing, Baltimore, Maryland. \url{http://www.biostathandbook.com/gtestgof.html}. -#' @source This code is almost identical to \code{\link{chisq.test}}, except that: -#' \itemize{ -#' \item{The calculation of the statistic was changed to \code{2 * sum(x * log(x / E))}} -#' \item{Yates' continuity correction was removed as it does not apply to a \emph{G}-test} -#' \item{The possibility to simulate p values with \code{simulate.p.value} was removed} -#' } +#' If there are more than two categories and you want to find out which ones are significantly different from their null expectation, you can use the same method of testing each category vs. the sum of all categories, with the Bonferroni correction. You use *G*-tests for each category, of course. +#' @seealso [chisq.test()] +#' @references [1] McDonald, J.H. 2014. **Handbook of Biological Statistics (3rd ed.)**. Sparky House Publishing, Baltimore, Maryland. . +#' @source The code for this function is identical to that of [chisq.test()], except that: +#' - The calculation of the statistic was changed to \eqn{2 * sum(x * log(x / E))} +#' - Yates' continuity correction was removed as it does not apply to a *G*-test +#' - The possibility to simulate p values with `simulate.p.value` was removed #' @export #' @importFrom stats pchisq complete.cases #' @inheritSection AMR Read more on our website! diff --git a/R/ggplot_rsi.R b/R/ggplot_rsi.R index 62eb7074b..e194a6437 100755 --- a/R/ggplot_rsi.R +++ b/R/ggplot_rsi.R @@ -19,20 +19,20 @@ # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # -#' AMR plots with \code{ggplot2} +#' AMR plots with `ggplot2` #' -#' Use these functions to create bar plots for antimicrobial resistance analysis. All functions rely on internal \code{\link[ggplot2]{ggplot}2} functions. -#' @param data a \code{data.frame} with column(s) of class \code{"rsi"} (see \code{\link{as.rsi}}) -#' @param position position adjustment of bars, either \code{"fill"}, \code{"stack"} or \code{"dodge"} -#' @param x variable to show on x axis, either \code{"antibiotic"} (default) or \code{"interpretation"} or a grouping variable -#' @param fill variable to categorise using the plots legend, either \code{"antibiotic"} (default) or \code{"interpretation"} or a grouping variable +#' Use these functions to create bar plots for antimicrobial resistance analysis. All functions rely on internal [ggplot2][ggplot2::ggplot()] functions. +#' @param data a [`data.frame`] with column(s) of class [`rsi`] (see [as.rsi()]) +#' @param position position adjustment of bars, either `"fill"`, `"stack"` or `"dodge"` +#' @param x variable to show on x axis, either `"antibiotic"` (default) or `"interpretation"` or a grouping variable +#' @param fill variable to categorise using the plots legend, either `"antibiotic"` (default) or `"interpretation"` or a grouping variable #' @param breaks numeric vector of positions -#' @param limits numeric vector of length two providing limits of the scale, use \code{NA} to refer to the existing minimum or maximum -#' @param facet variable to split plots by, either \code{"interpretation"} (default) or \code{"antibiotic"} or a grouping variable +#' @param limits numeric vector of length two providing limits of the scale, use `NA` to refer to the existing minimum or maximum +#' @param facet variable to split plots by, either `"interpretation"` (default) or `"antibiotic"` or a grouping variable #' @inheritParams proportion -#' @param nrow (when using \code{facet}) number of rows -#' @param colours a named vector with colours for the bars. The names must be one or more of: S, SI, I, IR, R or be \code{FALSE} to use default \code{ggplot2} colours. -#' @param datalabels show datalabels using \code{labels_rsi_count} +#' @param nrow (when using `facet`) number of rows +#' @param colours a named vector with colours for the bars. The names must be one or more of: S, SI, I, IR, R or be `FALSE` to use default [ggplot2][[ggplot2::ggplot()] colours. +#' @param datalabels show datalabels using [labels_rsi_count()] #' @param datalabels.size size of the datalabels #' @param datalabels.colour colour of the datalabels #' @param title text to show as title of the plot @@ -40,23 +40,23 @@ #' @param caption text to show as caption of the plot #' @param x.title text to show as x axis description #' @param y.title text to show as y axis description -#' @param ... other parameters passed on to \code{geom_rsi} -#' @details At default, the names of antibiotics will be shown on the plots using \code{\link{ab_name}}. This can be set with the \code{translate_ab} parameter. See \code{\link{count_df}}. +#' @param ... other parameters passed on to [geom_rsi()] +#' @details At default, the names of antibiotics will be shown on the plots using [ab_name()]. This can be set with the `translate_ab` parameter. See [count_df()]. #' -#' \strong{The functions}\cr -#' \code{geom_rsi} will take any variable from the data that has an \code{rsi} class (created with \code{\link{as.rsi}}) using \code{\link{rsi_df}} and will plot bars with the percentage R, I and S. The default behaviour is to have the bars stacked and to have the different antibiotics on the x axis. +#' ## The functions +#' [geom_rsi()] will take any variable from the data that has an [`rsi`] class (created with [as.rsi()]) using [rsi_df()] and will plot bars with the percentage R, I and S. The default behaviour is to have the bars stacked and to have the different antibiotics on the x axis. #' -#' \code{facet_rsi} creates 2d plots (at default based on S/I/R) using \code{\link[ggplot2]{facet_wrap}}. +#' [facet_rsi()] creates 2d plots (at default based on S/I/R) using [ggplot2::facet_wrap()]. #' -#' \code{scale_y_percent} transforms the y axis to a 0 to 100\% range using \code{\link[ggplot2]{scale_continuous}}. +#' [scale_y_percent()] transforms the y axis to a 0 to 100% range using [ggplot2::scale_continuous()]. #' -#' \code{scale_rsi_colours} sets colours to the bars: pastel blue for S, pastel turquoise for I and pastel red for R, using \code{\link[ggplot2]{scale_brewer}}. +#' [scale_rsi_colours()] sets colours to the bars: pastel blue for S, pastel turquoise for I and pastel red for R, using [ggplot2::scale_brewer()]. #' -#' \code{theme_rsi} is a \code{ggplot \link[ggplot2]{theme}} with minimal distraction. +#' [theme_rsi()] is a [ggplot2 theme][[ggplot2::theme()] with minimal distraction. #' -#' \code{labels_rsi_count} print datalabels on the bars with percentage and amount of isolates using \code{\link[ggplot2]{geom_text}} +#' [labels_rsi_count()] print datalabels on the bars with percentage and amount of isolates using [ggplot2::geom_text()] #' -#' \code{ggplot_rsi} is a wrapper around all above functions that uses data as first input. This makes it possible to use this function after a pipe (\code{\%>\%}). See Examples. +#' [ggplot_rsi()] is a wrapper around all above functions that uses data as first input. This makes it possible to use this function after a pipe (`%>%`). See Examples. #' @rdname ggplot_rsi #' @export #' @inheritSection AMR Read more on our website! diff --git a/R/guess_ab_col.R b/R/guess_ab_col.R index faedfbc65..2c87cdb99 100755 --- a/R/guess_ab_col.R +++ b/R/guess_ab_col.R @@ -21,14 +21,14 @@ #' Guess antibiotic column #' -#' This tries to find a column name in a data set based on information from the \code{\link{antibiotics}} data set. Also supports WHONET abbreviations. -#' @param x a \code{data.frame} -#' @param search_string a text to search \code{x} for, will be checked with \code{\link{as.ab}} if this value is not a column in \code{x} +#' This tries to find a column name in a data set based on information from the [antibiotics] data set. Also supports WHONET abbreviations. +#' @param x a [`data.frame`] +#' @param search_string a text to search `x` for, will be checked with [as.ab()] if this value is not a column in `x` #' @param verbose a logical to indicate whether additional info should be printed -#' @details You can look for an antibiotic (trade) name or abbreviation and it will search \code{x} and the \code{\link{antibiotics}} data set for any column containing a name or code of that antibiotic. \strong{Longer columns names take precendence over shorter column names.} +#' @details You can look for an antibiotic (trade) name or abbreviation and it will search `x` and the [antibiotics] data set for any column containing a name or code of that antibiotic. **Longer columns names take precendence over shorter column names.** #' @importFrom dplyr %>% select filter_all any_vars #' @importFrom crayon blue -#' @return A column name of \code{x}, or \code{NULL} when no result is found. +#' @return A column name of `x`, or `NULL` when no result is found. #' @export #' @inheritSection AMR Read more on our website! #' @examples diff --git a/R/join_microorganisms.R b/R/join_microorganisms.R index d504bea02..fc1946e0b 100755 --- a/R/join_microorganisms.R +++ b/R/join_microorganisms.R @@ -19,17 +19,17 @@ # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # -#' Join a table with \code{microorganisms} +#' Join a table with [microorganisms] #' -#' Join the dataset \code{\link{microorganisms}} easily to an existing table or character vector. +#' Join the data set [microorganisms] easily to an existing table or character vector. #' @rdname join #' @name join #' @aliases join inner_join #' @param x existing table to join, or character vector -#' @param by a variable to join by - if left empty will search for a column with class \code{mo} (created with \code{\link{as.mo}}) or will be \code{"mo"} if that column name exists in \code{x}, could otherwise be a column name of \code{x} with values that exist in \code{microorganisms$mo} (like \code{by = "bacteria_id"}), or another column in \code{\link{microorganisms}} (but then it should be named, like \code{by = c("my_genus_species" = "fullname")}) -#' @param suffix if there are non-joined duplicate variables in \code{x} and \code{y}, these suffixes will be added to the output to disambiguate them. Should be a character vector of length 2. -#' @param ... other parameters to pass on to \code{dplyr::\link[dplyr]{join}}. -#' @details \strong{Note:} As opposed to the \code{\link[dplyr]{join}} functions of \code{dplyr}, characters vectors are supported and at default existing columns will get a suffix \code{"2"} and the newly joined columns will not get a suffix. See \code{\link[dplyr]{join}} for more information. +#' @param by a variable to join by - if left empty will search for a column with class [`mo`] (created with [as.mo()]) or will be `"mo"` if that column name exists in `x`, could otherwise be a column name of `x` with values that exist in `microorganisms$mo` (like `by = "bacteria_id"`), or another column in [microorganisms] (but then it should be named, like `by = c("my_genus_species" = "fullname")`) +#' @param suffix if there are non-joined duplicate variables in `x` and `y`, these suffixes will be added to the output to disambiguate them. Should be a character vector of length 2. +#' @param ... other parameters to pass on to [dplyr::join()] +#' @details **Note:** As opposed to the [dplyr::join()] functions of `dplyr`, [`characters`] vectors are supported and at default existing columns will get a suffix `"2"` and the newly joined columns will not get a suffix. See [dplyr::join()] for more information. #' @inheritSection AMR Read more on our website! #' @export #' @examples diff --git a/R/key_antibiotics.R b/R/key_antibiotics.R index a62a9da01..afb52233f 100755 --- a/R/key_antibiotics.R +++ b/R/key_antibiotics.R @@ -19,33 +19,54 @@ # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # -#' Key antibiotics for first \emph{weighted} isolates +#' Key antibiotics for first *weighted* isolates #' -#' These function can be used to determine first isolates (see \code{\link{first_isolate}}). Using key antibiotics to determine first isolates is more reliable than without key antibiotics. These selected isolates will then be called first \emph{weighted} isolates. -#' @param x table with antibiotics coloms, like \code{AMX} or \code{amox} +#' These function can be used to determine first isolates (see [first_isolate()]). Using key antibiotics to determine first isolates is more reliable than without key antibiotics. These selected isolates will then be called first *weighted* isolates. +#' @param x table with antibiotics coloms, like `AMX` or `amox` #' @param y,z characters to compare #' @inheritParams first_isolate -#' @param universal_1,universal_2,universal_3,universal_4,universal_5,universal_6 column names of \strong{broad-spectrum} antibiotics, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link{guess_ab_col}}. -#' @param GramPos_1,GramPos_2,GramPos_3,GramPos_4,GramPos_5,GramPos_6 column names of antibiotics for \strong{Gram-positives}, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link{guess_ab_col}}. -#' @param GramNeg_1,GramNeg_2,GramNeg_3,GramNeg_4,GramNeg_5,GramNeg_6 column names of antibiotics for \strong{Gram-negatives}, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link{guess_ab_col}}. +#' @param universal_1,universal_2,universal_3,universal_4,universal_5,universal_6 column names of **broad-spectrum** antibiotics, case-insensitive. At default, the columns containing these antibiotics will be guessed with [guess_ab_col()]. +#' @param GramPos_1,GramPos_2,GramPos_3,GramPos_4,GramPos_5,GramPos_6 column names of antibiotics for **Gram-positives**, case-insensitive. At default, the columns containing these antibiotics will be guessed with [guess_ab_col()]. +#' @param GramNeg_1,GramNeg_2,GramNeg_3,GramNeg_4,GramNeg_5,GramNeg_6 column names of antibiotics for **Gram-negatives**, case-insensitive. At default, the columns containing these antibiotics will be guessed with [guess_ab_col()]. #' @param warnings give warning about missing antibiotic columns, they will anyway be ignored #' @param ... other parameters passed on to function -#' @details The function \code{key_antibiotics} returns a character vector with 12 antibiotic results for every isolate. These isolates can then be compared using \code{key_antibiotics_equal}, to check if two isolates have generally the same antibiogram. Missing and invalid values are replaced with a dot (\code{"."}). The \code{\link{first_isolate}} function only uses this function on the same microbial species from the same patient. Using this, an MRSA will be included after a susceptible \emph{S. aureus} (MSSA) found within the same episode (see \code{episode} parameter of \code{\link{first_isolate}}). Without key antibiotic comparison it would not. +#' @details The function [key_antibiotics()] returns a character vector with 12 antibiotic results for every isolate. These isolates can then be compared using [key_antibiotics_equal()], to check if two isolates have generally the same antibiogram. Missing and invalid values are replaced with a dot (`"."`). The [first_isolate()] function only uses this function on the same microbial species from the same patient. Using this, an MRSA will be included after a susceptible *S. aureus* (MSSA) found within the same episode (see `episode` parameter of [first_isolate()]). Without key antibiotic comparison it would not. #' -#' At default, the antibiotics that are used for \strong{Gram-positive bacteria} are: \cr -#' amoxicillin, amoxicillin/clavulanic acid, cefuroxime, piperacillin/tazobactam, ciprofloxacin, trimethoprim/sulfamethoxazole (until here is universal), vancomycin, teicoplanin, tetracycline, erythromycin, oxacillin, rifampin. +#' At default, the antibiotics that are used for **Gram-positive bacteria** are: +#' - Amoxicillin +#' - Amoxicillin/clavulanic acid +#' - Cefuroxime +#' - Piperacillin/tazobactam +#' - Ciprofloxacin +#' - Trimethoprim/sulfamethoxazole +#' - Vancomycin +#' - Teicoplanin +#' - Tetracycline +#' - Erythromycin +#' - Oxacillin +#' - Rifampin #' -#' At default, the antibiotics that are used for \strong{Gram-negative bacteria} are: \cr -#' amoxicillin, amoxicillin/clavulanic acid, cefuroxime, piperacillin/tazobactam, ciprofloxacin, trimethoprim/sulfamethoxazole (until here is universal), gentamicin, tobramycin, colistin, cefotaxime, ceftazidime, meropenem. -#' -#' -#' The function \code{key_antibiotics_equal} checks the characters returned by \code{key_antibiotics} for equality, and returns a logical vector. +#' At default the antibiotics that are used for **Gram-negative bacteria** are: +#' - Amoxicillin +#' - Amoxicillin/clavulanic acid +#' - Cefuroxime +#' - Piperacillin/tazobactam +#' - Ciprofloxacin +#' - Trimethoprim/sulfamethoxazole +#' - Gentamicin +#' - Tobramycin +#' - Colistin +#' - Cefotaxime +#' - Ceftazidime +#' - Meropenem +#' +#' The function [key_antibiotics_equal()] checks the characters returned by [key_antibiotics()] for equality, and returns a [`logical`] vector. #' @inheritSection first_isolate Key antibiotics #' @rdname key_antibiotics #' @export #' @importFrom dplyr %>% mutate if_else pull #' @importFrom crayon blue bold -#' @seealso \code{\link{first_isolate}} +#' @seealso [first_isolate()] #' @inheritSection AMR Read more on our website! #' @examples #' # `example_isolates` is a dataset available in the AMR package. diff --git a/R/kurtosis.R b/R/kurtosis.R index aa0f41509..b44f2e6d3 100755 --- a/R/kurtosis.R +++ b/R/kurtosis.R @@ -22,11 +22,10 @@ #' Kurtosis of the sample #' #' @description Kurtosis is a measure of the "tailedness" of the probability distribution of a real-valued random variable. -#' -#' @param x a vector of values, a \code{matrix} or a \code{data frame} -#' @param na.rm a logical value indicating whether \code{NA} values should be stripped before the computation proceeds. +#' @param x a vector of values, a [`matrix`] or a [`data frame`] +#' @param na.rm a logical value indicating whether `NA` values should be stripped before the computation proceeds. #' @exportMethod kurtosis -#' @seealso \code{\link{skewness}} +#' @seealso [skewness()] #' @rdname kurtosis #' @inheritSection AMR Read more on our website! #' @export diff --git a/R/like.R b/R/like.R index 9ba97a2ef..7ab7b6233 100755 --- a/R/like.R +++ b/R/like.R @@ -21,15 +21,15 @@ #' Pattern Matching #' -#' Convenient wrapper around \code{\link[base]{grep}} to match a pattern: \code{a \%like\% b}. It always returns a \code{logical} vector and is always case-insensitive (use \code{a \%like_case\% b} for case-sensitive matching). Also, \code{pattern} (\code{b}) can be as long as \code{x} (\code{a}) to compare items of each index in both vectors, or can both have the same length to iterate over all cases. +#' Convenient wrapper around [base::grep()] to match a pattern: `a %like% b`. It always returns a [`logical`] vector and is always case-insensitive (use `a %like_case% b` for case-sensitive matching). Also, `pattern` (*b*) can be as long as `x` (*a*) to compare items of each index in both vectors, or can both have the same length to iterate over all cases. #' @inheritParams base::grepl -#' @return A \code{logical} vector +#' @return A [`logical`] vector #' @name like #' @rdname like #' @export -#' @details Using RStudio? This function can also be inserted from the Addins menu and can have its own Keyboard Shortcut like Ctrl+Shift+L or Cmd+Shift+L (see Tools > Modify Keyboard Shortcuts...). -#' @source Idea from the \href{https://github.com/Rdatatable/data.table/blob/master/R/like.R}{\code{like} function from the \code{data.table} package}, but made it case insensitive at default and let it support multiple patterns. Also, if the regex fails the first time, it tries again with \code{perl = TRUE}. -#' @seealso \code{\link[base]{grep}} +#' @details Using RStudio? This function can also be inserted from the Addins menu and can have its own Keyboard Shortcut like `Ctrl+Shift+L` or `Cmd+Shift+L` (see `Tools` > `Modify Keyboard Shortcuts...`). +#' @source Idea from the [`like` function from the `data.table` package](https://github.com/Rdatatable/data.table/blob/master/R/like.R), but made it case insensitive at default and let it support multiple patterns. Also, if the regex fails the first time, it tries again with `perl = TRUE`. +#' @seealso [base::grep()] #' @inheritSection AMR Read more on our website! #' @examples #' # simple test diff --git a/R/mdro.R b/R/mdro.R index 7a923c1a0..867eadc5e 100755 --- a/R/mdro.R +++ b/R/mdro.R @@ -22,35 +22,42 @@ #' Determine multidrug-resistant organisms (MDRO) #' #' Determine which isolates are multidrug-resistant organisms (MDRO) according to international and national guidelines. -#' @param guideline a specific guideline to follow. When left empty, the publication by Magiorakos \emph{et al.} (2012, Clinical Microbiology and Infection) will be followed, see Details. -#' @param info print progress +#' @param guideline a specific guideline to follow. When left empty, the publication by Magiorakos *et al.* (2012, Clinical Microbiology and Infection) will be followed, please see *Details*. +#' @param info a logical to indicate whether progress should be printed to the console #' @inheritParams eucast_rules -#' @param pct_required_classes minimal required percentage of antimicrobial classes that must be available per isolate, rounded down. For example, with the default guideline, 17 antimicrobial classes must be available for \emph{S. aureus}. Setting this \code{pct_required_classes} argument to \code{0.5} (default) means that for every \emph{S. aureus} isolate at least 8 different classes must be available. Any lower number of available classes will return \code{NA} for that isolate. -#' @param combine_SI a logical to indicate whether all values of S and I must be merged into one, so resistance is only considered when isolates are R, not I. As this is the default behaviour of the \code{mdro()} function, it follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. When using \code{combine_SI = FALSE}, resistance is considered when isolates are R or I. +#' @param pct_required_classes minimal required percentage of antimicrobial classes that must be available per isolate, rounded down. For example, with the default guideline, 17 antimicrobial classes must be available for *S. aureus*. Setting this `pct_required_classes` argument to `0.5` (default) means that for every *S. aureus* isolate at least 8 different classes must be available. Any lower number of available classes will return `NA` for that isolate. +#' @param combine_SI a logical to indicate whether all values of S and I must be merged into one, so resistance is only considered when isolates are R, not I. As this is the default behaviour of the [mdro()] function, it follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. When using `combine_SI = FALSE`, resistance is considered when isolates are R or I. #' @param verbose a logical to turn Verbose mode on and off (default is off). In Verbose mode, the function does not return the MDRO results, but instead returns a data set in logbook form with extensive info about which isolates would be MDRO-positive, or why they are not. #' @inheritSection eucast_rules Antibiotics #' @details -#' For the \code{pct_required_classes} argument, values above 1 will be divided by 100. This is to support both fractions (\code{0.75} or \code{3/4}) and percentages (\code{75}). +#' For the `pct_required_classes` argument, values above 1 will be divided by 100. This is to support both fractions (`0.75` or `3/4`) and percentages (`75`). #' #' Currently supported guidelines are (case-insensitive): -#' \itemize{ -#' \item{\code{guideline = "CMI2012"}: Magiorakos AP, Srinivasan A \emph{et al.} "Multidrug-resistant, extensively drug-resistant and pandrug-resistant bacteria: an international expert proposal for interim standard definitions for acquired resistance." Clinical Microbiology and Infection (2012) (\href{https://www.clinicalmicrobiologyandinfection.com/article/S1198-743X(14)61632-3/fulltext}{link})} -#' \item{\code{guideline = "EUCAST"}: The European international guideline - EUCAST Expert Rules Version 3.1 "Intrinsic Resistance and Exceptional Phenotypes Tables" (\href{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf}{link})} -#' \item{\code{guideline = "TB"}: The international guideline for multi-drug resistant tuberculosis - World Health Organization "Companion handbook to the WHO guidelines for the programmatic management of drug-resistant tuberculosis" (\href{https://www.who.int/tb/publications/pmdt_companionhandbook/en/}{link})} -#' \item{\code{guideline = "MRGN"}: The German national guideline - Mueller et al. (2015) Antimicrobial Resistance and Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6} -#' \item{\code{guideline = "BRMO"}: The Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu "WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) [ZKH]" (\href{https://www.rivm.nl/Documenten_en_publicaties/Professioneel_Praktisch/Richtlijnen/Infectieziekten/WIP_Richtlijnen/WIP_Richtlijnen/Ziekenhuizen/WIP_richtlijn_BRMO_Bijzonder_Resistente_Micro_Organismen_ZKH}{link})} -#' } -#' -#' Please suggest your own (country-specific) guidelines by letting us know: \url{https://gitlab.com/msberends/AMR/issues/new}. #' -#' \strong{Note:} Every test that involves the Enterobacteriaceae family, will internally be performed using its newly named order Enterobacterales, since the Enterobacteriaceae family has been taxonomically reclassified by Adeolu \emph{et al.} in 2016. Before that, Enterobacteriaceae was the only family under the Enterobacteriales (with an i) order. All species under the old Enterobacteriaceae family are still under the new Enterobacterales (without an i) order, but divided into multiple families. The way tests are performed now by this \code{mdro()} function makes sure that results from before 2016 and after 2016 are identical. +#' - `guideline = "CMI2012"`\cr +#' Magiorakos AP, Srinivasan A *et al.* "Multidrug-resistant, extensively drug-resistant and pandrug-resistant bacteria: an international expert proposal for interim standard definitions for acquired resistance." Clinical Microbiology and Infection (2012) ([link](https://www.clinicalmicrobiologyandinfection.com/article/S1198-743X(14)61632-3/fulltext)) +#' - `guideline = "EUCAST"`\cr +#' The European international guideline - EUCAST Expert Rules Version 3.1 "Intrinsic Resistance and Exceptional Phenotypes Tables" ([link](http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf)) +#' - `guideline = "TB"`\cr +#' The international guideline for multi-drug resistant tuberculosis - World Health Organization "Companion handbook to the WHO guidelines for the programmatic management of drug-resistant tuberculosis" ([link](https://www.who.int/tb/publications/pmdt_companionhandbook/en/)) +#' - `guideline = "MRGN"`\cr +#' The German national guideline - Mueller et al. (2015) Antimicrobial Resistance and Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6 +#' - `guideline = "BRMO"`\cr +#' The Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu "WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) [ZKH]" ([link](https://www.rivm.nl/Documenten_en_publicaties/Professioneel_Praktisch/Richtlijnen/Infectieziekten/WIP_Richtlijnen/WIP_Richtlijnen/Ziekenhuizen/WIP_richtlijn_BRMO_Bijzonder_Resistente_Micro_Organismen_ZKH)) +#' +#' Please suggest your own (country-specific) guidelines by letting us know: . +#' +#' **Note:** Every test that involves the Enterobacteriaceae family, will internally be performed using its newly named order Enterobacterales, since the Enterobacteriaceae family has been taxonomically reclassified by Adeolu *et al.* in 2016. Before that, Enterobacteriaceae was the only family under the Enterobacteriales (with an i) order. All species under the old Enterobacteriaceae family are still under the new Enterobacterales (without an i) order, but divided into multiple families. The way tests are performed now by this [mdro()] function makes sure that results from before 2016 and after 2016 are identical. #' @inheritSection as.rsi Interpretation of S, I and R -#' @return \itemize{ -#' \item{CMI 2012 paper - function \code{mdr_cmi2012()} or \code{mdro()}:\cr Ordered factor with levels \code{Negative < Multi-drug-resistant (MDR) < Extensively drug-resistant (XDR) < Pandrug-resistant (PDR)}} -#' \item{TB guideline - function \code{mdr_tb()} or \code{mdro(..., guideline = "TB")}:\cr Ordered factor with levels \code{Negative < Mono-resistant < Poly-resistant < Multi-drug-resistant < Extensively drug-resistant}} -#' \item{German guideline - function \code{mrgn()} or \code{mdro(..., guideline = "MRGN")}:\cr Ordered factor with levels \code{Negative < 3MRGN < 4MRGN}} -#' \item{Everything else:\cr Ordered factor with levels \code{Negative < Positive, unconfirmed < Positive}. The value \code{"Positive, unconfirmed"} means that, according to the guideline, it is not entirely sure if the isolate is multi-drug resistant and this should be confirmed with additional (e.g. molecular) tests} -#' } +#' @return +#' - CMI 2012 paper - function [mdr_cmi2012()] or [mdro()]:\cr +#' Ordered [`factor`] with levels `Negative` < `Multi-drug-resistant (MDR)` < `Extensively drug-resistant (XDR)` < `Pandrug-resistant (PDR)` +#' - TB guideline - function [mdr_tb()] or [`mdro(..., guideline = "TB")`][mdro()]:\cr +#' Ordered [`factor`] with levels `Negative` < `Mono-resistant` < `Poly-resistant` < `Multi-drug-resistant` < `Extensively drug-resistant` +#' - German guideline - function [mrgn()] or [`mdro(..., guideline = "MRGN")`][mdro()]:\cr +#' Ordered [`factor`] with levels `Negative` < `3MRGN` < `4MRGN` +#' - Everything else:\cr +#' Ordered [`factor`] with levels `Negative` < `Positive, unconfirmed` < `Positive`. The value `"Positive, unconfirmed"` means that, according to the guideline, it is not entirely sure if the isolate is multi-drug resistant and this should be confirmed with additional (e.g. molecular) tests #' @rdname mdro #' @aliases MDR XDR PDR BRMO 3MRGN 4MRGN #' @importFrom dplyr %>% filter_at vars all_vars pull mutate_at @@ -59,7 +66,7 @@ #' @export #' @inheritSection AMR Read more on our website! #' @source -#' Please see Details for the list of publications used for this function. +#' Please see *Details* for the list of publications used for this function. #' @examples #' \donttest{ #' library(dplyr) @@ -74,7 +81,7 @@ #' MRGN = mrgn(.)) #' } mdro <- function(x, - guideline = NULL, + guideline = "CMI2012", col_mo = NULL, info = TRUE, pct_required_classes = 0.5, diff --git a/R/mic.R b/R/mic.R index dcdd17bc7..8c0a0c2ac 100755 --- a/R/mic.R +++ b/R/mic.R @@ -21,16 +21,16 @@ #' Class 'mic' #' -#' This transforms a vector to a new class \code{mic}, which is an ordered factor with valid MIC values as levels. Invalid MIC values will be translated as \code{NA} with a warning. +#' This transforms a vector to a new class [`mic`], which is an ordered [`factor`] with valid MIC values as levels. Invalid MIC values will be translated as `NA` with a warning. #' @rdname as.mic #' @param x vector #' @param na.rm a logical indicating whether missing values should be removed -#' @details Interpret MIC values as RSI values with \code{\link{as.rsi}}. It supports guidelines from EUCAST and CLSI. -#' @return Ordered factor with new class \code{mic} +#' @details To interpret MIC values as RSI values, use [as.rsi()] on MIC values. It supports guidelines from EUCAST and CLSI. +#' @return Ordered [`factor`] with new class [`mic`] #' @aliases MIC #' @export #' @importFrom dplyr %>% -#' @seealso \code{\link{as.rsi}} +#' @seealso [as.rsi()] #' @inheritSection AMR Read more on our website! #' @examples #' mic_data <- as.mic(c(">=32", "1.0", "1", "1.00", 8, "<=0.128", "8", "16", "16")) diff --git a/R/mo.R b/R/mo.R index b310c0c08..28bd5abb2 100755 --- a/R/mo.R +++ b/R/mo.R @@ -21,24 +21,25 @@ #' Transform to microorganism ID #' -#' Use this function to determine a valid microorganism ID (\code{mo}). Determination is done using intelligent rules and the complete taxonomic kingdoms Bacteria, Chromista, Protozoa, Archaea and most microbial species from the kingdom Fungi (see Source). The input can be almost anything: a full name (like \code{"Staphylococcus aureus"}), an abbreviated name (like \code{"S. aureus"}), an abbreviation known in the field (like \code{"MRSA"}), or just a genus. Please see Examples. -#' @param x a character vector or a \code{data.frame} with one or two columns -#' @param Becker a logical to indicate whether \emph{Staphylococci} should be categorised into coagulase-negative \emph{Staphylococci} ("CoNS") and coagulase-positive \emph{Staphylococci} ("CoPS") instead of their own species, according to Karsten Becker \emph{et al.} [1,2]. Note that this does not include species that were newly named after these publications, like \emph{S. caeli}. +#' Use this function to determine a valid microorganism ID ([`mo`]). Determination is done using intelligent rules and the complete taxonomic kingdoms Bacteria, Chromista, Protozoa, Archaea and most microbial species from the kingdom Fungi (see Source). The input can be almost anything: a full name (like `"Staphylococcus aureus"`), an abbreviated name (like `"S. aureus"`), an abbreviation known in the field (like `"MRSA"`), or just a genus. Please see *Examples*. +#' @param x a character vector or a [`data.frame`] with one or two columns +#' @param Becker a logical to indicate whether *Staphylococci* should be categorised into coagulase-negative *Staphylococci* ("CoNS") and coagulase-positive *Staphylococci* ("CoPS") instead of their own species, according to Karsten Becker *et al.* (1,2). Note that this does not include species that were newly named after these publications, like *S. caeli*. #' -#' This excludes \emph{Staphylococcus aureus} at default, use \code{Becker = "all"} to also categorise \emph{S. aureus} as "CoPS". -#' @param Lancefield a logical to indicate whether beta-haemolytic \emph{Streptococci} should be categorised into Lancefield groups instead of their own species, according to Rebecca C. Lancefield [3]. These \emph{Streptococci} will be categorised in their first group, e.g. \emph{Streptococcus dysgalactiae} will be group C, although officially it was also categorised into groups G and L. +#' This excludes *Staphylococcus aureus* at default, use `Becker = "all"` to also categorise *S. aureus* as "CoPS". +#' @param Lancefield a logical to indicate whether beta-haemolytic *Streptococci* should be categorised into Lancefield groups instead of their own species, according to Rebecca C. Lancefield (3). These *Streptococci* will be categorised in their first group, e.g. *Streptococcus dysgalactiae* will be group C, although officially it was also categorised into groups G and L. #' -#' This excludes \emph{Enterococci} at default (who are in group D), use \code{Lancefield = "all"} to also categorise all \emph{Enterococci} as group D. -#' @param allow_uncertain a number between 0 (or "none") and 3 (or "all"), or TRUE (= 2) or FALSE (= 0) to indicate whether the input should be checked for less probable results, see Details -#' @param reference_df a \code{data.frame} to use for extra reference when translating \code{x} to a valid \code{mo}. See \code{\link{set_mo_source}} and \code{\link{get_mo_source}} to automate the usage of your own codes (e.g. used in your analysis or organisation). +#' This excludes *Enterococci* at default (who are in group D), use `Lancefield = "all"` to also categorise all *Enterococci* as group D. +#' @param allow_uncertain a number between `0` (or `"none"`) and `3` (or `"all"`), or `TRUE` (= `2`) or `FALSE` (= `0`) to indicate whether the input should be checked for less probable results, please see *Details* +#' @param reference_df a [`data.frame`] to use for extra reference when translating `x` to a valid [`mo`]. See [set_mo_source()] and [get_mo_source()] to automate the usage of your own codes (e.g. used in your analysis or organisation). #' @param ... other parameters passed on to functions #' @rdname as.mo #' @aliases mo #' @keywords mo Becker becker Lancefield lancefield guess #' @details -#' \strong{General info} \cr -#' A microorganism ID from this package (class: \code{mo}) typically looks like these examples:\cr -#' \preformatted{ +#' ## General info +#' +#' A microorganism ID from this package (class: [`mo`]) typically looks like these examples: +#' ``` #' Code Full name #' --------------- -------------------------------------- #' B_KLBSL Klebsiella @@ -51,81 +52,71 @@ #' | ----> genus, a 5-7 letter acronym #' ----> taxonomic kingdom: A (Archaea), AN (Animalia), B (Bacteria), #' C (Chromista), F (Fungi), P (Protozoa) -#' } +#' ``` #' -#' Values that cannot be coered will be considered 'unknown' and will get the MO code \code{UNKNOWN}. +#' Values that cannot be coered will be considered 'unknown' and will get the MO code `UNKNOWN`. #' -#' Use the \code{\link{mo_property}_*} functions to get properties based on the returned code, see Examples. +#' Use the [`mo_property_*`][mo_property()] functions to get properties based on the returned code, see Examples. #' -#' The algorithm uses data from the Catalogue of Life (see below) and from one other source (see \code{\link{microorganisms}}). +#' The algorithm uses data from the Catalogue of Life (see below) and from one other source (see [microorganisms]). #' -#' The \code{as.mo()} function uses several coercion rules for fast and logical results. It assesses the input matching criteria in the following order: - -#' \itemize{ -#' \item{Human pathogenic prevalence: the function starts with more prevalent microorganisms, followed by less prevalent ones;} -#' \item{Taxonomic kingdom: the function starts with determining Bacteria, then Fungi, then Protozoa, then others;} -#' \item{Breakdown of input values to identify possible matches.} -#' } -#' -#' This will lead to the effect that e.g. \code{"E. coli"} (a highly prevalent microorganism found in humans) will return the microbial ID of \emph{Escherichia coli} and not \emph{Entamoeba coli} (a less prevalent microorganism in humans), although the latter would alphabetically come first. +#' The [as.mo()] function uses several coercion rules for fast and logical results. It assesses the input matching criteria in the following order: #' -#' \strong{Coping with uncertain results} \cr -#' In addition, the \code{as.mo()} function can differentiate four levels of uncertainty to guess valid results: +#' 1. Human pathogenic prevalence: the function starts with more prevalent microorganisms, followed by less prevalent ones; +#' 2. Taxonomic kingdom: the function starts with determining Bacteria, then Fungi, then Protozoa, then others; +#' 3. Breakdown of input values to identify possible matches. +#' +#' This will lead to the effect that e.g. `"E. coli"` (a highly prevalent microorganism found in humans) will return the microbial ID of *Escherichia coli* and not *Entamoeba coli* (a less prevalent microorganism in humans), although the latter would alphabetically come first. #' -#' \itemize{ -#' \item{Uncertainty level 0: no additional rules are applied;} -#' \item{Uncertainty level 1: allow previously accepted (but now invalid) taxonomic names and minor spelling errors;} -#' \item{Uncertainty level 2: allow all of level 1, strip values between brackets, inverse the words of the input, strip off text elements from the end keeping at least two elements;} -#' \item{Uncertainty level 3: allow all of level 1 and 2, strip off text elements from the end, allow any part of a taxonomic name.} -#' } +#' ## Coping with uncertain results +#' +#' In addition, the [as.mo()] function can differentiate four levels of uncertainty to guess valid results: +#' - Uncertainty level 0: no additional rules are applied; +#' - Uncertainty level 1: allow previously accepted (but now invalid) taxonomic names and minor spelling errors; +#' - Uncertainty level 2: allow all of level 1, strip values between brackets, inverse the words of the input, strip off text elements from the end keeping at least two elements; +#' - Uncertainty level 3: allow all of level 1 and 2, strip off text elements from the end, allow any part of a taxonomic name. #' #' This leads to e.g.: -#' -#' \itemize{ -#' \item{\code{"Streptococcus group B (known as S. agalactiae)"}. The text between brackets will be removed and a warning will be thrown that the result \emph{Streptococcus group B} (\code{B_STRPT_GRPB}) needs review.} -#' \item{\code{"S. aureus - please mind: MRSA"}. The last word will be stripped, after which the function will try to find a match. If it does not, the second last word will be stripped, etc. Again, a warning will be thrown that the result \emph{Staphylococcus aureus} (\code{B_STPHY_AURS}) needs review.} -#' \item{\code{"Fluoroquinolone-resistant Neisseria gonorrhoeae"}. The first word will be stripped, after which the function will try to find a match. A warning will be thrown that the result \emph{Neisseria gonorrhoeae} (\code{B_NESSR_GNRR}) needs review.} -#' } +#' - `"Streptococcus group B (known as S. agalactiae)"`. The text between brackets will be removed and a warning will be thrown that the result *Streptococcus group B* (`B_STRPT_GRPB`) needs review. +#' - `"S. aureus - please mind: MRSA"`. The last word will be stripped, after which the function will try to find a match. If it does not, the second last word will be stripped, etc. Again, a warning will be thrown that the result *Staphylococcus aureus* (`B_STPHY_AURS`) needs review. +#' - `"Fluoroquinolone-resistant Neisseria gonorrhoeae"`. The first word will be stripped, after which the function will try to find a match. A warning will be thrown that the result *Neisseria gonorrhoeae* (`B_NESSR_GNRR`) needs review. #' -#' The level of uncertainty can be set using the argument \code{allow_uncertain}. The default is \code{allow_uncertain = TRUE}, which is equal to uncertainty level 2. Using \code{allow_uncertain = FALSE} is equal to uncertainty level 0 and will skip all rules. You can also use e.g. \code{as.mo(..., allow_uncertain = 1)} to only allow up to level 1 uncertainty. +#' The level of uncertainty can be set using the argument `allow_uncertain`. The default is `allow_uncertain = TRUE`, which is equal to uncertainty level 2. Using `allow_uncertain = FALSE` is equal to uncertainty level 0 and will skip all rules. You can also use e.g. `as.mo(..., allow_uncertain = 1)` to only allow up to level 1 uncertainty. #' -#' There are three helper functions that can be run after then \code{as.mo()} function: -#' \itemize{ -#' \item{Use \code{mo_uncertainties()} to get a \code{data.frame} with all values that were coerced to a valid value, but with uncertainty. The output contains a score, that is calculated as \code{(n - 0.5 * L) / n}, where \emph{n} is the number of characters of the returned full name of the microorganism, and \emph{L} is the \href{https://en.wikipedia.org/wiki/Levenshtein_distance}{Levenshtein distance} between that full name and the user input.} -#' \item{Use \code{mo_failures()} to get a vector with all values that could not be coerced to a valid value.} -#' \item{Use \code{mo_renamed()} to get a \code{data.frame} with all values that could be coerced based on an old, previously accepted taxonomic name.} -#' } +#' There are three helper functions that can be run after then [as.mo()] function: +#' - Use [mo_uncertainties()] to get a [`data.frame`] with all values that were coerced to a valid value, but with uncertainty. The output contains a score, that is calculated as \eqn{(n - 0.5 * L) / n}, where *n* is the number of characters of the returned full name of the microorganism, and *L* is the [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance) between that full name and the user input. +#' - Use [mo_failures()] to get a [`vector`] with all values that could not be coerced to a valid value. +#' - Use [mo_renamed()] to get a [`data.frame`] with all values that could be coerced based on an old, previously accepted taxonomic name. #' -#' \strong{Microbial prevalence of pathogens in humans} \cr -#' The intelligent rules consider the prevalence of microorganisms in humans grouped into three groups, which is available as the \code{prevalence} columns in the \code{\link{microorganisms}} and \code{\link{microorganisms.old}} data sets. The grouping into prevalence groups is based on experience from several microbiological laboratories in the Netherlands in conjunction with international reports on pathogen prevalence. +#' ## Microbial prevalence of pathogens in humans #' -#' Group 1 (most prevalent microorganisms) consists of all microorganisms where the taxonomic class is Gammaproteobacteria or where the taxonomic genus is \emph{Enterococcus}, \emph{Staphylococcus} or \emph{Streptococcus}. This group consequently contains all common Gram-negative bacteria, such as \emph{Pseudomonas} and \emph{Legionella} and all species within the order Enterobacteriales. +#' The intelligent rules consider the prevalence of microorganisms in humans grouped into three groups, which is available as the `prevalence` columns in the [microorganisms] and [microorganisms.old] data sets. The grouping into prevalence groups is based on experience from several microbiological laboratories in the Netherlands in conjunction with international reports on pathogen prevalence. #' -#' Group 2 consists of all microorganisms where the taxonomic phylum is Proteobacteria, Firmicutes, Actinobacteria or Sarcomastigophora, or where the taxonomic genus is \emph{Aspergillus}, \emph{Bacteroides}, \emph{Candida}, \emph{Capnocytophaga}, \emph{Chryseobacterium}, \emph{Cryptococcus}, \emph{Elisabethkingia}, \emph{Flavobacterium}, \emph{Fusobacterium}, \emph{Giardia}, \emph{Leptotrichia}, \emph{Mycoplasma}, \emph{Prevotella}, \emph{Rhodotorula}, \emph{Treponema}, \emph{Trichophyton} or \emph{Ureaplasma}. +#' Group 1 (most prevalent microorganisms) consists of all microorganisms where the taxonomic class is Gammaproteobacteria or where the taxonomic genus is *Enterococcus*, *Staphylococcus* or *Streptococcus*. This group consequently contains all common Gram-negative bacteria, such as *Pseudomonas* and *Legionella* and all species within the order Enterobacteriales. +#' +#' Group 2 consists of all microorganisms where the taxonomic phylum is Proteobacteria, Firmicutes, Actinobacteria or Sarcomastigophora, or where the taxonomic genus is *Aspergillus*, *Bacteroides*, *Candida*, *Capnocytophaga*, *Chryseobacterium*, *Cryptococcus*, *Elisabethkingia*, *Flavobacterium*, *Fusobacterium*, *Giardia*, *Leptotrichia*, *Mycoplasma*, *Prevotella*, *Rhodotorula*, *Treponema*, *Trichophyton* or *Ureaplasma*. #' #' Group 3 (least prevalent microorganisms) consists of all other microorganisms. #' -#' \strong{Self-learning algorithm} \cr -#' The \code{as.mo()} function gains experience from previously determined microorganism IDs and learns from it. This drastically improves both speed and reliability. Use \code{clear_mo_history()} to reset the algorithms. Only experience from your current \code{AMR} package version is used. This is done because in the future the taxonomic tree (which is included in this package) may change for any organism and it consequently has to rebuild its knowledge. +#' ## Self-learning algorithm +#' +#' The [as.mo()] function gains experience from previously determined microorganism IDs and learns from it. This drastically improves both speed and reliability. Use [clear_mo_history()] to reset the algorithms. Only experience from your current `AMR` package version is used. This is done because in the future the taxonomic tree (which is included in this package) may change for any organism and it consequently has to rebuild its knowledge. #' -#' Usually, any guess after the first try runs 80-95\% faster than the first try. -#' -# \emph{For now, learning only works per session. If R is closed or terminated, the algorithms reset. This might be resolved in a future version.} -#' This resets with every update of this \code{AMR} package since results are saved to your local package library folder. +#' Usually, any guess after the first try runs 80-95% faster than the first try. +#' +#' This resets with every update of this `AMR` package since results are saved to your local package library folder. #' @inheritSection catalogue_of_life Catalogue of Life # (source as a section here, so it can be inherited by other man pages:) #' @section Source: -#' [1] Becker K \emph{et al.} \strong{Coagulase-Negative Staphylococci}. 2014. Clin Microbiol Rev. 27(4): 870–926. \url{https://dx.doi.org/10.1128/CMR.00109-13} -#' -#' [2] Becker K \emph{et al.} \strong{Implications of identifying the recently defined members of the \emph{S. aureus} complex, \emph{S. argenteus} and \emph{S. schweitzeri}: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS).} 2019. Clin Microbiol Infect. \url{https://doi.org/10.1016/j.cmi.2019.02.028} -#' -#' [3] Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} -#' -#' [4] Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link{catalogue_of_life_version}()}). +#' 1. Becker K *et al.* **Coagulase-Negative Staphylococci**. 2014. Clin Microbiol Rev. 27(4): 870–926. +#' 2. Becker K *et al.* **Implications of identifying the recently defined members of the *S. aureus* complex, *S. argenteus* and *S. schweitzeri*: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS).** 2019. Clin Microbiol Infect. +#' 3. Lancefield RC **A serological differentiation of human and other groups of hemolytic streptococci**. 1933. J Exp Med. 57(4): 571–95. +#' 4. Catalogue of Life: Annual Checklist (public online taxonomic database), (check included annual version with [catalogue_of_life_version()]). #' @export -#' @return Character (vector) with class \code{"mo"} -#' @seealso \code{\link{microorganisms}} for the \code{data.frame} that is being used to determine ID's. \cr -#' The \code{\link{mo_property}} functions (like \code{\link{mo_genus}}, \code{\link{mo_gramstain}}) to get properties based on the returned code. +#' @return A [`character`] vector with class [`mo`] +#' @seealso [microorganisms] for the [`data.frame`] that is being used to determine ID's. +#' +#' The [mo_property()] functions (like [mo_genus()], [mo_gramstain()]) to get properties based on the returned code. #' @inheritSection AMR Read more on our website! #' @importFrom dplyr %>% pull left_join #' @examples diff --git a/R/mo_history.R b/R/mo_history.R index 13e3f0a15..d7f050e25 100644 --- a/R/mo_history.R +++ b/R/mo_history.R @@ -48,19 +48,6 @@ set_mo_history <- function(x, mo, uncertainty_level, force = FALSE, disable = FA if (NROW(mo_hist[base::which(mo_hist$x == x[i] & mo_hist$uncertainty_level >= uncertainty_level & mo_hist$package_version == utils::packageVersion("AMR")), ]) == 0) { - # # Not using the file system: - # tryCatch(options(mo_remembered_results = rbind(mo_hist, - # data.frame( - # x = x[i], - # mo = mo[i], - # uncertainty_level = uncertainty_level, - # package_version = base::as.character(utils::packageVersion("AMR")), - # stringsAsFactors = FALSE))), - # error = function(e) base::invisible()) - # # don't remember more than 1,000 different input values - # if (tryCatch(nrow(getOption("mo_remembered_results")), error = function(e) 1001) > 1000) { - # return(base::invisible()) - # } if (is.null(mo_hist) & interactive()) { warning_new_write <- TRUE } @@ -113,9 +100,6 @@ read_mo_history <- function(uncertainty_level = 2, force = FALSE, unfiltered = F } uncertainty_level_param <- uncertainty_level - # # Not using the file system: - # history <- tryCatch(getOption("mo_remembered_results"), - # error = function(e) NULL) history <- tryCatch(read.csv(mo_history_file(), stringsAsFactors = FALSE), warning = function(w) invisible(), error = function(e) NULL) @@ -159,9 +143,7 @@ clear_mo_history <- function(...) { return(invisible()) } } - # # Not using the file system: - # success <- tryCatch(options(mo_remembered_results = NULL), - # error = function(e) FALSE) + success <- create_blank_mo_history() if (!isFALSE(success)) { cat(red(paste("File", mo_history_file(), "cleared."))) diff --git a/R/mo_property.R b/R/mo_property.R index d6f29558a..3453a77a7 100755 --- a/R/mo_property.R +++ b/R/mo_property.R @@ -21,36 +21,33 @@ #' Property of a microorganism #' -#' Use these functions to return a specific property of a microorganism. All input values will be evaluated internally with \code{\link{as.mo}}, which makes it possible for input of these functions to use microbial abbreviations, codes and names. See Examples. -#' @param x any (vector of) text that can be coerced to a valid microorganism code with \code{\link{as.mo}} -#' @param property one of the column names of the \code{\link{microorganisms}} data set or \code{"shortname"} -#' @param language language of the returned text, defaults to system language (see \code{\link{get_locale}}) and can also be set with \code{\link{getOption}("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation. -#' @param ... other parameters passed on to \code{\link{as.mo}} -#' @param open browse the URL using \code{\link[utils]{browseURL}()} -#' @details All functions will return the most recently known taxonomic property according to the Catalogue of Life, except for \code{mo_ref}, \code{mo_authors} and \code{mo_year}. This leads to the following results: -#' \itemize{ -#' \item{\code{mo_name("Chlamydia psittaci")} will return \code{"Chlamydophila psittaci"} (with a warning about the renaming)} -#' \item{\code{mo_ref("Chlamydia psittaci")} will return \code{"Page, 1968"} (with a warning about the renaming)} -#' \item{\code{mo_ref("Chlamydophila psittaci")} will return \code{"Everett et al., 1999"} (without a warning)} -#' } +#' Use these functions to return a specific property of a microorganism. All input values will be evaluated internally with [as.mo()], which makes it possible for input of these functions to use microbial abbreviations, codes and names. See Examples. +#' @param x any (vector of) text that can be coerced to a valid microorganism code with [as.mo()] +#' @param property one of the column names of the [microorganisms] data set or `"shortname"` +#' @param language language of the returned text, defaults to system language (see [get_locale()]) and can also be set with `getOption("AMR_locale")`. Use `language = NULL` or `language = ""` to prevent translation. +#' @param ... other parameters passed on to [as.mo()] +#' @param open browse the URL using [utils::browseURL()] +#' @details All functions will return the most recently known taxonomic property according to the Catalogue of Life, except for [mo_ref()], [mo_authors()] and [mo_year()]. This leads to the following results: +#' - `mo_name("Chlamydia psittaci")` will return `"Chlamydophila psittaci"` (with a warning about the renaming) +#' - `mo_ref("Chlamydia psittaci")` will return `"Page, 1968"` (with a warning about the renaming) +#' - `mo_ref("Chlamydophila psittaci")` will return `"Everett et al., 1999"` (without a warning) #' -#' The Gram stain - \code{mo_gramstain()} - will be determined on the taxonomic kingdom and phylum. According to Cavalier-Smith (2002) who defined subkingdoms Negibacteria and Posibacteria, only these phyla are Posibacteria: Actinobacteria, Chloroflexi, Firmicutes and Tenericutes. These bacteria are considered Gram positive - all other bacteria are considered Gram negative. Species outside the kingdom of Bacteria will return a value \code{NA}. +#' The Gram stain - [mo_gramstain()] - will be determined on the taxonomic kingdom and phylum. According to Cavalier-Smith (2002) who defined subkingdoms Negibacteria and Posibacteria, only these phyla are Posibacteria: Actinobacteria, Chloroflexi, Firmicutes and Tenericutes. These bacteria are considered Gram positive - all other bacteria are considered Gram negative. Species outside the kingdom of Bacteria will return a value `NA`. #' -#' All output will be \link{translate}d where possible. +#' All output will be [translate]d where possible. #' -#' The function \code{mo_url()} will return the direct URL to the online database entry, which also shows the scientific reference of the concerned species. +#' The function [mo_url()] will return the direct URL to the online database entry, which also shows the scientific reference of the concerned species. #' @inheritSection catalogue_of_life Catalogue of Life #' @inheritSection as.mo Source #' @rdname mo_property #' @name mo_property -#' @return \itemize{ -#' \item{An \code{integer} in case of \code{mo_year}} -#' \item{A \code{list} in case of \code{mo_taxonomy}} -#' \item{A named \code{character} in case of \code{mo_url}} -#' \item{A \code{character} in all other cases} -#' } +#' @return +#' - An [`integer`] in case of [mo_year()] +#' - A [`list`] in case of [mo_taxonomy()] +#' - A named [`character`] in case of [mo_url()] +#' - A [`character`] in all other cases #' @export -#' @seealso \code{\link{microorganisms}} +#' @seealso [microorganisms] #' @inheritSection AMR Read more on our website! #' @examples #' # taxonomic tree ----------------------------------------------------------- @@ -132,7 +129,7 @@ #' #' # get a list with the complete taxonomy (from kingdom to subspecies) #' mo_taxonomy("E. coli") -#' # get a list with the taxonomy, the authors and the URL to the online database +#' # get a list with the taxonomy, the authors, Gram-stain and URL to the online database #' mo_info("E. coli") #' } mo_name <- function(x, language = get_locale(), ...) { @@ -336,6 +333,7 @@ mo_info <- function(x, language = get_locale(), ...) { info <- lapply(x, function(y) c(mo_taxonomy(y, language = language), list(synonyms = mo_synonyms(y), + gramstain = mo_gramstain(y, language = language), url = unname(mo_url(y, open = FALSE)), ref = mo_ref(y)))) if (length(info) > 1) { diff --git a/R/mo_source.R b/R/mo_source.R index 96b75dfc5..2df960950 100644 --- a/R/mo_source.R +++ b/R/mo_source.R @@ -21,79 +21,81 @@ #' Use predefined reference data set #' -#' @description These functions can be used to predefine your own reference to be used in \code{\link{as.mo}} and consequently all \code{mo_*} functions like \code{\link{mo_genus}} and \code{\link{mo_gramstain}}. +#' @description These functions can be used to predefine your own reference to be used in [as.mo()] and consequently all `mo_*` functions like [mo_genus()] and [mo_gramstain()]. #' -#' This is \strong{the fastest way} to have your organisation (or analysis) specific codes picked up and translated by this package. +#' This is **the fastest way** to have your organisation (or analysis) specific codes picked up and translated by this package. #' @param path location of your reference file, see Details #' @rdname mo_source #' @name mo_source #' @aliases set_mo_source get_mo_source -#' @details The reference file can be a text file seperated with commas (CSV) or tabs or pipes, an Excel file (either 'xls' or 'xlsx' format) or an R object file (extension '.rds'). To use an Excel file, you need to have the \code{readxl} package installed. +#' @details The reference file can be a text file seperated with commas (CSV) or tabs or pipes, an Excel file (either 'xls' or 'xlsx' format) or an R object file (extension '.rds'). To use an Excel file, you need to have the `readxl` package installed. #' -#' \code{set_mo_source} will check the file for validity: it must be a \code{data.frame}, must have a column named \code{"mo"} which contains values from \code{microorganisms$mo} and must have a reference column with your own defined values. If all tests pass, \code{set_mo_source} will read the file into R and export it to \code{"~/.mo_source.rds"}. This compressed data file will then be used at default for MO determination (function \code{\link{as.mo}} and consequently all \code{mo_*} functions like \code{\link{mo_genus}} and \code{\link{mo_gramstain}}). The location of the original file will be saved as option with \code{\link{options}(mo_source = path)}. Its timestamp will be saved with \code{\link{options}(mo_source_datetime = ...)}. +#' [set_mo_source()] will check the file for validity: it must be a [`data.frame`], must have a column named `"mo"` which contains values from [`microorganisms$mo`][microorganisms] and must have a reference column with your own defined values. If all tests pass, [set_mo_source()] will read the file into R and export it to `"~/.mo_source.rds"`. This compressed data file will then be used at default for MO determination (function [as.mo()] and consequently all `mo_*` functions like [mo_genus()] and [mo_gramstain()]). The location of the original file will be saved as option with `options(mo_source = path)`. Its timestamp will be saved with `options(mo_source_datetime = ...)`. #' -#' \code{get_mo_source} will return the data set by reading \code{"~/.mo_source.rds"} with \code{\link{readRDS}}. If the original file has changed (the file defined with \code{path}), it will call \code{set_mo_source} to update the data file automatically. +#' [get_mo_source()] will return the data set by reading `"~/.mo_source.rds"` with [readRDS()]. If the original file has changed (the file defined with `path`), it will call [set_mo_source()] to update the data file automatically. #' -#' Reading an Excel file (\code{.xlsx}) with only one row has a size of 8-9 kB. The compressed file used by this package will have a size of 0.1 kB and can be read by \code{get_mo_source} in only a couple of microseconds (a millionth of a second). -#' @section How it works: +#' Reading an Excel file (`.xlsx`) with only one row has a size of 8-9 kB. The compressed file used by this package will have a size of 0.1 kB and can be read by [get_mo_source()] in only a couple of microseconds (a millionth of a second). +#' +#' ## How it works +#' #' Imagine this data on a sheet of an Excel file (mo codes were looked up in the `microorganisms` data set). The first column contains the organisation specific codes, the second column contains an MO code from this package: -#' \preformatted{ +#' ``` #' | A | B | #' --|--------------------|-------------| #' 1 | Organisation XYZ | mo | #' 2 | lab_mo_ecoli | B_ESCHR_COL | #' 3 | lab_mo_kpneumoniae | B_KLBSL_PNE | #' 4 | | | -#' } +#' ``` #' -#' We save it as \code{'home/me/ourcodes.xlsx'}. Now we have to set it as a source: -#' \preformatted{ +#' We save it as `"home/me/ourcodes.xlsx"`. Now we have to set it as a source: +#' ``` #' set_mo_source("home/me/ourcodes.xlsx") #' # Created mo_source file '~/.mo_source.rds' from 'home/me/ourcodes.xlsx'. -#' } +#' ``` #' -#' It has now created a file "~/.mo_source.rds" with the contents of our Excel file, but only the first column with foreign values and the 'mo' column will be kept. +#' It has now created a file `"~/.mo_source.rds"` with the contents of our Excel file, but only the first column with foreign values and the 'mo' column will be kept. #' #' And now we can use it in our functions: -#' \preformatted{ +#' ``` #' as.mo("lab_mo_ecoli") -#' [1] B_ESCHR_COL +#' \[1\] B_ESCHR_COLI #' #' mo_genus("lab_mo_kpneumoniae") #' [1] "Klebsiella" #' #' # other input values still work too #' as.mo(c("Escherichia coli", "E. coli", "lab_mo_ecoli")) -#' [1] B_ESCHR_COL B_ESCHR_COL B_ESCHR_COL -#' } +#' [1] B_ESCHR_COLI B_ESCHR_COLI B_ESCHR_COLI +#' ``` #' #' If we edit the Excel file to, let's say, this: -#' \preformatted{ -#' | A | B | -#' --|--------------------|-------------| -#' 1 | Organisation XYZ | mo | -#' 2 | lab_mo_ecoli | B_ESCHR_COL | -#' 3 | lab_mo_kpneumoniae | B_KLBSL_PNE | -#' 4 | lab_Staph_aureus | B_STPHY_AUR | -#' 5 | | | -#' } +#' ``` +#' | A | B | +#' --|--------------------|--------------| +#' 1 | Organisation XYZ | mo | +#' 2 | lab_mo_ecoli | B_ESCHR_COLI | +#' 3 | lab_mo_kpneumoniae | B_KLBSL_PNMN | +#' 4 | lab_Staph_aureus | B_STPHY_AURS | +#' 5 | | | +#' ``` #' #' ...any new usage of an MO function in this package will update your data: -#' \preformatted{ +#' ``` #' as.mo("lab_mo_ecoli") #' # Updated mo_source file '~/.mo_source.rds' from 'home/me/ourcodes.xlsx'. -#' [1] B_ESCHR_COL +#' [1] B_ESCHR_COLI #' #' mo_genus("lab_Staph_aureus") #' [1] "Staphylococcus" -#' } +#' ``` #' #' To remove the reference completely, just use any of these: -#' \preformatted{ +#' ``` #' set_mo_source("") #' set_mo_source(NULL) #' # Removed mo_source file '~/.mo_source.rds'. -#' } +#' ``` #' @importFrom dplyr select everything #' @export #' @inheritSection AMR Read more on our website! diff --git a/R/p_symbol.R b/R/p_symbol.R index 79110bf5b..2eb26bbd1 100755 --- a/R/p_symbol.R +++ b/R/p_symbol.R @@ -19,11 +19,11 @@ # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # -#' Symbol of a p value +#' Symbol of a p-value #' -#' Return the symbol related to the p value: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1. Values above \code{p = 1} will return \code{NA}. +#' Return the symbol related to the p-value: 0 '`***`' 0.001 '`**`' 0.01 '`*`' 0.05 '`.`' 0.1 ' ' 1. Values above `p = 1` will return `NA`. #' @param p p value -#' @param emptychar text to show when \code{p > 0.1} +#' @param emptychar text to show when `p > 0.1` #' @return Text #' @inheritSection AMR Read more on our website! #' @export diff --git a/R/proportion.R b/R/proportion.R index 55cad8a80..895543610 100755 --- a/R/proportion.R +++ b/R/proportion.R @@ -21,31 +21,31 @@ #' Calculate microbial resistance #' -#' @description These functions can be used to calculate the (co-)resistance or susceptibility of microbial isolates (i.e. percentage of S, SI, I, IR or R). All functions support quasiquotation with pipes, can be used in \code{dplyr}s \code{\link[dplyr]{summarise}} and support grouped variables, see \emph{Examples}. +#' @description These functions can be used to calculate the (co-)resistance or susceptibility of microbial isolates (i.e. percentage of S, SI, I, IR or R). All functions support quasiquotation with pipes, can be used in [dplyr::summarise()] and support grouped variables, please see *Examples*. #' -#' \code{resistance()} should be used to calculate resistance, \code{susceptibility()} should be used to calculate susceptibility.\cr -#' @param ... one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with \code{\link{as.rsi}} if needed. Use multiple columns to calculate (the lack of) co-resistance: the probability where one of two drugs have a resistant or susceptible result. See Examples. -#' @param minimum the minimum allowed number of available (tested) isolates. Any isolate count lower than \code{minimum} will return \code{NA} with a warning. The default number of \code{30} isolates is advised by the Clinical and Laboratory Standards Institute (CLSI) as best practice, see Source. -#' @param as_percent a logical to indicate whether the output must be returned as a hundred fold with \% sign (a character). A value of \code{0.123456} will then be returned as \code{"12.3\%"}. -#' @param only_all_tested (for combination therapies, i.e. using more than one variable for \code{...}) a logical to indicate that isolates must be tested for all antibiotics, see section \emph{Combination therapy} below -#' @param data a \code{data.frame} containing columns with class \code{rsi} (see \code{\link{as.rsi}}) -#' @param translate_ab a column name of the \code{\link{antibiotics}} data set to translate the antibiotic abbreviations to, using \code{\link{ab_property}} +#' [resistance()] should be used to calculate resistance, [susceptibility()] should be used to calculate susceptibility.\cr +#' @param ... one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with [as.rsi()] if needed. Use multiple columns to calculate (the lack of) co-resistance: the probability where one of two drugs have a resistant or susceptible result. See Examples. +#' @param minimum the minimum allowed number of available (tested) isolates. Any isolate count lower than `minimum` will return `NA` with a warning. The default number of `30` isolates is advised by the Clinical and Laboratory Standards Institute (CLSI) as best practice, see Source. +#' @param as_percent a logical to indicate whether the output must be returned as a hundred fold with % sign (a character). A value of `0.123456` will then be returned as `"12.3%"`. +#' @param only_all_tested (for combination therapies, i.e. using more than one variable for `...`): a logical to indicate that isolates must be tested for all antibiotics, see section *Combination therapy* below +#' @param data a [`data.frame`] containing columns with class [`rsi`] (see [as.rsi()]) +#' @param translate_ab a column name of the [antibiotics] data set to translate the antibiotic abbreviations to, using [ab_property()] #' @inheritParams ab_property -#' @param combine_SI a logical to indicate whether all values of S and I must be merged into one, so the output only consists of S+I vs. R (susceptible vs. resistant). This used to be the parameter \code{combine_IR}, but this now follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. Default is \code{TRUE}. -#' @param combine_IR a logical to indicate whether all values of I and R must be merged into one, so the output only consists of S vs. I+R (susceptible vs. non-susceptible). This is outdated, see parameter \code{combine_SI}. +#' @param combine_SI a logical to indicate whether all values of S and I must be merged into one, so the output only consists of S+I vs. R (susceptible vs. resistant). This used to be the parameter `combine_IR`, but this now follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. Default is `TRUE`. +#' @param combine_IR a logical to indicate whether all values of I and R must be merged into one, so the output only consists of S vs. I+R (susceptible vs. non-susceptible). This is outdated, see parameter `combine_SI`. #' @inheritSection as.rsi Interpretation of S, I and R #' @details -#' The function \code{resistance()} is equal to the function \code{proportion_R()}. The function \code{susceptibility()} is equal to the function \code{proportion_SI()}. +#' The function [resistance()] is equal to the function [proportion_R()]. The function [susceptibility()] is equal to the function [proportion_SI()]. #' -#' \strong{Remember that you should filter your table to let it contain only first isolates!} This is needed to exclude duplicates and to reduce selection bias. Use \code{\link{first_isolate}} to determine them in your data set. +#' **Remember that you should filter your table to let it contain only first isolates!** This is needed to exclude duplicates and to reduce selection bias. Use [first_isolate()] to determine them in your data set. #' -#' These functions are not meant to count isolates, but to calculate the proportion of resistance/susceptibility. Use the \code{\link[AMR]{count}} functions to count isolates. The function \code{susceptibility()} is essentially equal to \code{count_susceptible() / count_all()}. \emph{Low counts can infuence the outcome - the \code{proportion} functions may camouflage this, since they only return the proportion (albeit being dependent on the \code{minimum} parameter).} +#' These functions are not meant to count isolates, but to calculate the proportion of resistance/susceptibility. Use the [AMR::count()] functions to count isolates. The function [susceptibility()] is essentially equal to `count_susceptible() / count_all()`. *Low counts can infuence the outcome - the `proportion` functions may camouflage this, since they only return the proportion (albeit being dependent on the `minimum` parameter).* #' -#' The function \code{proportion_df()} takes any variable from \code{data} that has an \code{"rsi"} class (created with \code{\link{as.rsi}()}) and calculates the proportions R, I and S. The function \code{rsi_df()} works exactly like \code{proportion_df()}, but adds the number of isolates. +#' The function [proportion_df()] takes any variable from `data` that has an [`rsi`] class (created with [as.rsi()]) and calculates the proportions R, I and S. The function [rsi_df()] works exactly like [proportion_df()], but adds the number of isolates. #' @section Combination therapy: -#' When using more than one variable for \code{...} (= combination therapy)), use \code{only_all_tested} to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how \code{susceptibility} works to calculate the \%SI: +#' When using more than one variable for `...` (= combination therapy)), use `only_all_tested` to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how [susceptibility()] works to calculate the %SI: #' -#' \preformatted{ +#' ``` #' -------------------------------------------------------------------- #' only_all_tested = FALSE only_all_tested = TRUE #' ----------------------- ----------------------- @@ -62,23 +62,23 @@ #' R - - - - #' - - - - #' -------------------------------------------------------------------- -#' } +#' ``` #' -#' Please note that, in combination therapies, for \code{only_all_tested = TRUE} applies that: -#' \preformatted{ +#' Please note that, in combination therapies, for `only_all_tested = TRUE` applies that: +#' ``` #' count_S() + count_I() + count_R() = count_all() #' proportion_S() + proportion_I() + proportion_R() = 1 -#' } -#' and that, in combination therapies, for \code{only_all_tested = FALSE} applies that: -#' \preformatted{ +#' ``` +#' and that, in combination therapies, for `only_all_tested = FALSE` applies that: +#' ``` #' count_S() + count_I() + count_R() >= count_all() #' proportion_S() + proportion_I() + proportion_R() >= 1 -#' } +#' ``` #' -#' Using \code{only_all_tested} has no impact when only using one antibiotic as input. -#' @source \strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition}, 2014, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}. -#' @seealso \code{\link[AMR]{count}_*} to count resistant and susceptible isolates. -#' @return Double or, when \code{as_percent = TRUE}, a character. +#' Using `only_all_tested` has no impact when only using one antibiotic as input. +#' @source **M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition**, 2014, *Clinical and Laboratory Standards Institute (CLSI)*. . +#' @seealso [AMR::count()] to count resistant and susceptible isolates. +#' @return A [`double`] or, when `as_percent = TRUE`, a [`character`]. #' @rdname proportion #' @aliases portion #' @name proportion diff --git a/R/read.4d.R b/R/read.4d.R index 22802b650..4b982cfc7 100755 --- a/R/read.4d.R +++ b/R/read.4d.R @@ -18,12 +18,12 @@ # ANY WARRANTY OR LIABILITY. # # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # - +# #' Read data from 4D database #' -#' This function is only useful for the MMB department of the UMCG. Use this function to \strong{import data by just defining the \code{file} parameter}. It will automatically transform birth dates and calculate patients age, translate the column names to English, transform the MO codes with \code{\link{as.mo}} and transform all antimicrobial columns with \code{\link{as.rsi}}. +#' This function is only useful for the MMB department of the UMCG. Use this function to **import data by just defining the `file` parameter**. It will automatically transform birth dates and calculate patients age, translate the column names to English, transform the MO codes with [as.mo()] and transform all antimicrobial columns with [as.rsi()]. #' @inheritParams utils::read.table -#' @param info a logical to indicate whether info about the import should be printed, defaults to \code{TRUE} in interactive sessions +#' @param info a logical to indicate whether info about the import should be printed, defaults to `TRUE` in interactive sessions #' @details Column names will be transformed, but the original column names are set as a "label" attribute and can be seen in e.g. RStudio Viewer. #' @inheritSection AMR Read more on our website! #' @export @@ -84,7 +84,7 @@ read.4D <- function(file, colnames(data_4D) <- tolower(colnames(data_4D)) if (all(c("afnamedat", "gebdatum") %in% colnames(data_4D))) { - # add age + # add age column data_4D$age <- NA_integer_ } cols_wanted <- c("patientnr", "gebdatum", "age", "mv", "monsternr", "afnamedat", "bepaling", diff --git a/R/resistance_predict.R b/R/resistance_predict.R index a65deb834..21fd8a4b5 100755 --- a/R/resistance_predict.R +++ b/R/resistance_predict.R @@ -21,41 +21,40 @@ #' Predict antimicrobial resistance #' -#' Create a prediction model to predict antimicrobial resistance for the next years on statistical solid ground. Standard errors (SE) will be returned as columns \code{se_min} and \code{se_max}. See Examples for a real live example. -#' @param col_ab column name of \code{x} with antimicrobial interpretations (\code{R}, \code{I} and \code{S}) +#' Create a prediction model to predict antimicrobial resistance for the next years on statistical solid ground. Standard errors (SE) will be returned as columns `se_min` and `se_max`. See *Examples* for a real live example. +#' @param col_ab column name of `x` containing antimicrobial interpretations (`"R"`, `"I"` and `"S"`) #' @param col_date column name of the date, will be used to calculate years if this column doesn't consist of years already, defaults to the first column of with a date class -#' @param year_min lowest year to use in the prediction model, dafaults to the lowest year in \code{col_date} +#' @param year_min lowest year to use in the prediction model, dafaults to the lowest year in `col_date` #' @param year_max highest year to use in the prediction model, defaults to 10 years after today -#' @param year_every unit of sequence between lowest year found in the data and \code{year_max} +#' @param year_every unit of sequence between lowest year found in the data and `year_max` #' @param minimum minimal amount of available isolates per year to include. Years containing less observations will be estimated by the model. -#' @param model the statistical model of choice. This could be a generalised linear regression model with binomial distribution (i.e. using \code{\link{glm}(..., family = \link{binomial})}), assuming that a period of zero resistance was followed by a period of increasing resistance leading slowly to more and more resistance. See Details for all valid options. -#' @param I_as_S a logical to indicate whether values \code{I} should be treated as \code{S} (will otherwise be treated as \code{R}). The default, \code{TRUE}, follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. -#' @param preserve_measurements a logical to indicate whether predictions of years that are actually available in the data should be overwritten by the original data. The standard errors of those years will be \code{NA}. -#' @param info a logical to indicate whether textual analysis should be printed with the name and \code{\link{summary}} of the statistical model. +#' @param model the statistical model of choice. This could be a generalised linear regression model with binomial distribution (i.e. using `glm(..., family = binomial)``, assuming that a period of zero resistance was followed by a period of increasing resistance leading slowly to more and more resistance. See Details for all valid options. +#' @param I_as_S a logical to indicate whether values `I` should be treated as `S` (will otherwise be treated as `R`). The default, `TRUE`, follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section *Interpretation of S, I and R* below. +#' @param preserve_measurements a logical to indicate whether predictions of years that are actually available in the data should be overwritten by the original data. The standard errors of those years will be `NA`. +#' @param info a logical to indicate whether textual analysis should be printed with the name and [summary()] of the statistical model. #' @param main title of the plot #' @param ribbon a logical to indicate whether a ribbon should be shown (default) or error bars #' @param ... parameters passed on to functions #' @inheritSection as.rsi Interpretation of S, I and R #' @inheritParams first_isolate #' @inheritParams graphics::plot -#' @details Valid options for the statistical model are: -#' \itemize{ -#' \item{\code{"binomial"} or \code{"binom"} or \code{"logit"}: a generalised linear regression model with binomial distribution} -#' \item{\code{"loglin"} or \code{"poisson"}: a generalised log-linear regression model with poisson distribution} -#' \item{\code{"lin"} or \code{"linear"}: a linear regression model} -#' } -#' @return \code{data.frame} with extra class \code{"resistance_predict"} with columns: -#' \itemize{ -#' \item{\code{year}} -#' \item{\code{value}, the same as \code{estimated} when \code{preserve_measurements = FALSE}, and a combination of \code{observed} and \code{estimated} otherwise} -#' \item{\code{se_min}, the lower bound of the standard error with a minimum of \code{0} (so the standard error will never go below 0\%)} -#' \item{\code{se_max} the upper bound of the standard error with a maximum of \code{1} (so the standard error will never go above 100\%)} -#' \item{\code{observations}, the total number of available observations in that year, i.e. S + I + R} -#' \item{\code{observed}, the original observed resistant percentages} -#' \item{\code{estimated}, the estimated resistant percentages, calculated by the model} -#' } -#' Furthermore, the model itself is available as an attribute: \code{attributes(x)$model}, see Examples. -#' @seealso The \code{\link{portion}} function to calculate resistance, \cr \code{\link{lm}} \code{\link{glm}} +#' @details Valid options for the statistical model (parameter `model`) are: +#' - `"binomial"` or `"binom"` or `"logit"`: a generalised linear regression model with binomial distribution +#' - `"loglin"` or `"poisson"`: a generalised log-linear regression model with poisson distribution +#' - `"lin"` or `"linear"`: a linear regression model +#' @return A [`data.frame`] with extra class [`resistance_predict`] with columns: +#' - `year` +#' - `value`, the same as `estimated` when `preserve_measurements = FALSE`, and a combination of `observed` and `estimated` otherwise +#' - `se_min`, the lower bound of the standard error with a minimum of `0` (so the standard error will never go below 0%) +#' - `se_max` the upper bound of the standard error with a maximum of `1` (so the standard error will never go above 100%) +#' - `observations`, the total number of available observations in that year, i.e. \eqn{S + I + R} +#' - `observed`, the original observed resistant percentages +#' - `estimated`, the estimated resistant percentages, calculated by the model +#' +#' Furthermore, the model itself is available as an attribute: `attributes(x)$model`, please see *Examples*. +#' @seealso The [proportion()] functions to calculate resistance +#' +#' Models: [lm()] [glm()] #' @rdname resistance_predict #' @export #' @importFrom stats predict glm lm @@ -63,7 +62,10 @@ #' @importFrom tidyr pivot_wider #' @inheritSection AMR Read more on our website! #' @examples -#' x <- resistance_predict(example_isolates, col_ab = "AMX", year_min = 2010, model = "binomial") +#' x <- resistance_predict(example_isolates, +#' col_ab = "AMX", +#' year_min = 2010, +#' model = "binomial") #' plot(x) #' ggplot_rsi_predict(x) #' @@ -102,9 +104,9 @@ #' scale_y_continuous(limits = c(0, 1), #' breaks = seq(0, 1, 0.1), #' labels = paste0(seq(0, 100, 10), "%")) + -#' labs(title = expression(paste("Forecast of amoxicillin resistance in ", +#' labs(title = expression(paste("Forecast of Amoxicillin Resistance in ", #' italic("E. coli"))), -#' y = "%IR", +#' y = "%R", #' x = "Year") + #' theme_minimal(base_size = 13) #' } diff --git a/R/rsi.R b/R/rsi.R index 615028869..156fd5746 100755 --- a/R/rsi.R +++ b/R/rsi.R @@ -21,37 +21,35 @@ #' Class 'rsi' #' -#' Interpret MIC values according to EUCAST or CLSI, or clean up existing RSI values. This transforms the input to a new class \code{rsi}, which is an ordered factor with levels \code{S < I < R}. Invalid antimicrobial interpretations will be translated as \code{NA} with a warning. +#' Interpret MIC values and disk diffusion diameters according to EUCAST or CLSI, or clean up existing RSI values. This transforms the input to a new class [`rsi`], which is an ordered factor with levels `S < I < R`. Invalid antimicrobial interpretations will be translated as `NA` with a warning. #' @rdname as.rsi -#' @param x vector of values (for class \code{mic}: an MIC value in mg/L, for class \code{disk}: a disk diffusion radius in millimeters) -#' @param mo a microorganism code, generated with \code{\link{as.mo}} -#' @param ab an antimicrobial code, generated with \code{\link{as.ab}} +#' @param x vector of values (for class [`mic`]: an MIC value in mg/L, for class [`disk`]: a disk diffusion radius in millimeters) +#' @param mo a microorganism code, generated with [as.mo()] +#' @param ab an antimicrobial code, generated with [as.ab()] #' @inheritParams first_isolate -#' @param guideline defaults to the latest included EUCAST guideline, run \code{unique(AMR::rsi_translation$guideline)} for all options -#' @param threshold maximum fraction of invalid antimicrobial interpretations of \code{x}, see Examples +#' @param guideline defaults to the latest included EUCAST guideline, run `unique(AMR::rsi_translation$guideline)` for all options +#' @param threshold maximum fraction of invalid antimicrobial interpretations of `x`, please see *Examples* #' @param ... parameters passed on to methods -#' @details Run \code{unique(AMR::rsi_translation$guideline)} for a list of all supported guidelines. +#' @details Run `unique(AMR::rsi_translation$guideline)` for a list of all supported guidelines. #' -#' After using \code{as.rsi}, you can use \code{\link{eucast_rules}} to (1) apply inferred susceptibility and resistance based on results of other antimicrobials and (2) apply intrinsic resistance based on taxonomic properties of a microorganism. +#' After using [as.rsi()], you can use [eucast_rules()] to (1) apply inferred susceptibility and resistance based on results of other antimicrobials and (2) apply intrinsic resistance based on taxonomic properties of a microorganism. #' -#' The function \code{is.rsi.eligible} returns \code{TRUE} when a columns contains at most 5\% invalid antimicrobial interpretations (not S and/or I and/or R), and \code{FALSE} otherwise. The threshold of 5\% can be set with the \code{threshold} parameter. +#' The function [is.rsi.eligible()] returns `TRUE` when a columns contains at most 5% invalid antimicrobial interpretations (not S and/or I and/or R), and `FALSE` otherwise. The threshold of 5% can be set with the `threshold` parameter. #' @section Interpretation of S, I and R: -#' In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". +#' In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". #' -#' \itemize{ -#' \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} -#' \item{\strong{I} - }{Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.} -#' \item{\strong{R} - }{Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.} -#' } +#' - **S** - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent. +#' - **I** - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection. +#' - **R** - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure. #' #' Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. #' -#' This AMR package honours this new insight. Use \code{\link{susceptibility}()} (equal to \code{\link{proportion_SI}()}) to determine antimicrobial susceptibility and \code{\link{count_susceptible}()} (equal to \code{\link{count_SI}()}) to count susceptible isolates. -#' @return Ordered factor with new class \code{rsi} +#' This AMR package honours this new insight. Use [susceptibility()] (equal to [proportion_SI()]) to determine antimicrobial susceptibility and [count_susceptible()] (equal to [count_SI()]) to count susceptible isolates. +#' @return Ordered factor with new class [`rsi`] #' @aliases RSI #' @export #' @importFrom dplyr %>% desc arrange filter -#' @seealso \code{\link{as.mic}} +#' @seealso [as.mic()] #' @inheritSection AMR Read more on our website! #' @examples #' rsi_data <- as.rsi(c(rep("S", 474), rep("I", 36), rep("R", 370))) diff --git a/R/rsi_df.R b/R/rsi_df.R index 8cae673a2..acf21e606 100644 --- a/R/rsi_df.R +++ b/R/rsi_df.R @@ -19,8 +19,7 @@ # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # -#' @rdname proportion -#' @rdname count +#' @rdname proportion #' @export rsi_df <- function(data, translate_ab = "name", diff --git a/R/skewness.R b/R/skewness.R index bcd3522d0..bf72d3fd4 100755 --- a/R/skewness.R +++ b/R/skewness.R @@ -24,10 +24,10 @@ #' @description Skewness is a measure of the asymmetry of the probability distribution of a real-valued random variable about its mean. #' #' When negative: the left tail is longer; the mass of the distribution is concentrated on the right of the figure. When positive: the right tail is longer; the mass of the distribution is concentrated on the left of the figure. -#' @param x a vector of values, a \code{matrix} or a \code{data frame} -#' @param na.rm a logical value indicating whether \code{NA} values should be stripped before the computation proceeds. +#' @param x a vector of values, a [`matrix`] or a [`data.frame`] +#' @param na.rm a logical value indicating whether `NA` values should be stripped before the computation proceeds. #' @exportMethod skewness -#' @seealso \code{\link{kurtosis}} +#' @seealso [kurtosis()] #' @rdname skewness #' @inheritSection AMR Read more on our website! #' @export diff --git a/R/sysdata.rda b/R/sysdata.rda index 2fadec0ffcf777f70784e09aa6411a1bfc0d68ca..8c3879b95444bedbf77cd49bda4d52b80c47b969 100644 GIT binary patch delta 443424 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%0AMfLbMQbS$$Dbi~QVZQ~_Nr89O8?-UKa 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 z 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

?SJDS+OGTSDVdZuj?j`#MdAS= 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 EwBj%*?EnA( diff --git a/R/translate.R b/R/translate.R index c4578d0bf..b8024610e 100755 --- a/R/translate.R +++ b/R/translate.R @@ -21,16 +21,16 @@ #' Translate strings from AMR package #' -#' For language-dependent output of AMR functions, like \code{\link{mo_name}}, \code{\link{mo_type}} and \code{\link{ab_name}}. -#' @details Strings will be translated to foreign languages if they are defined in a local translation file. Additions to this file can be suggested at our repository. The file can be found here: \url{https://gitlab.com/msberends/AMR/blob/master/data-raw/translations.tsv}. +#' For language-dependent output of AMR functions, like [mo_name()], [mo_type()] and [ab_name()]. +#' @details Strings will be translated to foreign languages if they are defined in a local translation file. Additions to this file can be suggested at our repository. The file can be found here: . #' -#' Currently supported languages can be found if running: \code{unique(AMR:::translations_file$lang)}. +#' Currently supported languages can be found if running: `unique(AMR:::translations_file$lang)`. #' -#' Please suggest your own translations \href{https://gitlab.com/msberends/AMR/issues/new?issue[title]=Translation\%20suggestion}{by creating a new issue on our repository}. +#' Please suggest your own translations [by creating a new issue on our repository](https://gitlab.com/msberends/AMR/issues/new?issue[title]=Translation\%20suggestion). #' -#' This file will be read by all functions where a translated output can be desired, like all \code{\link{mo_property}} functions (\code{\link{mo_fullname}}, \code{\link{mo_type}}, etc.). +#' This file will be read by all functions where a translated output can be desired, like all [mo_property()] functions ([mo_fullname()], [mo_type()], etc.). #' -#' The system language will be used at default, if that language is supported. The system language can be overwritten with \code{\link{getOption}("AMR_locale")}. +#' The system language will be used at default, if that language is supported. The system language can be overwritten with `Sys.setenv(AMR_locale = yourlanguage)`. #' @inheritSection AMR Read more on our website! #' @rdname translate #' @name translate diff --git a/R/whocc.R b/R/whocc.R index bddc5ef83..363f3e2b6 100755 --- a/R/whocc.R +++ b/R/whocc.R @@ -24,13 +24,13 @@ #' All antimicrobial drugs and their official names, ATC codes, ATC groups and defined daily dose (DDD) are included in this package, using the WHO Collaborating Centre for Drug Statistics Methodology. #' @section WHOCC: #' \if{html}{\figure{logo_who.png}{options: height=60px style=margin-bottom:5px} \cr} -#' This package contains \strong{all ~550 antibiotic, antimycotic and antiviral drugs} and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, \url{https://www.whocc.no}) and the Pharmaceuticals Community Register of the European Commission (\url{http://ec.europa.eu/health/documents/community-register/html/atc.htm}). +#' This package contains **all ~550 antibiotic, antimycotic and antiviral drugs** and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, ) and the Pharmaceuticals Community Register of the European Commission (). #' #' These have become the gold standard for international drug utilisation monitoring and research. #' #' The WHOCC is located in Oslo at the Norwegian Institute of Public Health and funded by the Norwegian government. The European Commission is the executive of the European Union and promotes its general interest. #' -#' \strong{NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See \url{https://www.whocc.no/copyright_disclaimer/}.} +#' **NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package.** See #' @inheritSection AMR Read more on our website! #' @name WHOCC #' @rdname WHOCC diff --git a/data-raw/eucast_rules.tsv b/data-raw/eucast_rules.tsv index 70110bb19..3e9a31401 100644 --- a/data-raw/eucast_rules.tsv +++ b/data-raw/eucast_rules.tsv @@ -1,6 +1,6 @@ # ------------------------------------------------------------------------------------------------------------------------------- # For editing this EUCAST reference file, these values can all be used for target antibiotics: -# 'all_betalactams', 'aminoglycosides', 'aminopenicillins', 'carbapenems', 'cephalosporins', 'cephalosporins_without_CAZ', +# 'all_betalactams', 'aminoglycosides', 'aminopenicillins', 'carbapenems', 'cephalosporins', 'cephalosporins_except_CAZ', # 'fluoroquinolones', 'glycopeptides', 'macrolides', 'polymyxins', 'streptogramins', 'tetracyclines', 'ureidopenicillins' # and all separate EARS-Net letter codes like 'AMC'. They can be separated by comma: 'AMC, fluoroquinolones'. # The 'if_mo_property' column can be any column name from the AMR::microorganisms data set, or "genus_species" or "gramstain". @@ -29,9 +29,9 @@ genus is Staphylococcus PEN, FOX S AMP, AMX, PIP, TIC S Staphylococcus Breakpoin genus is Staphylococcus PEN, FOX R, S OXA, FLC S Staphylococcus Breakpoints genus is Staphylococcus FOX R all_betalactams R Staphylococcus Breakpoints genus_species is Staphylococcus saprophyticus AMP S AMX, AMC, PIP, TZP S Staphylococcus Breakpoints -genus is Staphylococcus FOX S carbapenems, cephalosporins_without_CAZ S Staphylococcus Breakpoints -genus is Staphylococcus FOX I carbapenems, cephalosporins_without_CAZ I Staphylococcus Breakpoints -genus is Staphylococcus FOX R carbapenems, cephalosporins_without_CAZ R Staphylococcus Breakpoints +genus is Staphylococcus FOX S carbapenems, cephalosporins_except_CAZ S Staphylococcus Breakpoints +genus is Staphylococcus FOX I carbapenems, cephalosporins_except_CAZ I Staphylococcus Breakpoints +genus is Staphylococcus FOX R carbapenems, cephalosporins_except_CAZ R Staphylococcus Breakpoints genus is Staphylococcus NOR S CIP, LVX, MFX, OFX S Staphylococcus Breakpoints genus is Staphylococcus ERY S AZM, CLR, RXT S Staphylococcus Breakpoints genus is Staphylococcus ERY I AZM, CLR, RXT I Staphylococcus Breakpoints @@ -44,9 +44,9 @@ genus is Enterococcus AMP R AMX, AMC, PIP, TZP R Enterococcus Breakpoints genus is Enterococcus NOR S CIP, LVX S Enterococcus Breakpoints genus is Enterococcus NOR I CIP, LVX I Enterococcus Breakpoints genus is Enterococcus NOR R CIP, LVX R Enterococcus Breakpoints -genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ PEN S aminopenicillins, ureidopenicillins, cephalosporins_without_CAZ, carbapenems, FLC, AMC S Streptococcus groups A, B, C, G Breakpoints -genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ PEN I aminopenicillins, ureidopenicillins, cephalosporins_without_CAZ, carbapenems, FLC, AMC I Streptococcus groups A, B, C, G Breakpoints -genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ PEN R aminopenicillins, ureidopenicillins, cephalosporins_without_CAZ, carbapenems, FLC, AMC R Streptococcus groups A, B, C, G Breakpoints +genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ PEN S aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC S Streptococcus groups A, B, C, G Breakpoints +genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ PEN I aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC I Streptococcus groups A, B, C, G Breakpoints +genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ PEN R aminopenicillins, ureidopenicillins, cephalosporins_except_CAZ, carbapenems, FLC, AMC R Streptococcus groups A, B, C, G Breakpoints genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ NOR S LVX, MFX S Streptococcus groups A, B, C, G Breakpoints genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ ERY S AZM, CLR, RXT S Streptococcus groups A, B, C, G Breakpoints genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G)$ ERY I AZM, CLR, RXT I Streptococcus groups A, B, C, G Breakpoints @@ -171,17 +171,17 @@ genus_species is Staphylococcus haemolyticus CAZ R Table 04: Intrinsic resista genus_species is Staphylococcus intermedius CAZ R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules genus_species is Staphylococcus pseudintermedius CAZ R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules genus is Streptococcus FUS, CAZ, aminoglycosides R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules -genus_species is Enterococcus faecalis FUS, CAZ, cephalosporins_without_CAZ, aminoglycosides, macrolides, CLI, QDA, TMP, SXT R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules -genus_species is Enterococcus gallinarum FUS, CAZ, cephalosporins_without_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, TMP, SXT R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules -genus_species is Enterococcus casseliflavus FUS, CAZ, cephalosporins_without_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, TMP, SXT R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules -genus_species is Enterococcus faecium FUS, CAZ, cephalosporins_without_CAZ, aminoglycosides, macrolides, TMP, SXT R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules +genus_species is Enterococcus faecalis FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, TMP, SXT R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules +genus_species is Enterococcus gallinarum FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, TMP, SXT R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules +genus_species is Enterococcus casseliflavus FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, CLI, QDA, VAN, TMP, SXT R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules +genus_species is Enterococcus faecium FUS, CAZ, cephalosporins_except_CAZ, aminoglycosides, macrolides, TMP, SXT R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules genus is Corynebacterium FOS R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules genus_species is Listeria monocytogenes cephalosporins R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules genus one_of Leuconostoc, Pediococcus glycopeptides R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules genus is Lactobacillus glycopeptides R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules genus_species is Clostridium ramosum VAN R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules genus_species is Clostridium innocuum VAN R Table 04: Intrinsic resistance in Gram-positive bacteria Expert Rules -genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G) PEN S aminopenicillins, cephalosporins_without_CAZ, carbapenems S Table 08: Interpretive rules for B-lactam agents and Gram-positive cocci Expert Rules +genus_species like ^Streptococcus (pyogenes|agalactiae|dysgalactiae|group A|group B|group C|group G) PEN S aminopenicillins, cephalosporins_except_CAZ, carbapenems S Table 08: Interpretive rules for B-lactam agents and Gram-positive cocci Expert Rules genus is Enterococcus AMP R ureidopenicillins, carbapenems R Table 08: Interpretive rules for B-lactam agents and Gram-positive cocci Expert Rules genus is Enterococcus AMX R ureidopenicillins, carbapenems R Table 08: Interpretive rules for B-lactam agents and Gram-positive cocci Expert Rules family is Enterobacteriaceae TIC, PIP R, S PIP R Table 09: Interpretive rules for B-lactam agents and Gram-negative rods Expert Rules diff --git a/data-raw/internals.R b/data-raw/internals.R index 555e7dc94..65b158933 100644 --- a/data-raw/internals.R +++ b/data-raw/internals.R @@ -16,7 +16,7 @@ eucast_rules_file$reference.rule_group <- factor(eucast_rules_file$reference.rul eucast_rules_file <- dplyr::arrange(eucast_rules_file, reference.rule_group, reference.rule) - +eucast_rules_file$reference.rule_group <- as.character(eucast_rules_file$reference.rule_group) # Translations ---- translations_file <- utils::read.delim(file = "data-raw/translations.tsv", diff --git a/docs/404.html b/docs/404.html index a68daf9c6..2646ad931 100644 --- a/docs/404.html +++ b/docs/404.html @@ -84,7 +84,7 @@ AMR (for R) - 0.8.0.9035 + 0.8.0.9036 diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index bf20ed9a8..bd1e94d46 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -84,7 +84,7 @@ AMR (for R) - 0.8.0.9035 + 0.8.0.9036 diff --git a/docs/articles/index.html b/docs/articles/index.html index 6d2ae8c9e..81de98ebb 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -84,7 +84,7 @@ AMR (for R) - 0.8.0.9035 + 0.8.0.9036 diff --git a/docs/authors.html b/docs/authors.html index 36da1e64c..b3988d085 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -84,7 +84,7 @@ AMR (for R) - 0.8.0.9035 + 0.8.0.9036 diff --git a/docs/index.html b/docs/index.html index 0f3e04605..6829cb28c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -45,7 +45,7 @@ AMR (for R) - 0.8.0.9035 + 0.8.0.9036 diff --git a/docs/news/index.html b/docs/news/index.html index b285d27b0..b02bf0270 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -84,7 +84,7 @@ AMR (for R) - 0.8.0.9035 + 0.8.0.9036 @@ -231,13 +231,13 @@ -

+

-AMR 0.8.0.9035 Unreleased +AMR 0.8.0.9036 Unreleased

-
+

-Last updated: 24-Nov-2019 +Last updated: 28-Nov-2019

@@ -320,12 +320,15 @@
  • More robust way of determining valid MIC values
  • Small changed to the example_isolates data set to better reflect reality
  • Added more microorganisms codes from laboratory systems (esp. species of Pseudescherichia and Rodentibacter)
  • +
  • Added Gram-stain to mo_info() +
  • Other

      +
    • Rewrote the complete documentation to markdown format, to be able to use the very latest version of the great Roxygen2, released in November 2019. This tremously improved the documentation quality, since the rewrite forced us to go over all texts again and make changes where needed.
    • Change dependency on clean to cleaner, as this package was renamed accordingly upon CRAN request
    • Added Dr. Sofia Ny as contributor
    @@ -492,7 +495,7 @@ Since this is a major change, usage of the old also_single_tested w New
    • -

      Function rsi_df() to transform a data.frame to a data set containing only the microbial interpretation (S, I, R), the antibiotic, the percentage of S/I/R and the number of available isolates. This is a convenient combination of the existing functions count_df() and portion_df() to immediately show resistance percentages and number of available isolates:

      +

      Function rsi_df() to transform a data.frame to a data set containing only the microbial interpretation (S, I, R), the antibiotic, the percentage of S/I/R and the number of available isolates. This is a convenient combination of the existing functions count_df() and portion_df() to immediately show resistance percentages and number of available isolates:

      septic_patients %>%
         select(AMX, CIP) %>%
         rsi_df()
      @@ -533,7 +536,7 @@ Since this is a major change, usage of the old also_single_tested w
       

      Changed

        -
      • Column names of output count_df() and portion_df() are now lowercase
      • +
      • Column names of output count_df() and portion_df() are now lowercase
      • Fixed bug in translation of microorganism names
      • Fixed bug in determining taxonomic kingdoms
      • Algorithm improvements for as.ab() and as.mo() to understand even more severely misspelled input
      • @@ -611,7 +614,7 @@ Please guess_ab_col()
      • Added ~5,000 more old taxonomic names to the microorganisms.old data set, which leads to better results finding when using the as.mo() function
      • -
      • This package now honours the new EUCAST insight (2019) that S and I are but classified as susceptible, where I is defined as ‘increased exposure’ and not ‘intermediate’ anymore. For functions like portion_df() and count_df() this means that their new parameter combine_SI is TRUE at default. Our plotting function ggplot_rsi() also reflects this change since it uses count_df() internally.
      • +
      • This package now honours the new EUCAST insight (2019) that S and I are but classified as susceptible, where I is defined as ‘increased exposure’ and not ‘intermediate’ anymore. For functions like portion_df() and count_df() this means that their new parameter combine_SI is TRUE at default. Our plotting function ggplot_rsi() also reflects this change since it uses count_df() internally.
      • The age() function gained a new parameter exact to determine ages with decimals
      • Removed deprecated functions guess_mo(), guess_atc(), EUCAST_rules(), interpretive_reading(), rsi()
      • @@ -1392,7 +1395,7 @@ Using as.mo(..., allow_uncertain = 3)

        Contents

      @@ -247,7 +247,9 @@ portion_SI(...) -portion_S(...) +portion_S(...) + +portion_df(...)

      Read more on our website!

      diff --git a/docs/reference/AMR.html b/docs/reference/AMR.html index f13f14dbc..4d6b4970a 100644 --- a/docs/reference/AMR.html +++ b/docs/reference/AMR.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036
    @@ -244,7 +244,7 @@

    AMR is a free and open-source R package to simplify the analysis and prediction of Antimicrobial Resistance (AMR) and to work with microbial and antimicrobial properties by using evidence-based methods. It supports any table format, including WHONET/EARS-Net data.

    We created this package for both academic research and routine analysis at the Faculty of Medical Sciences of the University of Groningen and the Medical Microbiology & Infection Prevention (MMBI) department of the University Medical Center Groningen (UMCG). This R package is actively maintained and free software; you can freely use and distribute it for both personal and commercial (but not patent) purposes under the terms of the GNU General Public License version 2.0 (GPL-2), as published by the Free Software Foundation.

    This package can be used for:

      -
    • Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the Catalogue of Life

    • +
    • Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the Catalogue of Life

    • Interpreting raw MIC and disk diffusion values, based on the latest CLSI or EUCAST guidelines

    • Determining first isolates to be used for AMR analysis

    • Calculating antimicrobial resistance

    • @@ -268,11 +268,11 @@

      For suggestions, comments or questions, please contact us at:

      Matthijs S. Berends
      -m.s.berends [at] umcg [dot] nl
      +m.s.berends at umcg dot nl
      Department of Medical Microbiology, University of Groningen
      University Medical Center Groningen
      Post Office Box 30001
      -9700 RB Groningen +9700 RB Groningen
      The Netherlands

      If you have found a bug, please file a new issue at:
      https://gitlab.com/msberends/AMR/issues

      diff --git a/docs/reference/WHOCC.html b/docs/reference/WHOCC.html index 330179f2b..ca04d429f 100644 --- a/docs/reference/WHOCC.html +++ b/docs/reference/WHOCC.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9033 + 0.8.0.9036
    @@ -247,7 +247,7 @@ This package contains all ~550 antibiotic, antimycotic and antiviral drugs and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, https://www.whocc.no) and the Pharmaceuticals Community Register of the European Commission (http://ec.europa.eu/health/documents/community-register/html/atc.htm).

    These have become the gold standard for international drug utilisation monitoring and research.

    The WHOCC is located in Oslo at the Norwegian Institute of Public Health and funded by the Norwegian government. The European Commission is the executive of the European Union and promotes its general interest.

    -

    NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See https://www.whocc.no/copyright_disclaimer/.

    +

    NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See https://www.whocc.no/copyright_disclaimer/.

    Read more on our website!

    diff --git a/docs/reference/WHONET.html b/docs/reference/WHONET.html index 7ab33ea13..37be31721 100644 --- a/docs/reference/WHONET.html +++ b/docs/reference/WHONET.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036
    @@ -234,7 +234,7 @@
    -

    This example data set has the exact same structure as an export file from WHONET. Such files can be used with this package, as this example data set shows. The data itself was based on our example_isolates data set.

    +

    This example data set has the exact same structure as an export file from WHONET. Such files can be used with this package, as this example data set shows. The data itself was based on our example_isolates data set.

    WHONET
    @@ -242,35 +242,34 @@

    Format

    -

    A data.frame with 500 observations and 53 variables:

    -
    Identification number

    ID of the sample

    -
    Specimen number

    ID of the specimen

    -
    Organism

    Name of the microorganism. Before analysis, you should transform this to a valid microbial class, using as.mo.

    -
    Country

    Country of origin

    -
    Laboratory

    Name of laboratory

    -
    Last name

    Last name of patient

    -
    First name

    Initial of patient

    -
    Sex

    Gender of patient

    -
    Age

    Age of patient

    -
    Age category

    Age group, can also be looked up using age_groups

    -
    Date of admission

    Date of hospital admission

    -
    Specimen date

    Date when specimen was received at laboratory

    -
    Specimen type

    Specimen type or group

    -
    Specimen type (Numeric)

    Translation of "Specimen type"

    -
    Reason

    Reason of request with Differential Diagnosis

    -
    Isolate number

    ID of isolate

    -
    Organism type

    Type of microorganism, can also be looked up using mo_type

    -
    Serotype

    Serotype of microorganism

    -
    Beta-lactamase

    Microorganism produces beta-lactamase?

    -
    ESBL

    Microorganism produces extended spectrum beta-lactamase?

    -
    Carbapenemase

    Microorganism produces carbapenemase?

    -
    MRSA screening test

    Microorganism is possible MRSA?

    -
    Inducible clindamycin resistance

    Clindamycin can be induced?

    -
    Comment

    Other comments

    -
    Date of data entry

    Date this data was entered in WHONET

    -
    AMP_ND10:CIP_EE

    27 different antibiotics. You can lookup the abbreviatons in the antibiotics data set, or use e.g. ab_name("AMP") to get the official name immediately. Before analysis, you should transform this to a valid antibiotic class, using as.rsi.

    - -
    +

    A data.frame with 500 observations and 53 variables:

      +
    • Identification number
      ID of the sample

    • +
    • Specimen number
      ID of the specimen

    • +
    • Organism
      Name of the microorganism. Before analysis, you should transform this to a valid microbial class, using as.mo().

    • +
    • Country
      Country of origin

    • +
    • Laboratory
      Name of laboratory

    • +
    • Last name
      Last name of patient

    • +
    • First name
      Initial of patient

    • +
    • Sex
      Gender of patient

    • +
    • Age
      Age of patient

    • +
    • Age category
      Age group, can also be looked up using age_groups()

    • +
    • Date of admission
      Date of hospital admission

    • +
    • Specimen date
      Date when specimen was received at laboratory

    • +
    • Specimen type
      Specimen type or group

    • +
    • Specimen type (Numeric)
      Translation of "Specimen type"

    • +
    • Reason
      Reason of request with Differential Diagnosis

    • +
    • Isolate number
      ID of isolate

    • +
    • Organism type
      Type of microorganism, can also be looked up using mo_type()

    • +
    • Serotype
      Serotype of microorganism

    • +
    • Beta-lactamase
      Microorganism produces beta-lactamase?

    • +
    • ESBL
      Microorganism produces extended spectrum beta-lactamase?

    • +
    • Carbapenemase
      Microorganism produces carbapenemase?

    • +
    • MRSA screening test
      Microorganism is possible MRSA?

    • +
    • Inducible clindamycin resistance
      Clindamycin can be induced?

    • +
    • Comment
      Other comments

    • +
    • Date of data entry
      Date this data was entered in WHONET

    • +
    • AMP_ND10:CIP_EE
      27 different antibiotics. You can lookup the abbreviatons in the antibiotics data set, or use e.g. ab_name("AMP") to get the official name immediately. Before analysis, you should transform this to a valid antibiotic class, using as.rsi().

    • +

    Read more on our website!

    diff --git a/docs/reference/ab_property.html b/docs/reference/ab_property.html index 79bfa8b15..5683b164a 100644 --- a/docs/reference/ab_property.html +++ b/docs/reference/ab_property.html @@ -51,7 +51,7 @@ - + @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036
    @@ -234,7 +234,7 @@
    -

    Use these functions to return a specific property of an antibiotic from the antibiotics data set. All input values will be evaluated internally with as.ab.

    +

    Use these functions to return a specific property of an antibiotic from the antibiotics data set. All input values will be evaluated internally with as.ab().

    ab_name(x, language = get_locale(), tolower = FALSE, ...)
    @@ -264,11 +264,11 @@
         
         
           x
    -      

    any (vector of) text that can be coerced to a valid microorganism code with as.ab

    +

    any (vector of) text that can be coerced to a valid microorganism code with as.ab()

    language -

    language of the returned text, defaults to system language (see get_locale) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

    +

    language of the returned text, defaults to system language (see get_locale()) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

    tolower @@ -276,7 +276,7 @@ ... -

    other parameters passed on to as.ab

    +

    other parameters passed on to as.ab()

    administration @@ -288,7 +288,7 @@ property -

    one of the column names of one of the antibiotics data set

    +

    one of the column names of one of the antibiotics data set

    @@ -296,10 +296,10 @@
      -
    • An integer in case of ab_cid

    • -
    • A named list in case of ab_info and multiple ab_synonyms/ab_tradenames

    • -
    • A double in case of ab_ddd

    • -
    • A character in all other cases

    • +
    • An integer in case of ab_cid()

    • +
    • A named list in case of ab_info() and multiple ab_synonyms()/ab_tradenames()

    • +
    • A double in case of ab_ddd()

    • +
    • A character in all other cases

    Details

    @@ -319,7 +319,7 @@

    On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

    See also

    - +

    Examples

    # all properties:
    diff --git a/docs/reference/age.html b/docs/reference/age.html
    index 9ea062995..caa74f6da 100644
    --- a/docs/reference/age.html
    +++ b/docs/reference/age.html
    @@ -85,7 +85,7 @@
           
           
             AMR (for R)
    -        0.8.0.9032
    +        0.8.0.9036
           
         
     
    @@ -244,15 +244,15 @@
         
         
           x
    -      

    date(s), will be coerced with as.POSIXlt

    +

    date(s), will be coerced with as.POSIXlt()

    reference -

    reference date(s) (defaults to today), will be coerced with as.POSIXlt and cannot be lower than x

    +

    reference date(s) (defaults to today), will be coerced with as.POSIXlt() and cannot be lower than x

    exact -

    a logical to indicate whether age calculation should be exact, i.e. with decimals. It divides the number of days of year-to-date (YTD) of x by the number of days in a year of reference (either 365 or 366).

    +

    a logical to indicate whether age calculation should be exact, i.e. with decimals. It divides the number of days of year-to-date (YTD) of x by the number of days in the year of reference (either 365 or 366).

    na.rm @@ -270,7 +270,7 @@

    On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

    See also

    -

    To split ages into groups, use the age_groups function.

    +

    To split ages into groups, use the age_groups() function.

    Examples

    # 10 random birth dates
    diff --git a/docs/reference/age_groups.html b/docs/reference/age_groups.html
    index 77b2a19fd..54a07cab4 100644
    --- a/docs/reference/age_groups.html
    +++ b/docs/reference/age_groups.html
    @@ -85,7 +85,7 @@
           
           
             AMR (for R)
    -        0.8.0.9032
    +        0.8.0.9036
           
         
     
    @@ -244,7 +244,7 @@
         
         
           x
    -      

    age, e.g. calculated with age

    +

    age, e.g. calculated with age()

    split_at @@ -263,7 +263,7 @@

    To split ages, the input can be:

    • A numeric vector. A vector of e.g. c(10, 20) will split on 0-9, 10-19 and 20+. A value of only 50 will split on 0-49 and 50+. - The default is to split on young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) and elderly (75+).

    • +The default is to split on young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) and elderly (75+).

    • A character:

      • "children" or "kids", equivalent of: c(0, 1, 2, 4, 6, 13, 18). This will split on 0, 1, 2-3, 4-5, 6-12, 13-17 and 18+.

      • "elderly" or "seniors", equivalent of: c(65, 75, 85). This will split on 0-64, 65-74, 75-84, 85+.

      • @@ -279,7 +279,7 @@

        On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

        See also

        -

        To determine ages, based on one or more reference dates, use the age function.

        +

        To determine ages, based on one or more reference dates, use the age() function.

        Examples

        ages <- c(3, 8, 16, 54, 31, 76, 101, 43, 21)
        diff --git a/docs/reference/antibiotics.html b/docs/reference/antibiotics.html
        index d2ffc7e3a..085317567 100644
        --- a/docs/reference/antibiotics.html
        +++ b/docs/reference/antibiotics.html
        @@ -51,7 +51,7 @@
           
         
         
        -
        +
         
         
         
        @@ -85,7 +85,7 @@
               
               
                 AMR (for R)
        -        0.8.0.9035
        +        0.8.0.9036
               
             
         
        @@ -234,7 +234,7 @@
             
         
             
        -

        Two data sets containing all antibiotics/antimycotics and antivirals. Use as.ab or one of the ab_property functions to retrieve values from the antibiotics data set. Three identifiers are included in this data set: an antibiotic ID (ab, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (atc) as defined by the WHO, and a Compound ID (cid) as found in PubChem. Other properties in this data set are derived from one or more of these codes.

        +

        Two data sets containing all antibiotics/antimycotics and antivirals. Use as.ab() or one of the ab_property() functions to retrieve values from the antibiotics data set. Three identifiers are included in this data set: an antibiotic ID (ab, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (atc) as defined by the WHO, and a Compound ID (cid) as found in PubChem. Other properties in this data set are derived from one or more of these codes.

        antibiotics
        @@ -244,35 +244,39 @@
         
             

        Format

        -

        For the antibiotics data set: a data.frame with 452 observations and 13 variables:

        -
        ab

        Antibiotic ID as used in this package (like AMC), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available

        -
        atc

        ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC, like J01CR02

        -
        cid

        Compound ID as found in PubChem

        -
        name

        Official name as used by WHONET/EARS-Net or the WHO

        -
        group

        A short and concise group name, based on WHONET and WHOCC definitions

        -
        atc_group1

        Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC, like "Macrolides, lincosamides and streptogramins"

        -
        atc_group2

        Official chemical subgroup (4th level ATC code) as defined by the WHOCC, like "Macrolides"

        -
        abbr

        List of abbreviations as used in many countries, also for antibiotic susceptibility testing (AST)

        -
        synonyms

        Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID

        -
        oral_ddd

        Defined Daily Dose (DDD), oral treatment

        -
        oral_units

        Units of oral_ddd

        -
        iv_ddd

        Defined Daily Dose (DDD), parenteral treatment

        -
        iv_units

        Units of iv_ddd

        +

        For the antibiotics data set: a data.frame with 452 observations and 13 variables:

        -
        +
          +
        • ab
          Antibiotic ID as used in this package (like AMC), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available

        • +
        • atc
          ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC, like J01CR02

        • +
        • cid
          Compound ID as found in PubChem

        • +
        • name
          Official name as used by WHONET/EARS-Net or the WHO

        • +
        • group
          A short and concise group name, based on WHONET and WHOCC definitions

        • +
        • atc_group1
          Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC, like "Macrolides, lincosamides and streptogramins"

        • +
        • atc_group2
          Official chemical subgroup (4th level ATC code) as defined by the WHOCC, like "Macrolides"

        • +
        • abbr
          List of abbreviations as used in many countries, also for antibiotic susceptibility testing (AST)

        • +
        • synonyms
          Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID

        • +
        • oral_ddd
          Defined Daily Dose (DDD), oral treatment

        • +
        • oral_units
          Units of oral_ddd

        • +
        • iv_ddd
          Defined Daily Dose (DDD), parenteral treatment

        • +
        • iv_units
          Units of iv_ddd

        • +
        -

        For the antivirals data set: a data.frame with 102 observations and 9 variables:

        -
        atc

        ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC

        -
        cid

        Compound ID as found in PubChem

        -
        name

        Official name as used by WHONET/EARS-Net or the WHO

        -
        atc_group

        Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC

        -
        synonyms

        Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID

        -
        oral_ddd

        Defined Daily Dose (DDD), oral treatment

        -
        oral_units

        Units of oral_ddd

        -
        iv_ddd

        Defined Daily Dose (DDD), parenteral treatment

        -
        iv_units

        Units of iv_ddd

        -
        +

        For the antivirals data set: a data.frame with 102 observations and 9 variables:

        + +
          +
        • atc
          ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC

        • +
        • cid
          Compound ID as found in PubChem

        • +
        • name
          Official name as used by WHONET/EARS-Net or the WHO

        • +
        • atc_group
          Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC

        • +
        • synonyms
          Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID

        • +
        • oral_ddd
          Defined Daily Dose (DDD), oral treatment

        • +
        • oral_units
          Units of oral_ddd

        • +
        • iv_ddd
          Defined Daily Dose (DDD), parenteral treatment

        • +
        • iv_units
          Units of iv_ddd

        • +
        +

        Source

        World Health Organization (WHO) Collaborating Centre for Drug Statistics Methodology (WHOCC): https://www.whocc.no/atc_ddd_index/

        @@ -290,7 +294,7 @@ This package contains all ~550 antibiotic, antimycotic and antiviral drugs and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, https://www.whocc.no) and the Pharmaceuticals Community Register of the European Commission (http://ec.europa.eu/health/documents/community-register/html/atc.htm).

        These have become the gold standard for international drug utilisation monitoring and research.

        The WHOCC is located in Oslo at the Norwegian Institute of Public Health and funded by the Norwegian government. The European Commission is the executive of the European Union and promotes its general interest.

        -

        NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See https://www.whocc.no/copyright_disclaimer/.

        +

        NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See https://www.whocc.no/copyright_disclaimer/.

        Read more on our website!

        @@ -298,7 +302,7 @@ This package contains all ~550 antibiotic, antimycotic and antiviral dru

        On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

        See also

        - + @@ -234,7 +234,7 @@
        -

        Use this function to determine the antibiotic code of one or more antibiotics. The data set antibiotics will be searched for abbreviations, official names and synonyms (brand names).

        +

        Use this function to determine the antibiotic code of one or more antibiotics. The data set antibiotics will be searched for abbreviations, official names and synonyms (brand names).

        as.ab(x, ...)
        @@ -256,11 +256,11 @@
         
             

        Value

        -

        Character (vector) with class "ab". Unknown values will return NA.

        +

        Character (vector) with class ab. Unknown values will return NA.

        Details

        -

        All entries in the antibiotics data set have three different identifiers: a human readable EARS-Net code (column ab, used by ECDC and WHONET), an ATC code (column atc, used by WHO), and a CID code (column cid, Compound ID, used by PubChem). The data set contains more than 5,000 official brand names from many different countries, as found in PubChem.

        -

        Use the ab_property functions to get properties based on the returned antibiotic ID, see Examples.

        +

        All entries in the antibiotics data set have three different identifiers: a human readable EARS-Net code (column ab, used by ECDC and WHONET), an ATC code (column atc, used by WHO), and a CID code (column cid, Compound ID, used by PubChem). The data set contains more than 5,000 official brand names from many different countries, as found in PubChem.

        +

        Use the ab_property() functions to get properties based on the returned antibiotic ID, see Examples.

        Source

        @@ -276,7 +276,7 @@ This package contains all ~550 antibiotic, antimycotic and antiviral drugs and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, https://www.whocc.no) and the Pharmaceuticals Community Register of the European Commission (http://ec.europa.eu/health/documents/community-register/html/atc.htm).

        These have become the gold standard for international drug utilisation monitoring and research.

        The WHOCC is located in Oslo at the Norwegian Institute of Public Health and funded by the Norwegian government. The European Commission is the executive of the European Union and promotes its general interest.

        -

        NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See https://www.whocc.no/copyright_disclaimer/.

        +

        NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See https://www.whocc.no/copyright_disclaimer/.

        Read more on our website!

        @@ -284,7 +284,7 @@ This package contains all ~550 antibiotic, antimycotic and antiviral dru

        On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

        See also

        -

        antibiotics for the dataframe that is being used to determine ATCs.

        +

        antibiotics for the dataframe that is being used to determine ATCs.

        Examples

        # These examples all return "ERY", the ID of Erythromycin:
        diff --git a/docs/reference/as.disk.html b/docs/reference/as.disk.html
        index 61fa87ea5..125956fda 100644
        --- a/docs/reference/as.disk.html
        +++ b/docs/reference/as.disk.html
        @@ -85,7 +85,7 @@
               
               
                 AMR (for R)
        -        0.8.0.9032
        +        0.8.0.9036
               
             
         
        @@ -259,7 +259,7 @@
             

        Ordered integer factor with new class disk

        Details

        -

        Interpret disk values as RSI values with as.rsi. It supports guidelines from EUCAST and CLSI.

        +

        Interpret disk values as RSI values with as.rsi(). It supports guidelines from EUCAST and CLSI.

        Read more on our website!

        @@ -267,7 +267,7 @@

        On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

        See also

        - +

        Examples

        # interpret disk values
        diff --git a/docs/reference/as.mic.html b/docs/reference/as.mic.html
        index 88811896f..fc94688b7 100644
        --- a/docs/reference/as.mic.html
        +++ b/docs/reference/as.mic.html
        @@ -85,7 +85,7 @@
               
               
                 AMR (for R)
        -        0.8.0.9032
        +        0.8.0.9036
               
             
         
        @@ -234,7 +234,7 @@
             
         
             
        -

        This transforms a vector to a new class mic, which is an ordered factor with valid MIC values as levels. Invalid MIC values will be translated as NA with a warning.

        +

        This transforms a vector to a new class mic, which is an ordered factor with valid MIC values as levels. Invalid MIC values will be translated as NA with a warning.

        as.mic(x, na.rm = FALSE)
        @@ -256,10 +256,10 @@
         
             

        Value

        -

        Ordered factor with new class mic

        +

        Ordered factor with new class mic

        Details

        -

        Interpret MIC values as RSI values with as.rsi. It supports guidelines from EUCAST and CLSI.

        +

        To interpret MIC values as RSI values, use as.rsi() on MIC values. It supports guidelines from EUCAST and CLSI.

        Read more on our website!

        @@ -267,7 +267,7 @@

        On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

        See also

        - +

        Examples

        mic_data <- as.mic(c(">=32", "1.0", "1", "1.00", 8, "<=0.128", "8", "16", "16"))
        diff --git a/docs/reference/as.mo.html b/docs/reference/as.mo.html
        index bb52836f1..90e8042a0 100644
        --- a/docs/reference/as.mo.html
        +++ b/docs/reference/as.mo.html
        @@ -85,7 +85,7 @@
               
               
                 AMR (for R)
        -        0.8.0.9032
        +        0.8.0.9036
               
             
         
        @@ -234,11 +234,17 @@
             
         
             
        -

        Use this function to determine a valid microorganism ID (mo). Determination is done using intelligent rules and the complete taxonomic kingdoms Bacteria, Chromista, Protozoa, Archaea and most microbial species from the kingdom Fungi (see Source). The input can be almost anything: a full name (like "Staphylococcus aureus"), an abbreviated name (like "S. aureus"), an abbreviation known in the field (like "MRSA"), or just a genus. Please see Examples.

        +

        Use this function to determine a valid microorganism ID (mo). Determination is done using intelligent rules and the complete taxonomic kingdoms Bacteria, Chromista, Protozoa, Archaea and most microbial species from the kingdom Fungi (see Source). The input can be almost anything: a full name (like "Staphylococcus aureus"), an abbreviated name (like "S. aureus"), an abbreviation known in the field (like "MRSA"), or just a genus. Please see Examples.

        -
        as.mo(x, Becker = FALSE, Lancefield = FALSE, allow_uncertain = TRUE,
        -  reference_df = get_mo_source(), ...)
        +    
        as.mo(
        +  x,
        +  Becker = FALSE,
        +  Lancefield = FALSE,
        +  allow_uncertain = TRUE,
        +  reference_df = get_mo_source(),
        +  ...
        +)
         
         is.mo(x)
         
        @@ -255,25 +261,25 @@
             
             
               x
        -      

        a character vector or a data.frame with one or two columns

        +

        a character vector or a data.frame with one or two columns

        Becker -

        a logical to indicate whether Staphylococci should be categorised into coagulase-negative Staphylococci ("CoNS") and coagulase-positive Staphylococci ("CoPS") instead of their own species, according to Karsten Becker et al. [1,2]. Note that this does not include species that were newly named after these publications, like S. caeli.

        +

        a logical to indicate whether Staphylococci should be categorised into coagulase-negative Staphylococci ("CoNS") and coagulase-positive Staphylococci ("CoPS") instead of their own species, according to Karsten Becker et al. (1,2). Note that this does not include species that were newly named after these publications, like S. caeli.

        This excludes Staphylococcus aureus at default, use Becker = "all" to also categorise S. aureus as "CoPS".

        Lancefield -

        a logical to indicate whether beta-haemolytic Streptococci should be categorised into Lancefield groups instead of their own species, according to Rebecca C. Lancefield [3]. These Streptococci will be categorised in their first group, e.g. Streptococcus dysgalactiae will be group C, although officially it was also categorised into groups G and L.

        +

        a logical to indicate whether beta-haemolytic Streptococci should be categorised into Lancefield groups instead of their own species, according to Rebecca C. Lancefield (3). These Streptococci will be categorised in their first group, e.g. Streptococcus dysgalactiae will be group C, although officially it was also categorised into groups G and L.

        This excludes Enterococci at default (who are in group D), use Lancefield = "all" to also categorise all Enterococci as group D.

        allow_uncertain -

        a number between 0 (or "none") and 3 (or "all"), or TRUE (= 2) or FALSE (= 0) to indicate whether the input should be checked for less probable results, see Details

        +

        a number between 0 (or "none") and 3 (or "all"), or TRUE (= 2) or FALSE (= 0) to indicate whether the input should be checked for less probable results, please see Details

        reference_df -

        a data.frame to use for extra reference when translating x to a valid mo. See set_mo_source and get_mo_source to automate the usage of your own codes (e.g. used in your analysis or organisation).

        +

        a data.frame to use for extra reference when translating x to a valid mo. See set_mo_source() and get_mo_source() to automate the usage of your own codes (e.g. used in your analysis or organisation).

        ... @@ -283,12 +289,14 @@

        Value

        -

        Character (vector) with class "mo"

        +

        A character vector with class mo

        Details

        -

        General info
        -A microorganism ID from this package (class: mo) typically looks like these examples:

        -  Code               Full name
        +    
        +

        General info

        + + +

        A microorganism ID from this package (class: mo) typically looks like these examples:

          Code               Full name
           ---------------    --------------------------------------
           B_KLBSL            Klebsiella
           B_KLBSL_PNMN       Klebsiella pneumoniae
        @@ -303,26 +311,27 @@ A microorganism ID from this package (class: mo) typically looks li
         

        Values that cannot be coered will be considered 'unknown' and will get the MO code UNKNOWN.

        -

        Use the mo_property_* functions to get properties based on the returned code, see Examples.

        -

        The algorithm uses data from the Catalogue of Life (see below) and from one other source (see microorganisms).

        -

        The as.mo() function uses several coercion rules for fast and logical results. It assesses the input matching criteria in the following order:

          +

          Use the mo_property_* functions to get properties based on the returned code, see Examples.

          +

          The algorithm uses data from the Catalogue of Life (see below) and from one other source (see microorganisms).

          +

          The as.mo() function uses several coercion rules for fast and logical results. It assesses the input matching criteria in the following order:

          1. Human pathogenic prevalence: the function starts with more prevalent microorganisms, followed by less prevalent ones;

          2. Taxonomic kingdom: the function starts with determining Bacteria, then Fungi, then Protozoa, then others;

          3. Breakdown of input values to identify possible matches.

          4. -
        +

        This will lead to the effect that e.g. "E. coli" (a highly prevalent microorganism found in humans) will return the microbial ID of Escherichia coli and not Entamoeba coli (a less prevalent microorganism in humans), although the latter would alphabetically come first.

        -

        Coping with uncertain results
        -In addition, the as.mo() function can differentiate four levels of uncertainty to guess valid results:

        -
          + +

          Coping with uncertain results

          + + +

          In addition, the as.mo() function can differentiate four levels of uncertainty to guess valid results:

          • Uncertainty level 0: no additional rules are applied;

          • Uncertainty level 1: allow previously accepted (but now invalid) taxonomic names and minor spelling errors;

          • Uncertainty level 2: allow all of level 1, strip values between brackets, inverse the words of the input, strip off text elements from the end keeping at least two elements;

          • Uncertainty level 3: allow all of level 1 and 2, strip off text elements from the end, allow any part of a taxonomic name.

          -

          This leads to e.g.:

          -
            +

            This leads to e.g.:

            • "Streptococcus group B (known as S. agalactiae)". The text between brackets will be removed and a warning will be thrown that the result Streptococcus group B (B_STRPT_GRPB) needs review.

            • "S. aureus - please mind: MRSA". The last word will be stripped, after which the function will try to find a match. If it does not, the second last word will be stripped, etc. Again, a warning will be thrown that the result Staphylococcus aureus (B_STPHY_AURS) needs review.

            • "Fluoroquinolone-resistant Neisseria gonorrhoeae". The first word will be stripped, after which the function will try to find a match. A warning will be thrown that the result Neisseria gonorrhoeae (B_NESSR_GNRR) needs review.

            • @@ -330,35 +339,45 @@ In addition, the as.mo() function can differentiate four levels of

              The level of uncertainty can be set using the argument allow_uncertain. The default is allow_uncertain = TRUE, which is equal to uncertainty level 2. Using allow_uncertain = FALSE is equal to uncertainty level 0 and will skip all rules. You can also use e.g. as.mo(..., allow_uncertain = 1) to only allow up to level 1 uncertainty.

              There are three helper functions that can be run after then as.mo() function:

                -
              • Use mo_uncertainties() to get a data.frame with all values that were coerced to a valid value, but with uncertainty. The output contains a score, that is calculated as (n - 0.5 * L) / n, where n is the number of characters of the returned full name of the microorganism, and L is the Levenshtein distance between that full name and the user input.

              • -
              • Use mo_failures() to get a vector with all values that could not be coerced to a valid value.

              • -
              • Use mo_renamed() to get a data.frame with all values that could be coerced based on an old, previously accepted taxonomic name.

              • -
              +
            • Use mo_uncertainties() to get a data.frame with all values that were coerced to a valid value, but with uncertainty. The output contains a score, that is calculated as \((n - 0.5 * L) / n\), where n is the number of characters of the returned full name of the microorganism, and L is the Levenshtein distance between that full name and the user input.

            • +
            • Use mo_failures() to get a vector with all values that could not be coerced to a valid value.

            • +
            • Use mo_renamed() to get a data.frame with all values that could be coerced based on an old, previously accepted taxonomic name.

            • +
            -

            Microbial prevalence of pathogens in humans
            -The intelligent rules consider the prevalence of microorganisms in humans grouped into three groups, which is available as the prevalence columns in the microorganisms and microorganisms.old data sets. The grouping into prevalence groups is based on experience from several microbiological laboratories in the Netherlands in conjunction with international reports on pathogen prevalence.

            + +

            Microbial prevalence of pathogens in humans

            + + +

            The intelligent rules consider the prevalence of microorganisms in humans grouped into three groups, which is available as the prevalence columns in the microorganisms and microorganisms.old data sets. The grouping into prevalence groups is based on experience from several microbiological laboratories in the Netherlands in conjunction with international reports on pathogen prevalence.

            Group 1 (most prevalent microorganisms) consists of all microorganisms where the taxonomic class is Gammaproteobacteria or where the taxonomic genus is Enterococcus, Staphylococcus or Streptococcus. This group consequently contains all common Gram-negative bacteria, such as Pseudomonas and Legionella and all species within the order Enterobacteriales.

            Group 2 consists of all microorganisms where the taxonomic phylum is Proteobacteria, Firmicutes, Actinobacteria or Sarcomastigophora, or where the taxonomic genus is Aspergillus, Bacteroides, Candida, Capnocytophaga, Chryseobacterium, Cryptococcus, Elisabethkingia, Flavobacterium, Fusobacterium, Giardia, Leptotrichia, Mycoplasma, Prevotella, Rhodotorula, Treponema, Trichophyton or Ureaplasma.

            Group 3 (least prevalent microorganisms) consists of all other microorganisms.

            -

            Self-learning algorithm
            -The as.mo() function gains experience from previously determined microorganism IDs and learns from it. This drastically improves both speed and reliability. Use clear_mo_history() to reset the algorithms. Only experience from your current AMR package version is used. This is done because in the future the taxonomic tree (which is included in this package) may change for any organism and it consequently has to rebuild its knowledge.

            + +

            Self-learning algorithm

            + + +

            The as.mo() function gains experience from previously determined microorganism IDs and learns from it. This drastically improves both speed and reliability. Use clear_mo_history() to reset the algorithms. Only experience from your current AMR package version is used. This is done because in the future the taxonomic tree (which is included in this package) may change for any organism and it consequently has to rebuild its knowledge.

            Usually, any guess after the first try runs 80-95% faster than the first try.

            This resets with every update of this AMR package since results are saved to your local package library folder.

            +

            Source

            -

            [1] Becker K et al. Coagulase-Negative Staphylococci. 2014. Clin Microbiol Rev. 27(4): 870–926. https://dx.doi.org/10.1128/CMR.00109-13

            -

            [2] Becker K et al. Implications of identifying the recently defined members of the S. aureus complex, S. argenteus and S. schweitzeri: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS). 2019. Clin Microbiol Infect. https://doi.org/10.1016/j.cmi.2019.02.028

            -

            [3] Lancefield RC A serological differentiation of human and other groups of hemolytic streptococci. 1933. J Exp Med. 57(4): 571–95. https://dx.doi.org/10.1084/jem.57.4.571

            -

            [4] Catalogue of Life: Annual Checklist (public online taxonomic database), http://www.catalogueoflife.org (check included annual version with catalogue_of_life_version()).

            +
              +
            1. Becker K et al. Coagulase-Negative Staphylococci. 2014. Clin Microbiol Rev. 27(4): 870–926. https://dx.doi.org/10.1128/CMR.00109-13

            2. +
            3. Becker K et al. Implications of identifying the recently defined members of the S. aureus complex, S. argenteus and S. schweitzeri: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS). 2019. Clin Microbiol Infect. https://doi.org/10.1016/j.cmi.2019.02.028

            4. +
            5. Lancefield RC A serological differentiation of human and other groups of hemolytic streptococci. 1933. J Exp Med. 57(4): 571–95. https://dx.doi.org/10.1084/jem.57.4.571

            6. +
            7. Catalogue of Life: Annual Checklist (public online taxonomic database), http://www.catalogueoflife.org (check included annual version with catalogue_of_life_version()).

            8. +
            +

            Catalogue of Life


            This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (http://www.catalogueoflife.org). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available.

            -

            Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

            +

            Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

            Read more on our website!

            @@ -366,8 +385,8 @@ This package contains the complete taxonomic tree of almost all microorganisms (

            On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

            See also

            -

            microorganisms for the data.frame that is being used to determine ID's.
            -The mo_property functions (like mo_genus, mo_gramstain) to get properties based on the returned code.

            +

            microorganisms for the data.frame that is being used to determine ID's.

            +

            The mo_property() functions (like mo_genus(), mo_gramstain()) to get properties based on the returned code.

            Examples

            # \donttest{
            diff --git a/docs/reference/as.rsi.html b/docs/reference/as.rsi.html
            index 52caf178d..01ebdf8b5 100644
            --- a/docs/reference/as.rsi.html
            +++ b/docs/reference/as.rsi.html
            @@ -51,7 +51,7 @@
               
             
             
            -
            +
             
             
             
            @@ -85,7 +85,7 @@
                   
                   
                     AMR (for R)
            -        0.8.0.9032
            +        0.8.0.9036
                   
                 
             
            @@ -234,7 +234,7 @@
                 
             
                 
            -

            Interpret MIC values according to EUCAST or CLSI, or clean up existing RSI values. This transforms the input to a new class rsi, which is an ordered factor with levels S < I < R. Invalid antimicrobial interpretations will be translated as NA with a warning.

            +

            Interpret MIC values and disk diffusion diameters according to EUCAST or CLSI, or clean up existing RSI values. This transforms the input to a new class rsi, which is an ordered factor with levels S < I < R. Invalid antimicrobial interpretations will be translated as NA with a warning.

            as.rsi(x, ...)
            @@ -246,8 +246,7 @@
             as.rsi(x, mo, ab, guideline = "EUCAST", ...)
             
             # S3 method for data.frame
            -as.rsi(x, col_mo = NULL, guideline = "EUCAST",
            -  ...)
            +as.rsi(x, col_mo = NULL, guideline = "EUCAST", ...)
             
             is.rsi(x)
             
            @@ -258,7 +257,7 @@
                 
                 
                   x
            -      

            vector of values (for class mic: an MIC value in mg/L, for class disk: a disk diffusion radius in millimeters)

            +

            vector of values (for class mic: an MIC value in mg/L, for class disk: a disk diffusion radius in millimeters)

            ... @@ -266,11 +265,11 @@ mo -

            a microorganism code, generated with as.mo

            +

            a microorganism code, generated with as.mo()

            ab -

            an antimicrobial code, generated with as.ab

            +

            an antimicrobial code, generated with as.ab()

            guideline @@ -278,11 +277,11 @@ col_mo -

            column name of the IDs of the microorganisms (see as.mo), defaults to the first column of class mo. Values will be coerced using as.mo.

            +

            column name of the IDs of the microorganisms (see as.mo()), defaults to the first column of class mo. Values will be coerced using as.mo().

            threshold -

            maximum fraction of invalid antimicrobial interpretations of x, see Examples

            +

            maximum fraction of invalid antimicrobial interpretations of x, please see Examples

            @@ -292,21 +291,20 @@

            Details

            Run unique(AMR::rsi_translation$guideline) for a list of all supported guidelines.

            -

            After using as.rsi, you can use eucast_rules to (1) apply inferred susceptibility and resistance based on results of other antimicrobials and (2) apply intrinsic resistance based on taxonomic properties of a microorganism.

            -

            The function is.rsi.eligible returns TRUE when a columns contains at most 5% invalid antimicrobial interpretations (not S and/or I and/or R), and FALSE otherwise. The threshold of 5% can be set with the threshold parameter.

            +

            After using as.rsi(), you can use eucast_rules() to (1) apply inferred susceptibility and resistance based on results of other antimicrobials and (2) apply intrinsic resistance based on taxonomic properties of a microorganism.

            +

            The function is.rsi.eligible() returns TRUE when a columns contains at most 5% invalid antimicrobial interpretations (not S and/or I and/or R), and FALSE otherwise. The threshold of 5% can be set with the threshold parameter.

            Interpretation of S, I and R

            -

            In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

            -
              +

              In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

              • S - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.

              • I - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.

              • R - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.

              Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.

              -

              This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

              +

              This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

              Read more on our website!

              @@ -314,7 +312,7 @@

              On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

              See also

              - +

              Examples

              rsi_data <- as.rsi(c(rep("S", 474), rep("I", 36), rep("R", 370)))
              diff --git a/docs/reference/atc_online.html b/docs/reference/atc_online.html
              index 730425d6d..c6c633525 100644
              --- a/docs/reference/atc_online.html
              +++ b/docs/reference/atc_online.html
              @@ -51,7 +51,8 @@
                 
               
               
              -
              +
               
               
               
              @@ -85,7 +86,7 @@
                     
                     
                       AMR (for R)
              -        0.8.0.9032
              +        0.8.0.9036
                     
                   
               
              @@ -234,11 +235,16 @@
                   
               
                   
              -

              Gets data from the WHO to determine properties of an ATC (e.g. an antibiotic) like name, defined daily dose (DDD) or standard unit.
              This function requires an internet connection.

              +

              Gets data from the WHO to determine properties of an ATC (e.g. an antibiotic) like name, defined daily dose (DDD) or standard unit.

              +

              This function requires an internet connection.

              -
              atc_online_property(atc_code, property, administration = "O",
              -  url = "https://www.whocc.no/atc_ddd_index/?code=%s&showdescription=no")
              +    
              atc_online_property(
              +  atc_code,
              +  property,
              +  administration = "O",
              +  url = "https://www.whocc.no/atc_ddd_index/?code=%s&showdescription=no"
              +)
               
               atc_online_groups(atc_code, ...)
               
              @@ -290,7 +296,7 @@
               

              Abbreviations of return values when using property = "U" (unit):

              • "g" = gram

              • "mg" = milligram

              • -
              • "mcg" = microgram

              • +
              • `"mcg"`` = microgram

              • "U" = unit

              • "TU" = thousand units

              • "MU" = million units

              • diff --git a/docs/reference/availability.html b/docs/reference/availability.html index 6d1646ccb..fc0c2082b 100644 --- a/docs/reference/availability.html +++ b/docs/reference/availability.html @@ -51,7 +51,7 @@ - + @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -234,7 +234,7 @@
                -

                Easy check for availability of columns in a data set. This makes it easy to get an idea of which antimicrobial combination can be used for calculation with e.g. resistance.

                +

                Easy check for availability of columns in a data set. This makes it easy to get an idea of which antimicrobial combination can be used for calculation with e.g. resistance().

                availability(tbl, width = NULL)
                @@ -244,7 +244,7 @@ tbl -

                a data.frame or list

                +

                a data.frame or list

                width @@ -254,10 +254,10 @@

                Value

                -

                data.frame with column names of tbl as row names

                +

                data.frame with column names of tbl as row names

                Details

                -

                The function returns a data.frame with columns "resistant" and "visual_resistance". The values in that columns are calculated with resistance.

                +

                The function returns a data.frame with columns "resistant" and "visual_resistance". The values in that columns are calculated with resistance().

                Read more on our website!

                diff --git a/docs/reference/bug_drug_combinations.html b/docs/reference/bug_drug_combinations.html index 274b406a4..cb62482f4 100644 --- a/docs/reference/bug_drug_combinations.html +++ b/docs/reference/bug_drug_combinations.html @@ -51,7 +51,7 @@ - + @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -234,18 +234,25 @@
                -

                Determine antimicrobial resistance (AMR) of all bug-drug combinations in your data set where at least 30 (default) isolates are available per species. Use format on the result to prettify it to a publicable/printable format, see Examples.

                +

                Determine antimicrobial resistance (AMR) of all bug-drug combinations in your data set where at least 30 (default) isolates are available per species. Use format() on the result to prettify it to a publicable/printable format, see Examples.

                bug_drug_combinations(x, col_mo = NULL, FUN = mo_shortname, ...)
                 
                 # S3 method for bug_drug_combinations
                -format(x,
                -  translate_ab = "name (ab, atc)", language = get_locale(),
                -  minimum = 30, combine_SI = TRUE, combine_IR = FALSE,
                -  add_ab_group = TRUE, remove_intrinsic_resistant = FALSE,
                -  decimal.mark = getOption("OutDec"), big.mark = ifelse(decimal.mark ==
                -  ",", ".", ","), ...)
                +format( + x, + translate_ab = "name (ab, atc)", + language = get_locale(), + minimum = 30, + combine_SI = TRUE, + combine_IR = FALSE, + add_ab_group = TRUE, + remove_intrinsic_resistant = FALSE, + decimal.mark = getOption("OutDec"), + big.mark = ifelse(decimal.mark == ",", ".", ","), + ... +)

              Arguments

              @@ -256,11 +263,11 @@ - + - + @@ -268,11 +275,11 @@ - + - + @@ -312,10 +319,10 @@

              M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition, 2014, Clinical and Laboratory Standards Institute (CLSI). https://clsi.org/standards/products/microbiology/documents/m39/.

              Value

              -

              The function bug_drug_combinations returns a data.frame with columns "mo", "ab", "S", "I", "R" and "total".

              +

              The function bug_drug_combinations() returns a data.frame with columns "mo", "ab", "S", "I", "R" and "total".

              Details

              -

              The function format calculates the resistance per bug-drug combination. Use combine_IR = FALSE (default) to test R vs. S+I and combine_IR = TRUE to test R+I vs. S.

              +

              The function format() calculates the resistance per bug-drug combination. Use combine_IR = FALSE (default) to test R vs. S+I and combine_IR = TRUE to test R+I vs. S.

              The language of the output can be overwritten with options(AMR_locale), please see translate.

              Read more on our website!

              diff --git a/docs/reference/catalogue_of_life.html b/docs/reference/catalogue_of_life.html index 08e5ff570..2d1a97ca8 100644 --- a/docs/reference/catalogue_of_life.html +++ b/docs/reference/catalogue_of_life.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -245,7 +245,7 @@


              This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (http://www.catalogueoflife.org). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available.

              -

              Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

              +

              Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

              Included taxa

              @@ -268,8 +268,8 @@ This package contains the complete taxonomic tree of almost all microorganisms (

              On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

              See also

              -

              Data set microorganisms for the actual data.
              -Function as.mo() to use the data for intelligent determination of microorganisms.

              +

              Data set microorganisms for the actual data.
              +Function as.mo() to use the data for intelligent determination of microorganisms.

              Examples

              # Get version info of included data set
              @@ -295,7 +295,7 @@ Function as.mo() to use the data for intel
               mo_ref("E. coli")
               # [1] "Castellani et al., 1919"
               
              -# Do not get mistaken - the package only includes microorganisms
              +# Do not get mistaken - this package is about microorganisms
               mo_kingdom("C. elegans")
               # [1] "Bacteria"                        # Bacteria?!
               mo_name("C. elegans")
              diff --git a/docs/reference/catalogue_of_life_version.html b/docs/reference/catalogue_of_life_version.html
              index 77ceae90d..82c8f543d 100644
              --- a/docs/reference/catalogue_of_life_version.html
              +++ b/docs/reference/catalogue_of_life_version.html
              @@ -85,7 +85,7 @@
                     
                     
                       AMR (for R)
              -        0.8.0.9032
              +        0.8.0.9036
                     
                   
               
              @@ -242,10 +242,10 @@
               
                   

              Value

              -

              a list, which prints in pretty format

              +

              a list, which prints in pretty format

              Details

              -

              For DSMZ, see ?microorganisms.

              +

              For DSMZ, see microorganisms.

              Catalogue of Life

              @@ -260,7 +260,7 @@ This package contains the complete taxonomic tree of almost all microorganisms (

              On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

              See also

              - +

              Examples

              library(dplyr)
              diff --git a/docs/reference/count.html b/docs/reference/count.html
              index e342195ef..22307f5ac 100644
              --- a/docs/reference/count.html
              +++ b/docs/reference/count.html
              @@ -6,7 +6,7 @@
               
               
               
              -Count isolates — count • AMR (for R)
              +Count available isolates — count • AMR (for R)
               
               
               
              @@ -50,8 +50,8 @@
                 
                 
               
              -
              -
              +
               
               
              @@ -86,7 +86,7 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
                     
                     
                       AMR (for R)
              -        0.8.0.9032
              +        0.8.0.9036
                     
                   
               
              @@ -229,14 +229,14 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
               
              -

              These functions can be used to count resistant/susceptible microbial isolates. All functions support quasiquotation with pipes, can be used in dplyrs summarise and support grouped variables, see Examples.

              -

              count_resistant() should be used to count resistant isolates, count_susceptible() should be used to count susceptible isolates.

              +

              These functions can be used to count resistant/susceptible microbial isolates. All functions support quasiquotation with pipes, can be used in summarise() and support grouped variables, see Examples.

              +

              count_resistant() should be used to count resistant isolates, count_susceptible() should be used to count susceptible isolates.

              count_resistant(..., only_all_tested = FALSE)
              @@ -257,31 +257,36 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
               
               n_rsi(..., only_all_tested = FALSE)
               
              -count_df(data, translate_ab = "name", language = get_locale(),
              -  combine_SI = TRUE, combine_IR = FALSE)
              +count_df( + data, + translate_ab = "name", + language = get_locale(), + combine_SI = TRUE, + combine_IR = FALSE +)

              Arguments

              col_mo

              column name of the IDs of the microorganisms (see as.mo), defaults to the first column of class mo. Values will be coerced using as.mo.

              column name of the IDs of the microorganisms (see as.mo()), defaults to the first column of class mo. Values will be coerced using as.mo().

              FUN

              the function to call on the mo column to transform the microorganism IDs, defaults to mo_shortname

              the function to call on the mo column to transform the microorganism IDs, defaults to mo_shortname()

              ...
              translate_ab

              a character of length 1 containing column names of the antibiotics data set

              a character of length 1 containing column names of the antibiotics data set

              language

              language of the returned text, defaults to system language (see get_locale) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

              language of the returned text, defaults to system language (see get_locale()) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

              minimum
              - + - + - + - + - + @@ -295,33 +300,30 @@ count_resistant() should be used to count resistant isolates, count_susceptible(

              Value

              -

              Integer

              +

              An integer

              Details

              -

              These functions are meant to count isolates. Use the resistance/susceptibility functions to calculate microbial resistance/susceptibility.

              +

              These functions are meant to count isolates. Use the resistance()/susceptibility() functions to calculate microbial resistance/susceptibility.

              The function count_resistant() is equal to the function count_R(). The function count_susceptible() is equal to the function count_SI().

              -

              The function n_rsi() is an alias of count_all(). They can be used to count all available isolates, i.e. where all input antibiotics have an available result (S, I or R). Their use is equal to n_distinct(). Their function is equal to count_susceptible(...) + count_resistant(...).

              -

              The function count_df() takes any variable from data that has an "rsi" class (created with as.rsi()) and counts the number of S's, I's and R's. The function rsi_df() works exactly like count_df(), but adds the percentage of S, I and R.

              +

              The function n_rsi() is an alias of count_all(). They can be used to count all available isolates, i.e. where all input antibiotics have an available result (S, I or R). Their use is equal to n_distinct(). Their function is equal to count_susceptible(...) + count_resistant(...).

              +

              The function count_df() takes any variable from data that has an rsi class (created with as.rsi()) and counts the number of S's, I's and R's. The function rsi_df() works exactly like count_df(), but adds the percentage of S, I and R.

              Interpretation of S, I and R

              -

              In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

              -
                +

                In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

                • S - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.

                • I - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.

                • R - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.

                Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.

                -

                This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

                +

                This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

                Combination therapy

                -

                When using more than one variable for ... (= combination therapy)), use only_all_tested to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how susceptibility works to calculate the %SI:

                -
                ---------------------------------------------------------------------
                +

                When using more than one variable for ... (= combination therapy)), use only_all_tested to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how susceptibility() works to calculate the %SI:

                --------------------------------------------------------------------
                                     only_all_tested = FALSE  only_all_tested = TRUE
                                     -----------------------  -----------------------
                  Drug A    Drug B   include as  include as   include as  include as
                @@ -339,11 +341,11 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
                 --------------------------------------------------------------------
                 
                -

                Please note that, in combination therapies, for only_all_tested = TRUE applies that:

                -    count_S()    +   count_I()    +   count_R()    = count_all()
                +

                Please note that, in combination therapies, for only_all_tested = TRUE applies that:

                    count_S()    +   count_I()    +   count_R()    = count_all()
                   proportion_S() + proportion_I() + proportion_R() = 1
                -

                and that, in combination therapies, for only_all_tested = FALSE applies that:

                -    count_S()    +   count_I()    +   count_R()    >= count_all()
                +
                + +

                and that, in combination therapies, for only_all_tested = FALSE applies that:

                    count_S()    +   count_I()    +   count_R()    >= count_all()
                   proportion_S() + proportion_I() + proportion_R() >= 1
                 
                @@ -355,7 +357,7 @@ count_resistant() should be used to count resistant isolates, count_susceptible(

                On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

                See also

                -

                proportion_* to calculate microbial resistance and susceptibility.

                +

                proportion_* to calculate microbial resistance and susceptibility.

                Examples

                # example_isolates is a data set available in the AMR package.
                diff --git a/docs/reference/eucast_rules.html b/docs/reference/eucast_rules.html
                index 48fafcd24..f4a2dbfff 100644
                --- a/docs/reference/eucast_rules.html
                +++ b/docs/reference/eucast_rules.html
                @@ -86,7 +86,7 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied
                       
                       
                         AMR (for R)
                -        0.8.0.9033
                +        0.8.0.9036
                       
                     
                 
                @@ -239,8 +239,14 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied
                 

                To improve the interpretation of the antibiogram before EUCAST rules are applied, some non-EUCAST rules are applied at default, see Details.

                -
                eucast_rules(x, col_mo = NULL, info = TRUE, rules = c("breakpoints",
                -  "expert", "other", "all"), verbose = FALSE, ...)
                +
                eucast_rules(
                +  x,
                +  col_mo = NULL,
                +  info = TRUE,
                +  rules = c("breakpoints", "expert", "other", "all"),
                +  verbose = FALSE,
                +  ...
                +)

                Arguments

              ...

              one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with as.rsi if needed.

              one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with as.rsi() if needed.

              only_all_tested

              (for combination therapies, i.e. using more than one variable for ...) a logical to indicate that isolates must be tested for all antibiotics, see section Combination therapy below

              (for combination therapies, i.e. using more than one variable for ...): a logical to indicate that isolates must be tested for all antibiotics, see section Combination therapy below

              data

              a data.frame containing columns with class rsi (see as.rsi)

              a data.frame containing columns with class rsi (see as.rsi())

              translate_ab

              a column name of the antibiotics data set to translate the antibiotic abbreviations to, using ab_property

              a column name of the antibiotics data set to translate the antibiotic abbreviations to, using ab_property()

              language

              language of the returned text, defaults to system language (see get_locale) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

              language of the returned text, defaults to system language (see get_locale()) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

              combine_SI
              @@ -251,7 +257,7 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied - + @@ -267,7 +273,7 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied - +
              col_mo

              column name of the IDs of the microorganisms (see as.mo), defaults to the first column of class mo. Values will be coerced using as.mo.

              column name of the IDs of the microorganisms (see as.mo()), defaults to the first column of class mo. Values will be coerced using as.mo().

              info
              ...

              column name of an antibiotic, see section Antibiotics

              column name of an antibiotic, please see section Antibiotics below

              @@ -276,20 +282,20 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied

              Value

              -

              The input of x, possibly with edited values of antibiotics. Or, if verbose = TRUE, a data.frame with all original and new values of the affected bug-drug combinations.

              +

              The input of x, possibly with edited values of antibiotics. Or, if verbose = TRUE, a data.frame with all original and new values of the affected bug-drug combinations.

              Details

              -

              Note: This function does not translate MIC values to RSI values. Use as.rsi for that.
              +

              Note: This function does not translate MIC values to RSI values. Use as.rsi() for that.
              Note: When ampicillin (AMP, J01CA01) is not available but amoxicillin (AMX, J01CA04) is, the latter will be used for all rules where there is a dependency on ampicillin. These drugs are interchangeable when it comes to expression of antimicrobial resistance.

              Before further processing, some non-EUCAST rules are applied to improve the efficacy of the EUCAST rules. These non-EUCAST rules, that are applied to all isolates, are:

              • Inherit amoxicillin (AMX) from ampicillin (AMP), where amoxicillin (AMX) is unavailable;

              • @@ -299,94 +305,96 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied
              • Set trimethoprim (TMP) = R where trimethoprim/sulfamethoxazole (SXT) = R;

              • Set amoxicillin/clavulanic acid (AMC) = S where amoxicillin (AMX) = S;

              • Set piperacillin/tazobactam (TZP) = S where piperacillin (PIP) = S;

              • -
              • Set trimethoprim/sulfamethoxazole (SXT) = S where trimethoprim (TMP) = S.

              • -

              To not use these rules, please use eucast_rules(..., rules = c("breakpoints", "expert")).

              +
            • Set trimethoprim/sulfamethoxazole (SXT) = S where trimethoprim (TMP) = S. +To not use these rules, please use eucast_rules(..., rules = c("breakpoints", "expert")).

            • +
            +

            The file containing all EUCAST rules is located here: https://gitlab.com/msberends/AMR/blob/master/data-raw/eucast_rules.tsv.

            Antibiotics

            -

            To define antibiotics column names, leave as it is to determine it automatically with guess_ab_col or input a text (case-insensitive), or use NULL to skip a column (e.g. TIC = NULL to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning.

            -

            The following antibiotics are used for the functions eucast_rules and mdro. These are shown below in the format 'antimicrobial ID: name (ATC code)', sorted by name:

            +

            To define antibiotics column names, leave as it is to determine it automatically with guess_ab_col() or input a text (case-insensitive), or use NULL to skip a column (e.g. TIC = NULL to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning.

            +

            The following antibiotics are used for the functions eucast_rules() and mdro(). These are shown below in the format 'antimicrobial ID: name (ATC code)', sorted by name:

            AMK: amikacin (J01GB06), - AMX: amoxicillin (J01CA04), - AMC: amoxicillin/clavulanic acid (J01CR02), - AMP: ampicillin (J01CA01), - SAM: ampicillin/sulbactam (J01CR01), - AZM: azithromycin (J01FA10), - AZL: azlocillin (J01CA09), - ATM: aztreonam (J01DF01), - CAP: capreomycin (J04AB30), - RID: cefaloridine (J01DB02), - CZO: cefazolin (J01DB04), - FEP: cefepime (J01DE01), - CTX: cefotaxime (J01DD01), - CTT: cefotetan (J01DC05), - FOX: cefoxitin (J01DC01), - CPT: ceftaroline (J01DI02), - CAZ: ceftazidime (J01DD02), - CRO: ceftriaxone (J01DD04), - CXM: cefuroxime (J01DC02), - CED: cephradine (J01DB09), - CHL: chloramphenicol (J01BA01), - CIP: ciprofloxacin (J01MA02), - CLR: clarithromycin (J01FA09), - CLI: clindamycin (J01FF01), - COL: colistin (J01XB01), - DAP: daptomycin (J01XX09), - DOR: doripenem (J01DH04), - DOX: doxycycline (J01AA02), - ETP: ertapenem (J01DH03), - ERY: erythromycin (J01FA01), - ETH: ethambutol (J04AK02), - FLC: flucloxacillin (J01CF05), - FOS: fosfomycin (J01XX01), - FUS: fusidic acid (J01XC01), - GAT: gatifloxacin (J01MA16), - GEN: gentamicin (J01GB03), - GEH: gentamicin-high (no ATC code), - IPM: imipenem (J01DH51), - INH: isoniazid (J04AC01), - KAN: kanamycin (J01GB04), - LVX: levofloxacin (J01MA12), - LIN: lincomycin (J01FF02), - LNZ: linezolid (J01XX08), - MEM: meropenem (J01DH02), - MTR: metronidazole (J01XD01), - MEZ: mezlocillin (J01CA10), - MNO: minocycline (J01AA08), - MFX: moxifloxacin (J01MA14), - NAL: nalidixic acid (J01MB02), - NEO: neomycin (J01GB05), - NET: netilmicin (J01GB07), - NIT: nitrofurantoin (J01XE01), - NOR: norfloxacin (J01MA06), - NOV: novobiocin (QJ01XX95), - OFX: ofloxacin (J01MA01), - OXA: oxacillin (J01CF04), - PEN: penicillin G (J01CE01), - PIP: piperacillin (J01CA12), - TZP: piperacillin/tazobactam (J01CR05), - PLB: polymyxin B (J01XB02), - PRI: pristinamycin (J01FG01), - PZA: pyrazinamide (J04AK01), - QDA: quinupristin/dalfopristin (J01FG02), - RIB: rifabutin (J04AB04), - RIF: rifampicin (J04AB02), - RFP: rifapentine (J04AB05), - RXT: roxithromycin (J01FA06), - SIS: sisomicin (J01GB08), - STH: streptomycin-high (no ATC code), - TEC: teicoplanin (J01XA02), - TLV: telavancin (J01XA03), - TCY: tetracycline (J01AA07), - TIC: ticarcillin (J01CA13), - TCC: ticarcillin/clavulanic acid (J01CR03), - TGC: tigecycline (J01AA12), - TOB: tobramycin (J01GB01), - TMP: trimethoprim (J01EA01), - SXT: trimethoprim/sulfamethoxazole (J01EE01), - VAN: vancomycin (J01XA01).

            +AMX: amoxicillin (J01CA04), +AMC: amoxicillin/clavulanic acid (J01CR02), +AMP: ampicillin (J01CA01), +SAM: ampicillin/sulbactam (J01CR01), +AZM: azithromycin (J01FA10), +AZL: azlocillin (J01CA09), +ATM: aztreonam (J01DF01), +CAP: capreomycin (J04AB30), +RID: cefaloridine (J01DB02), +CZO: cefazolin (J01DB04), +FEP: cefepime (J01DE01), +CTX: cefotaxime (J01DD01), +CTT: cefotetan (J01DC05), +FOX: cefoxitin (J01DC01), +CPT: ceftaroline (J01DI02), +CAZ: ceftazidime (J01DD02), +CRO: ceftriaxone (J01DD04), +CXM: cefuroxime (J01DC02), +CED: cephradine (J01DB09), +CHL: chloramphenicol (J01BA01), +CIP: ciprofloxacin (J01MA02), +CLR: clarithromycin (J01FA09), +CLI: clindamycin (J01FF01), +COL: colistin (J01XB01), +DAP: daptomycin (J01XX09), +DOR: doripenem (J01DH04), +DOX: doxycycline (J01AA02), +ETP: ertapenem (J01DH03), +ERY: erythromycin (J01FA01), +ETH: ethambutol (J04AK02), +FLC: flucloxacillin (J01CF05), +FOS: fosfomycin (J01XX01), +FUS: fusidic acid (J01XC01), +GAT: gatifloxacin (J01MA16), +GEN: gentamicin (J01GB03), +GEH: gentamicin-high (no ATC code), +IPM: imipenem (J01DH51), +INH: isoniazid (J04AC01), +KAN: kanamycin (J01GB04), +LVX: levofloxacin (J01MA12), +LIN: lincomycin (J01FF02), +LNZ: linezolid (J01XX08), +MEM: meropenem (J01DH02), +MTR: metronidazole (J01XD01), +MEZ: mezlocillin (J01CA10), +MNO: minocycline (J01AA08), +MFX: moxifloxacin (J01MA14), +NAL: nalidixic acid (J01MB02), +NEO: neomycin (J01GB05), +NET: netilmicin (J01GB07), +NIT: nitrofurantoin (J01XE01), +NOR: norfloxacin (J01MA06), +NOV: novobiocin (QJ01XX95), +OFX: ofloxacin (J01MA01), +OXA: oxacillin (J01CF04), +PEN: penicillin G (J01CE01), +PIP: piperacillin (J01CA12), +TZP: piperacillin/tazobactam (J01CR05), +PLB: polymyxin B (J01XB02), +PRI: pristinamycin (J01FG01), +PZA: pyrazinamide (J04AK01), +QDA: quinupristin/dalfopristin (J01FG02), +RIB: rifabutin (J04AB04), +RIF: rifampicin (J04AB02), +RFP: rifapentine (J04AB05), +RXT: roxithromycin (J01FA06), +SIS: sisomicin (J01GB08), +STH: streptomycin-high (no ATC code), +TEC: teicoplanin (J01XA02), +TLV: telavancin (J01XA03), +TCY: tetracycline (J01AA07), +TIC: ticarcillin (J01CA13), +TCC: ticarcillin/clavulanic acid (J01CR03), +TGC: tigecycline (J01AA12), +TOB: tobramycin (J01GB01), +TMP: trimethoprim (J01EA01), +SXT: trimethoprim/sulfamethoxazole (J01EE01), +VAN: vancomycin (J01XA01).

            Read more on our website!

            diff --git a/docs/reference/example_isolates.html b/docs/reference/example_isolates.html index 03917626e..5db020555 100644 --- a/docs/reference/example_isolates.html +++ b/docs/reference/example_isolates.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9033 + 0.8.0.9036 @@ -242,19 +242,18 @@

            Format

            -

            A data.frame with 2,000 observations and 49 variables:

            -
            date

            date of receipt at the laboratory

            -
            hospital_id

            ID of the hospital, from A to D

            -
            ward_icu

            logical to determine if ward is an intensive care unit

            -
            ward_clinical

            logical to determine if ward is a regular clinical ward

            -
            ward_outpatient

            logical to determine if ward is an outpatient clinic

            -
            age

            age of the patient

            -
            gender

            gender of the patient

            -
            patient_id

            ID of the patient

            -
            mo

            ID of microorganism created with as.mo, see also microorganisms

            -
            PEN:RIF

            40 different antibiotics with class rsi (see as.rsi); these column names occur in antibiotics data set and can be translated with ab_name

            - -
            +

            A data.frame with 2,000 observations and 49 variables:

              +
            • date
              date of receipt at the laboratory

            • +
            • hospital_id
              ID of the hospital, from A to D

            • +
            • ward_icu
              logical to determine if ward is an intensive care unit

            • +
            • ward_clinical
              logical to determine if ward is a regular clinical ward

            • +
            • ward_outpatient
              logical to determine if ward is an outpatient clinic

            • +
            • age
              age of the patient

            • +
            • gender
              gender of the patient

            • +
            • patient_id
              ID of the patient

            • +
            • mo
              ID of microorganism created with as.mo(), see also microorganisms

            • +
            • PEN:RIF
              40 different antibiotics with class rsi (see as.rsi()); these column names occur in antibiotics data set and can be translated with ab_name()

            • +

            Read more on our website!

            diff --git a/docs/reference/filter_ab_class.html b/docs/reference/filter_ab_class.html index 25359ca93..2fbb21bdf 100644 --- a/docs/reference/filter_ab_class.html +++ b/docs/reference/filter_ab_class.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -272,7 +272,7 @@ ab_class -

            an antimicrobial class, like "carbapenems", as can be found in AMR::antibiotics$group

            +

            an antimicrobial class, like "carbapenems", as can be found in AMR::antibiotics$group

            result @@ -290,7 +290,7 @@

            Details

            -

            The group column in antibiotics data set will be searched for ab_class (case-insensitive). If no results are found, the atc_group1 and atc_group2 columns will be searched. Next, x will be checked for column names with a value in any abbreviations, codes or official names found in the antibiotics data set.

            +

            The group column in antibiotics data set will be searched for ab_class (case-insensitive). If no results are found, the atc_group1 and atc_group2 columns will be searched. Next, x will be checked for column names with a value in any abbreviations, codes or official names found in the antibiotics data set.

            Examples

            library(dplyr)
            diff --git a/docs/reference/first_isolate.html b/docs/reference/first_isolate.html
            index 565ce03f6..405b293ad 100644
            --- a/docs/reference/first_isolate.html
            +++ b/docs/reference/first_isolate.html
            @@ -85,7 +85,7 @@
                   
                   
                     AMR (for R)
            -        0.8.0.9032
            +        0.8.0.9036
                   
                 
             
            @@ -237,26 +237,50 @@
                 

            Determine first (weighted) isolates of all microorganisms of every patient per episode and (if needed) per specimen type.

            -
            first_isolate(x, col_date = NULL, col_patient_id = NULL,
            -  col_mo = NULL, col_testcode = NULL, col_specimen = NULL,
            -  col_icu = NULL, col_keyantibiotics = NULL, episode_days = 365,
            -  testcodes_exclude = NULL, icu_exclude = FALSE,
            -  specimen_group = NULL, type = "keyantibiotics", ignore_I = TRUE,
            -  points_threshold = 2, info = TRUE, include_unknown = FALSE, ...)
            +    
            first_isolate(
            +  x,
            +  col_date = NULL,
            +  col_patient_id = NULL,
            +  col_mo = NULL,
            +  col_testcode = NULL,
            +  col_specimen = NULL,
            +  col_icu = NULL,
            +  col_keyantibiotics = NULL,
            +  episode_days = 365,
            +  testcodes_exclude = NULL,
            +  icu_exclude = FALSE,
            +  specimen_group = NULL,
            +  type = "keyantibiotics",
            +  ignore_I = TRUE,
            +  points_threshold = 2,
            +  info = TRUE,
            +  include_unknown = FALSE,
            +  ...
            +)
             
            -filter_first_isolate(x, col_date = NULL, col_patient_id = NULL,
            -  col_mo = NULL, ...)
            +filter_first_isolate(
            +  x,
            +  col_date = NULL,
            +  col_patient_id = NULL,
            +  col_mo = NULL,
            +  ...
            +)
             
            -filter_first_weighted_isolate(x, col_date = NULL,
            -  col_patient_id = NULL, col_mo = NULL, col_keyantibiotics = NULL,
            -  ...)
            +filter_first_weighted_isolate( + x, + col_date = NULL, + col_patient_id = NULL, + col_mo = NULL, + col_keyantibiotics = NULL, + ... +)

            Arguments

            - + @@ -268,7 +292,7 @@ - + @@ -284,7 +308,7 @@ - + @@ -324,28 +348,29 @@ - +
            x

            a data.frame containing isolates.

            a data.frame containing isolates.

            col_date
            col_mo

            column name of the IDs of the microorganisms (see as.mo), defaults to the first column of class mo. Values will be coerced using as.mo.

            column name of the IDs of the microorganisms (see as.mo()), defaults to the first column of class mo. Values will be coerced using as.mo().

            col_testcode
            col_keyantibiotics

            column name of the key antibiotics to determine first weighted isolates, see key_antibiotics. Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use col_keyantibiotics = FALSE to prevent this.

            column name of the key antibiotics to determine first weighted isolates, see key_antibiotics(). Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use col_keyantibiotics = FALSE to prevent this.

            episode_days
            ...

            parameters passed on to the first_isolate function

            parameters passed on to the first_isolate() function

            Source

            -

            Methodology of this function is based on: M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition, 2014, Clinical and Laboratory Standards Institute (CLSI). https://clsi.org/standards/products/microbiology/documents/m39/.

            +

            Methodology of this function is based on:

            +

            M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition, 2014, Clinical and Laboratory Standards Institute (CLSI). https://clsi.org/standards/products/microbiology/documents/m39/.

            Value

            -

            Logical vector

            +

            A logical vector

            Details

            WHY THIS IS SO IMPORTANT
            -To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode [1]. If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all S. aureus isolates would be overestimated, because you included this MRSA more than once. It would be selection bias.

            +To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode [1](https://www.ncbi.nlm.nih.gov/pubmed/17304462). If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all S. aureus isolates would be overestimated, because you included this MRSA more than once. It would be selection bias.

            All isolates with a microbial ID of NA will be excluded as first isolate.

            -

            The functions filter_first_isolate and filter_first_weighted_isolate are helper functions to quickly filter on first isolates. The function filter_first_isolate is essentially equal to:

            - x %>%
            +

            The functions filter_first_isolate() and filter_first_weighted_isolate() are helper functions to quickly filter on first isolates. The function filter_first_isolate() is essentially equal to:

             x %>%
                mutate(only_firsts = first_isolate(x, ...)) %>%
                filter(only_firsts == TRUE) %>%
                select(-only_firsts)
            -

            The function filter_first_weighted_isolate is essentially equal to:

            - x %>%
            +
            + +

            The function filter_first_weighted_isolate() is essentially equal to:

             x %>%
                mutate(keyab = key_antibiotics(.)) %>%
                mutate(only_weighted_firsts = first_isolate(x,
                                                            col_keyantibiotics = "keyab", ...)) %>%
            @@ -357,11 +382,13 @@ To conduct an analysis of antimicrobial resistance, you should only include the
             
                 
             
            -

            There are two ways to determine whether isolates can be included as first weighted isolates which will give generally the same results:

            -

            1. Using type = "keyantibiotics" and parameter ignore_I
            - Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With ignore_I = FALSE, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the key_antibiotics function.

            -

            2. Using type = "points" and parameter points_threshold
            - A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds points_threshold, which default to 2, an isolate will be (re)selected as a first weighted isolate.

            +

            There are two ways to determine whether isolates can be included as first weighted isolates which will give generally the same results:

              +
            1. Using type = "keyantibiotics" and parameter ignore_I

              +

              Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With ignore_I = FALSE, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the key_antibiotics() function.

            2. +
            3. Using type = "points" and parameter points_threshold

              +

              A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds points_threshold, which default to 2, an isolate will be (re)selected as a first weighted isolate.

            4. +
            +

            Read more on our website!

            @@ -369,7 +396,7 @@ To conduct an analysis of antimicrobial resistance, you should only include the

            On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

            See also

            - +

            Examples

            # `example_isolates` is a dataset available in the AMR package.
            diff --git a/docs/reference/g.test.html b/docs/reference/g.test.html
            index b3f4246ef..059034597 100644
            --- a/docs/reference/g.test.html
            +++ b/docs/reference/g.test.html
            @@ -51,7 +51,7 @@
               
             
             
            -
            +
             
             
             
            @@ -85,7 +85,7 @@
                   
                   
                     AMR (for R)
            -        0.8.0.9032
            +        0.8.0.9036
                   
                 
             
            @@ -234,11 +234,10 @@
                 
             
                 
            -

            g.test performs chi-squared contingency table tests and goodness-of-fit tests, just like chisq.test but is more reliable [1]. A G-test can be used to see whether the number of observations in each category fits a theoretical expectation (called a G-test of goodness-of-fit), or to see whether the proportions of one variable are different for different values of the other variable (called a G-test of independence).

            +

            g.test() performs chi-squared contingency table tests and goodness-of-fit tests, just like chisq.test() but is more reliable 1. A G-test can be used to see whether the number of observations in each category fits a theoretical expectation (called a G-test of goodness-of-fit), or to see whether the proportions of one variable are different for different values of the other variable (called a G-test of independence).

            -
            g.test(x, y = NULL, p = rep(1/length(x), length(x)),
            -  rescale.p = FALSE)
            +
            g.test(x, y = NULL, p = rep(1/length(x), length(x)), rescale.p = FALSE)

            Arguments

            @@ -268,8 +267,8 @@

            Source

            -

            This code is almost identical to chisq.test, except that:

              -
            • The calculation of the statistic was changed to 2 * sum(x * log(x / E))

            • +

              The code for this function is identical to that of chisq.test(), except that:

                +
              • The calculation of the statistic was changed to \(2 * sum(x * log(x / E))\)

              • Yates' continuity correction was removed as it does not apply to a G-test

              • The possibility to simulate p values with simulate.p.value was removed

              @@ -301,33 +300,33 @@

              If x is a matrix with at least two rows and columns, it is taken as a two-dimensional contingency table: the entries of x must be non-negative integers. Otherwise, x and y must be vectors or factors of the same length; cases with missing values are removed, the objects are coerced to factors, and the contingency table is computed from these. Then Pearson's chi-squared test is performed of the null hypothesis that the joint distribution of the cell counts in a 2-dimensional contingency table is the product of the row and column marginals.

              The p-value is computed from the asymptotic chi-squared distribution of the test statistic.

              In the contingency table case simulation is done by random sampling from the set of all contingency tables with given marginals, and works only if the marginals are strictly positive. Note that this is not the usual sampling situation assumed for a chi-squared test (like the G-test) but rather that for Fisher's exact test.

              -

              In the goodness-of-fit case simulation is done by random sampling from the discrete distribution specified by p, each sample being of size n = sum(x). This simulation is done in R and may be slow.

              -

              G-test of goodness-of-fit (likelihood ratio test)

              +

              In the goodness-of-fit case simulation is done by random sampling from the discrete distribution specified by p, each sample being of size n = sum(x). This simulation is done in R and may be slow.

              G-test of goodness-of-fit (likelihood ratio test)

              -

              Use the G-test of goodness-of-fit when you have one nominal variable with two or more values (such as male and female, or red, pink and white flowers). You compare the observed counts of numbers of observations in each category with the expected counts, which you calculate using some kind of theoretical expectation (such as a 1:1 sex ratio or a 1:2:1 ratio in a genetic cross).

              -

              If the expected number of observations in any category is too small, the G-test may give inaccurate results, and you should use an exact test instead (fisher.test).

              -

              The G-test of goodness-of-fit is an alternative to the chi-square test of goodness-of-fit (chisq.test); each of these tests has some advantages and some disadvantages, and the results of the two tests are usually very similar.

              -

              G-test of independence

              +

              If the expected number of observations in any category is too small, the G-test may give inaccurate results, and you should use an exact test instead (fisher.test()).

              +

              The G-test of goodness-of-fit is an alternative to the chi-square test of goodness-of-fit (chisq.test()); each of these tests has some advantages and some disadvantages, and the results of the two tests are usually very similar.

              + +

              G-test of independence

              -

              Use the G-test of independence when you have two nominal variables, each with two or more possible values. You want to know whether the proportions for one variable are different among values of the other variable.

              It is also possible to do a G-test of independence with more than two nominal variables. For example, Jackson et al. (2013) also had data for children under 3, so you could do an analysis of old vs. young, thigh vs. arm, and reaction vs. no reaction, all analyzed together.

              -

              Fisher's exact test (fisher.test) is an exact test, where the G-test is still only an approximation. For any 2x2 table, Fisher's Exact test may be slower but will still run in seconds, even if the sum of your observations is multiple millions.

              -

              The G-test of independence is an alternative to the chi-square test of independence (chisq.test), and they will give approximately the same results.

              -

              How the test works

              +

              Fisher's exact test (fisher.test()) is an exact test, where the G-test is still only an approximation. For any 2x2 table, Fisher's Exact test may be slower but will still run in seconds, even if the sum of your observations is multiple millions.

              +

              The G-test of independence is an alternative to the chi-square test of independence (chisq.test()), and they will give approximately the same results.

              - +

              How the test works

              -

              Unlike the exact test of goodness-of-fit (fisher.test), the G-test does not directly calculate the probability of obtaining the observed results or something more extreme. Instead, like almost all statistical tests, the G-test has an intermediate step; it uses the data to calculate a test statistic that measures how far the observed data are from the null expectation. You then use a mathematical relationship, in this case the chi-square distribution, to estimate the probability of obtaining that value of the test statistic.

              + +

              Unlike the exact test of goodness-of-fit (fisher.test()), the G-test does not directly calculate the probability of obtaining the observed results or something more extreme. Instead, like almost all statistical tests, the G-test has an intermediate step; it uses the data to calculate a test statistic that measures how far the observed data are from the null expectation. You then use a mathematical relationship, in this case the chi-square distribution, to estimate the probability of obtaining that value of the test statistic.

              The G-test uses the log of the ratio of two likelihoods as the test statistic, which is why it is also called a likelihood ratio test or log-likelihood ratio test. The formula to calculate a G-statistic is:

              -

              G <- 2 * sum(x * log(x / E))

              -

              where E are the expected values. Since this is chi-square distributed, the p value can be calculated with:

              -

              p <- stats::pchisq(G, df, lower.tail = FALSE)

              +

              \(G = 2 * sum(x * log(x / E))\)

              +

              where E are the expected values. Since this is chi-square distributed, the p value can be calculated in R with:

              p <- stats::pchisq(G, df, lower.tail = FALSE)
              +
              +

              where df are the degrees of freedom.

              If there are more than two categories and you want to find out which ones are significantly different from their null expectation, you can use the same method of testing each category vs. the sum of all categories, with the Bonferroni correction. You use G-tests for each category, of course.

              +

              Read more on our website!

              @@ -335,10 +334,10 @@

              On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

              References

              -

              [1] McDonald, J.H. 2014. Handbook of Biological Statistics (3rd ed.). Sparky House Publishing, Baltimore, Maryland. http://www.biostathandbook.com/gtestgof.html.

              +

              1 McDonald, J.H. 2014. Handbook of Biological Statistics (3rd ed.). Sparky House Publishing, Baltimore, Maryland. http://www.biostathandbook.com/gtestgof.html.

              See also

              - +

              Examples

              # = EXAMPLE 1 =
              @@ -380,9 +379,6 @@
                     
            • Source
            • Value
            • Details
            • -
            • G-test of goodness-of-fit (likelihood ratio test)
            • -
            • G-test of independence
            • -
            • How the test works
            • Read more on our website!
            • References
            • See also
            • diff --git a/docs/reference/ggplot_rsi.html b/docs/reference/ggplot_rsi.html index fb78880db..60b7ff6c3 100644 --- a/docs/reference/ggplot_rsi.html +++ b/docs/reference/ggplot_rsi.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -234,43 +234,73 @@
              -

              Use these functions to create bar plots for antimicrobial resistance analysis. All functions rely on internal ggplot2 functions.

              +

              Use these functions to create bar plots for antimicrobial resistance analysis. All functions rely on internal ggplot2 functions.

              -
              ggplot_rsi(data, position = NULL, x = "antibiotic",
              -  fill = "interpretation", facet = NULL, breaks = seq(0, 1, 0.1),
              -  limits = NULL, translate_ab = "name", combine_SI = TRUE,
              -  combine_IR = FALSE, language = get_locale(), nrow = NULL,
              -  colours = c(S = "#61a8ff", SI = "#61a8ff", I = "#61f7ff", IR =
              -  "#ff6961", R = "#ff6961"), datalabels = TRUE, datalabels.size = 2.5,
              -  datalabels.colour = "gray15", title = NULL, subtitle = NULL,
              -  caption = NULL, x.title = "Antimicrobial", y.title = "Proportion",
              -  ...)
              +    
              ggplot_rsi(
              +  data,
              +  position = NULL,
              +  x = "antibiotic",
              +  fill = "interpretation",
              +  facet = NULL,
              +  breaks = seq(0, 1, 0.1),
              +  limits = NULL,
              +  translate_ab = "name",
              +  combine_SI = TRUE,
              +  combine_IR = FALSE,
              +  language = get_locale(),
              +  nrow = NULL,
              +  colours = c(S = "#61a8ff", SI = "#61a8ff", I = "#61f7ff", IR = "#ff6961", R =
              +    "#ff6961"),
              +  datalabels = TRUE,
              +  datalabels.size = 2.5,
              +  datalabels.colour = "gray15",
              +  title = NULL,
              +  subtitle = NULL,
              +  caption = NULL,
              +  x.title = "Antimicrobial",
              +  y.title = "Proportion",
              +  ...
              +)
               
              -geom_rsi(position = NULL, x = c("antibiotic", "interpretation"),
              -  fill = "interpretation", translate_ab = "name",
              -  language = get_locale(), combine_SI = TRUE, combine_IR = FALSE,
              -  ...)
              +geom_rsi(
              +  position = NULL,
              +  x = c("antibiotic", "interpretation"),
              +  fill = "interpretation",
              +  translate_ab = "name",
              +  language = get_locale(),
              +  combine_SI = TRUE,
              +  combine_IR = FALSE,
              +  ...
              +)
               
               facet_rsi(facet = c("interpretation", "antibiotic"), nrow = NULL)
               
               scale_y_percent(breaks = seq(0, 1, 0.1), limits = NULL)
               
              -scale_rsi_colours(colours = c(S = "#61a8ff", SI = "#61a8ff", I =
              -  "#61f7ff", IR = "#ff6961", R = "#ff6961"))
              +scale_rsi_colours(
              +  colours = c(S = "#61a8ff", SI = "#61a8ff", I = "#61f7ff", IR = "#ff6961", R =
              +    "#ff6961")
              +)
               
               theme_rsi()
               
              -labels_rsi_count(position = NULL, x = "antibiotic",
              -  translate_ab = "name", combine_SI = TRUE, combine_IR = FALSE,
              -  datalabels.size = 3, datalabels.colour = "gray15")
              +labels_rsi_count( + position = NULL, + x = "antibiotic", + translate_ab = "name", + combine_SI = TRUE, + combine_IR = FALSE, + datalabels.size = 3, + datalabels.colour = "gray15" +)

              Arguments

            - + @@ -298,7 +328,7 @@ - + @@ -310,7 +340,7 @@ - + @@ -318,11 +348,11 @@ - + - + @@ -354,21 +384,23 @@ - +
            data

            a data.frame with column(s) of class "rsi" (see as.rsi)

            a data.frame with column(s) of class rsi (see as.rsi())

            position
            translate_ab

            a column name of the antibiotics data set to translate the antibiotic abbreviations to, using ab_property

            a column name of the antibiotics data set to translate the antibiotic abbreviations to, using ab_property()

            combine_SI
            language

            language of the returned text, defaults to system language (see get_locale) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

            language of the returned text, defaults to system language (see get_locale()) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

            nrow
            colours

            a named vector with colours for the bars. The names must be one or more of: S, SI, I, IR, R or be FALSE to use default ggplot2 colours.

            a named vector with colours for the bars. The names must be one or more of: S, SI, I, IR, R or be FALSE to use default [ggplot2][ggplot2::ggplot() colours.

            datalabels

            show datalabels using labels_rsi_count

            show datalabels using labels_rsi_count()

            datalabels.size
            ...

            other parameters passed on to geom_rsi

            other parameters passed on to geom_rsi()

            Details

            -

            At default, the names of antibiotics will be shown on the plots using ab_name. This can be set with the translate_ab parameter. See count_df.

            -

            The functions
            -geom_rsi will take any variable from the data that has an rsi class (created with as.rsi) using rsi_df and will plot bars with the percentage R, I and S. The default behaviour is to have the bars stacked and to have the different antibiotics on the x axis.

            -

            facet_rsi creates 2d plots (at default based on S/I/R) using facet_wrap.

            -

            scale_y_percent transforms the y axis to a 0 to 100% range using scale_continuous.

            -

            scale_rsi_colours sets colours to the bars: pastel blue for S, pastel turquoise for I and pastel red for R, using scale_brewer.

            -

            theme_rsi is a ggplot theme with minimal distraction.

            -

            labels_rsi_count print datalabels on the bars with percentage and amount of isolates using geom_text

            -

            ggplot_rsi is a wrapper around all above functions that uses data as first input. This makes it possible to use this function after a pipe (%>%). See Examples.

            +

            At default, the names of antibiotics will be shown on the plots using ab_name(). This can be set with the translate_ab parameter. See count_df().

            The functions

            + + +

            geom_rsi() will take any variable from the data that has an rsi class (created with as.rsi()) using rsi_df() and will plot bars with the percentage R, I and S. The default behaviour is to have the bars stacked and to have the different antibiotics on the x axis.

            +

            facet_rsi() creates 2d plots (at default based on S/I/R) using ggplot2::facet_wrap().

            +

            scale_y_percent() transforms the y axis to a 0 to 100% range using ggplot2::scale_continuous().

            +

            scale_rsi_colours() sets colours to the bars: pastel blue for S, pastel turquoise for I and pastel red for R, using ggplot2::scale_brewer().

            +

            theme_rsi() is a [ggplot2 theme][ggplot2::theme() with minimal distraction.

            +

            labels_rsi_count() print datalabels on the bars with percentage and amount of isolates using ggplot2::geom_text()

            +

            ggplot_rsi() is a wrapper around all above functions that uses data as first input. This makes it possible to use this function after a pipe (%>%). See Examples.

            +

            Read more on our website!

            diff --git a/docs/reference/guess_ab_col.html b/docs/reference/guess_ab_col.html index ed78a93a0..4a279f99d 100644 --- a/docs/reference/guess_ab_col.html +++ b/docs/reference/guess_ab_col.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -234,7 +234,7 @@
            -

            This tries to find a column name in a data set based on information from the antibiotics data set. Also supports WHONET abbreviations.

            +

            This tries to find a column name in a data set based on information from the antibiotics data set. Also supports WHONET abbreviations.

            guess_ab_col(x = NULL, search_string = NULL, verbose = FALSE)
            @@ -244,11 +244,11 @@ x -

            a data.frame

            +

            a data.frame

            search_string -

            a text to search x for, will be checked with as.ab if this value is not a column in x

            +

            a text to search x for, will be checked with as.ab() if this value is not a column in x

            verbose @@ -261,7 +261,7 @@

            A column name of x, or NULL when no result is found.

            Details

            -

            You can look for an antibiotic (trade) name or abbreviation and it will search x and the antibiotics data set for any column containing a name or code of that antibiotic. Longer columns names take precendence over shorter column names.

            +

            You can look for an antibiotic (trade) name or abbreviation and it will search x and the antibiotics data set for any column containing a name or code of that antibiotic. Longer columns names take precendence over shorter column names.

            Read more on our website!

            diff --git a/docs/reference/index.html b/docs/reference/index.html index c5cb42912..5de7a7bbc 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -84,7 +84,7 @@ AMR (for R) - 0.8.0.9035 + 0.8.0.9036 @@ -348,7 +348,7 @@

            inner_join_microorganisms() left_join_microorganisms() right_join_microorganisms() full_join_microorganisms() semi_join_microorganisms() anti_join_microorganisms()

            -

            Join a table with microorganisms

            +

            Join a table with microorganisms

            @@ -372,7 +372,7 @@

            p_symbol()

            -

            Symbol of a p value

            +

            Symbol of a p-value

            @@ -398,7 +398,7 @@

            count_resistant() count_susceptible() count_R() count_IR() count_I() count_SI() count_S() count_all() n_rsi() count_df()

            -

            Count isolates

            +

            Count available isolates

            @@ -560,7 +560,7 @@ -

            p.symbol() portion_R() portion_IR() portion_I() portion_SI() portion_S()

            +

            p.symbol() portion_R() portion_IR() portion_I() portion_SI() portion_S() portion_df()

            Deprecated functions

            diff --git a/docs/reference/join.html b/docs/reference/join.html index b27f061ef..ac2c22d1c 100644 --- a/docs/reference/join.html +++ b/docs/reference/join.html @@ -6,7 +6,7 @@ -Join a table with <code>microorganisms</code> — join • AMR (for R) +Join a table with <a href='microorganisms.html'>microorganisms</a> — join • AMR (for R) @@ -50,8 +50,8 @@ - - + + @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -228,13 +228,13 @@
            -

            Join the dataset microorganisms easily to an existing table or character vector.

            +

            Join the data set microorganisms easily to an existing table or character vector.

            inner_join_microorganisms(x, by = NULL, suffix = c("2", ""), ...)
            @@ -258,7 +258,7 @@
                 
                 
                   by
            -      

            a variable to join by - if left empty will search for a column with class mo (created with as.mo) or will be "mo" if that column name exists in x, could otherwise be a column name of x with values that exist in microorganisms$mo (like by = "bacteria_id"), or another column in microorganisms (but then it should be named, like by = c("my_genus_species" = "fullname"))

            +

            a variable to join by - if left empty will search for a column with class mo (created with as.mo()) or will be "mo" if that column name exists in x, could otherwise be a column name of x with values that exist in microorganisms$mo (like by = "bacteria_id"), or another column in microorganisms (but then it should be named, like by = c("my_genus_species" = "fullname"))

            suffix @@ -266,13 +266,13 @@ ... -

            other parameters to pass on to dplyr::join.

            +

            other parameters to pass on to dplyr::join()

            Details

            -

            Note: As opposed to the join functions of dplyr, characters vectors are supported and at default existing columns will get a suffix "2" and the newly joined columns will not get a suffix. See join for more information.

            +

            Note: As opposed to the dplyr::join() functions of dplyr, characters vectors are supported and at default existing columns will get a suffix "2" and the newly joined columns will not get a suffix. See dplyr::join() for more information.

            Read more on our website!

            diff --git a/docs/reference/key_antibiotics.html b/docs/reference/key_antibiotics.html index f79575eab..ca78ccffe 100644 --- a/docs/reference/key_antibiotics.html +++ b/docs/reference/key_antibiotics.html @@ -51,7 +51,7 @@ - + @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036
            @@ -234,28 +234,42 @@
            -

            These function can be used to determine first isolates (see first_isolate). Using key antibiotics to determine first isolates is more reliable than without key antibiotics. These selected isolates will then be called first weighted isolates.

            +

            These function can be used to determine first isolates (see first_isolate()). Using key antibiotics to determine first isolates is more reliable than without key antibiotics. These selected isolates will then be called first weighted isolates.

            -
            key_antibiotics(x, col_mo = NULL, universal_1 = guess_ab_col(x,
            -  "amoxicillin"), universal_2 = guess_ab_col(x,
            -  "amoxicillin/clavulanic acid"), universal_3 = guess_ab_col(x,
            -  "cefuroxime"), universal_4 = guess_ab_col(x,
            -  "piperacillin/tazobactam"), universal_5 = guess_ab_col(x,
            -  "ciprofloxacin"), universal_6 = guess_ab_col(x,
            -  "trimethoprim/sulfamethoxazole"), GramPos_1 = guess_ab_col(x,
            -  "vancomycin"), GramPos_2 = guess_ab_col(x, "teicoplanin"),
            +    
            key_antibiotics(
            +  x,
            +  col_mo = NULL,
            +  universal_1 = guess_ab_col(x, "amoxicillin"),
            +  universal_2 = guess_ab_col(x, "amoxicillin/clavulanic acid"),
            +  universal_3 = guess_ab_col(x, "cefuroxime"),
            +  universal_4 = guess_ab_col(x, "piperacillin/tazobactam"),
            +  universal_5 = guess_ab_col(x, "ciprofloxacin"),
            +  universal_6 = guess_ab_col(x, "trimethoprim/sulfamethoxazole"),
            +  GramPos_1 = guess_ab_col(x, "vancomycin"),
            +  GramPos_2 = guess_ab_col(x, "teicoplanin"),
               GramPos_3 = guess_ab_col(x, "tetracycline"),
               GramPos_4 = guess_ab_col(x, "erythromycin"),
            -  GramPos_5 = guess_ab_col(x, "oxacillin"), GramPos_6 = guess_ab_col(x,
            -  "rifampin"), GramNeg_1 = guess_ab_col(x, "gentamicin"),
            +  GramPos_5 = guess_ab_col(x, "oxacillin"),
            +  GramPos_6 = guess_ab_col(x, "rifampin"),
            +  GramNeg_1 = guess_ab_col(x, "gentamicin"),
               GramNeg_2 = guess_ab_col(x, "tobramycin"),
            -  GramNeg_3 = guess_ab_col(x, "colistin"), GramNeg_4 = guess_ab_col(x,
            -  "cefotaxime"), GramNeg_5 = guess_ab_col(x, "ceftazidime"),
            -  GramNeg_6 = guess_ab_col(x, "meropenem"), warnings = TRUE, ...)
            +  GramNeg_3 = guess_ab_col(x, "colistin"),
            +  GramNeg_4 = guess_ab_col(x, "cefotaxime"),
            +  GramNeg_5 = guess_ab_col(x, "ceftazidime"),
            +  GramNeg_6 = guess_ab_col(x, "meropenem"),
            +  warnings = TRUE,
            +  ...
            +)
             
            -key_antibiotics_equal(y, z, type = c("keyantibiotics", "points"),
            -  ignore_I = TRUE, points_threshold = 2, info = FALSE)
            +key_antibiotics_equal( + y, + z, + type = c("keyantibiotics", "points"), + ignore_I = TRUE, + points_threshold = 2, + info = FALSE +)

            Arguments

            @@ -266,19 +280,19 @@ - + - + - + - + @@ -312,22 +326,49 @@

            Details

            -

            The function key_antibiotics returns a character vector with 12 antibiotic results for every isolate. These isolates can then be compared using key_antibiotics_equal, to check if two isolates have generally the same antibiogram. Missing and invalid values are replaced with a dot ("."). The first_isolate function only uses this function on the same microbial species from the same patient. Using this, an MRSA will be included after a susceptible S. aureus (MSSA) found within the same episode (see episode parameter of first_isolate). Without key antibiotic comparison it would not.

            -

            At default, the antibiotics that are used for Gram-positive bacteria are:
            - amoxicillin, amoxicillin/clavulanic acid, cefuroxime, piperacillin/tazobactam, ciprofloxacin, trimethoprim/sulfamethoxazole (until here is universal), vancomycin, teicoplanin, tetracycline, erythromycin, oxacillin, rifampin.

            -

            At default, the antibiotics that are used for Gram-negative bacteria are:
            - amoxicillin, amoxicillin/clavulanic acid, cefuroxime, piperacillin/tazobactam, ciprofloxacin, trimethoprim/sulfamethoxazole (until here is universal), gentamicin, tobramycin, colistin, cefotaxime, ceftazidime, meropenem.

            +

            The function key_antibiotics() returns a character vector with 12 antibiotic results for every isolate. These isolates can then be compared using key_antibiotics_equal(), to check if two isolates have generally the same antibiogram. Missing and invalid values are replaced with a dot ("."). The first_isolate() function only uses this function on the same microbial species from the same patient. Using this, an MRSA will be included after a susceptible S. aureus (MSSA) found within the same episode (see episode parameter of first_isolate()). Without key antibiotic comparison it would not.

            +

            At default, the antibiotics that are used for Gram-positive bacteria are:

              +
            • Amoxicillin

            • +
            • Amoxicillin/clavulanic acid

            • +
            • Cefuroxime

            • +
            • Piperacillin/tazobactam

            • +
            • Ciprofloxacin

            • +
            • Trimethoprim/sulfamethoxazole

            • +
            • Vancomycin

            • +
            • Teicoplanin

            • +
            • Tetracycline

            • +
            • Erythromycin

            • +
            • Oxacillin

            • +
            • Rifampin

            • +
            -

            The function key_antibiotics_equal checks the characters returned by key_antibiotics for equality, and returns a logical vector.

            +

            At default the antibiotics that are used for Gram-negative bacteria are:

              +
            • Amoxicillin

            • +
            • Amoxicillin/clavulanic acid

            • +
            • Cefuroxime

            • +
            • Piperacillin/tazobactam

            • +
            • Ciprofloxacin

            • +
            • Trimethoprim/sulfamethoxazole

            • +
            • Gentamicin

            • +
            • Tobramycin

            • +
            • Colistin

            • +
            • Cefotaxime

            • +
            • Ceftazidime

            • +
            • Meropenem

            • +
            + +

            The function key_antibiotics_equal() checks the characters returned by key_antibiotics() for equality, and returns a logical vector.

            Key antibiotics

            -

            There are two ways to determine whether isolates can be included as first weighted isolates which will give generally the same results:

            -

            1. Using type = "keyantibiotics" and parameter ignore_I
            - Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With ignore_I = FALSE, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the key_antibiotics function.

            -

            2. Using type = "points" and parameter points_threshold
            - A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds points_threshold, which default to 2, an isolate will be (re)selected as a first weighted isolate.

            +

            There are two ways to determine whether isolates can be included as first weighted isolates which will give generally the same results:

              +
            1. Using type = "keyantibiotics" and parameter ignore_I

              +

              Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With ignore_I = FALSE, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the key_antibiotics() function.

            2. +
            3. Using type = "points" and parameter points_threshold

              +

              A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds points_threshold, which default to 2, an isolate will be (re)selected as a first weighted isolate.

            4. +
            +

            Read more on our website!

            @@ -335,7 +376,7 @@

            On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

            See also

            - +

            Examples

            # `example_isolates` is a dataset available in the AMR package.
            diff --git a/docs/reference/kurtosis.html b/docs/reference/kurtosis.html
            index 29b192872..68b766cc0 100644
            --- a/docs/reference/kurtosis.html
            +++ b/docs/reference/kurtosis.html
            @@ -85,7 +85,7 @@
                   
                   
                     AMR (for R)
            -        0.8.0.9032
            +        0.8.0.9036
                   
                 
             
            @@ -253,7 +253,7 @@
                 
            - + @@ -268,7 +268,7 @@

            On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

            See also

            - + @@ -234,7 +234,7 @@
            -

            Convenient wrapper around grep to match a pattern: a %like% b. It always returns a logical vector and is always case-insensitive (use a %like_case% b for case-sensitive matching). Also, pattern (b) can be as long as x (a) to compare items of each index in both vectors, or can both have the same length to iterate over all cases.

            +

            Convenient wrapper around base::grep() to match a pattern: a %like% b. It always returns a logical vector and is always case-insensitive (use a %like_case% b for case-sensitive matching). Also, pattern (b) can be as long as x (a) to compare items of each index in both vectors, or can both have the same length to iterate over all cases.

            like(x, pattern, ignore.case = TRUE)
            @@ -274,10 +274,10 @@
                 

            Idea from the like function from the data.table package, but made it case insensitive at default and let it support multiple patterns. Also, if the regex fails the first time, it tries again with perl = TRUE.

            Value

            -

            A logical vector

            +

            A logical vector

            Details

            -

            Using RStudio? This function can also be inserted from the Addins menu and can have its own Keyboard Shortcut like Ctrl+Shift+L or Cmd+Shift+L (see Tools > Modify Keyboard Shortcuts...).

            +

            Using RStudio? This function can also be inserted from the Addins menu and can have its own Keyboard Shortcut like Ctrl+Shift+L or Cmd+Shift+L (see Tools > Modify Keyboard Shortcuts...).

            Read more on our website!

            @@ -285,7 +285,7 @@

            On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

            See also

            - +

            Examples

            # simple test
            diff --git a/docs/reference/mdro.html b/docs/reference/mdro.html
            index f1d5c40dc..a36960441 100644
            --- a/docs/reference/mdro.html
            +++ b/docs/reference/mdro.html
            @@ -85,7 +85,7 @@
                   
                   
                     AMR (for R)
            -        0.8.0.9033
            +        0.8.0.9036
                   
                 
             
            @@ -237,9 +237,16 @@
                 

            Determine which isolates are multidrug-resistant organisms (MDRO) according to international and national guidelines.

            -
            mdro(x, guideline = NULL, col_mo = NULL, info = TRUE,
            -  pct_required_classes = 0.5, combine_SI = TRUE, verbose = FALSE,
            -  ...)
            +    
            mdro(
            +  x,
            +  guideline = "CMI2012",
            +  col_mo = NULL,
            +  info = TRUE,
            +  pct_required_classes = 0.5,
            +  combine_SI = TRUE,
            +  verbose = FALSE,
            +  ...
            +)
             
             brmo(x, guideline = "BRMO", ...)
             
            @@ -260,15 +267,15 @@
                 
            - + - + - + @@ -284,32 +291,41 @@ - +
            col_mo

            column name of the IDs of the microorganisms (see as.mo), defaults to the first column of class mo. Values will be coerced using as.mo.

            column name of the IDs of the microorganisms (see as.mo()), defaults to the first column of class mo. Values will be coerced using as.mo().

            universal_1, universal_2, universal_3, universal_4, universal_5, universal_6

            column names of broad-spectrum antibiotics, case-insensitive. At default, the columns containing these antibiotics will be guessed with guess_ab_col.

            column names of broad-spectrum antibiotics, case-insensitive. At default, the columns containing these antibiotics will be guessed with guess_ab_col().

            GramPos_1, GramPos_2, GramPos_3, GramPos_4, GramPos_5, GramPos_6

            column names of antibiotics for Gram-positives, case-insensitive. At default, the columns containing these antibiotics will be guessed with guess_ab_col.

            column names of antibiotics for Gram-positives, case-insensitive. At default, the columns containing these antibiotics will be guessed with guess_ab_col().

            GramNeg_1, GramNeg_2, GramNeg_3, GramNeg_4, GramNeg_5, GramNeg_6

            column names of antibiotics for Gram-negatives, case-insensitive. At default, the columns containing these antibiotics will be guessed with guess_ab_col.

            column names of antibiotics for Gram-negatives, case-insensitive. At default, the columns containing these antibiotics will be guessed with guess_ab_col().

            warnings
            x

            a vector of values, a matrix or a data frame

            a vector of values, a matrix or a data frame

            na.rm
            guideline

            a specific guideline to follow. When left empty, the publication by Magiorakos et al. (2012, Clinical Microbiology and Infection) will be followed, see Details.

            a specific guideline to follow. When left empty, the publication by Magiorakos et al. (2012, Clinical Microbiology and Infection) will be followed, please see Details.

            col_mo

            column name of the IDs of the microorganisms (see as.mo), defaults to the first column of class mo. Values will be coerced using as.mo.

            column name of the IDs of the microorganisms (see as.mo()), defaults to the first column of class mo. Values will be coerced using as.mo().

            info

            print progress

            a logical to indicate whether progress should be printed to the console

            pct_required_classes
            ...

            column name of an antibiotic, see section Antibiotics

            column name of an antibiotic, please see section Antibiotics below

            Source

            -

            Please see Details for the list of publications used for this function.

            +

            Please see Details for the list of publications used for this function.

            Value

              -
            • CMI 2012 paper - function mdr_cmi2012() or mdro():
              Ordered factor with levels Negative < Multi-drug-resistant (MDR) < Extensively drug-resistant (XDR) < Pandrug-resistant (PDR)

            • -
            • TB guideline - function mdr_tb() or mdro(..., guideline = "TB"):
              Ordered factor with levels Negative < Mono-resistant < Poly-resistant < Multi-drug-resistant < Extensively drug-resistant

            • -
            • German guideline - function mrgn() or mdro(..., guideline = "MRGN"):
              Ordered factor with levels Negative < 3MRGN < 4MRGN

            • -
            • Everything else:
              Ordered factor with levels Negative < Positive, unconfirmed < Positive. The value "Positive, unconfirmed" means that, according to the guideline, it is not entirely sure if the isolate is multi-drug resistant and this should be confirmed with additional (e.g. molecular) tests

            • +
            • CMI 2012 paper - function mdr_cmi2012() or mdro():
              +Ordered factor with levels Negative < Multi-drug-resistant (MDR) < Extensively drug-resistant (XDR) < Pandrug-resistant (PDR)

            • +
            • TB guideline - function mdr_tb() or mdro(..., guideline = "TB"):
              +Ordered factor with levels Negative < Mono-resistant < Poly-resistant < Multi-drug-resistant < Extensively drug-resistant

            • +
            • German guideline - function mrgn() or mdro(..., guideline = "MRGN"):
              +Ordered factor with levels Negative < 3MRGN < 4MRGN

            • +
            • Everything else:
              +Ordered factor with levels Negative < Positive, unconfirmed < Positive. The value "Positive, unconfirmed" means that, according to the guideline, it is not entirely sure if the isolate is multi-drug resistant and this should be confirmed with additional (e.g. molecular) tests

            Details

            For the pct_required_classes argument, values above 1 will be divided by 100. This is to support both fractions (0.75 or 3/4) and percentages (75).

            Currently supported guidelines are (case-insensitive):

              -
            • guideline = "CMI2012": Magiorakos AP, Srinivasan A et al. "Multidrug-resistant, extensively drug-resistant and pandrug-resistant bacteria: an international expert proposal for interim standard definitions for acquired resistance." Clinical Microbiology and Infection (2012) (link)

            • -
            • guideline = "EUCAST": The European international guideline - EUCAST Expert Rules Version 3.1 "Intrinsic Resistance and Exceptional Phenotypes Tables" (link)

            • -
            • guideline = "TB": The international guideline for multi-drug resistant tuberculosis - World Health Organization "Companion handbook to the WHO guidelines for the programmatic management of drug-resistant tuberculosis" (link)

            • -
            • guideline = "MRGN": The German national guideline - Mueller et al. (2015) Antimicrobial Resistance and Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6

            • -
            • guideline = "BRMO": The Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu "WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) [ZKH]" (link)

            • +
            • guideline = "CMI2012"
              +Magiorakos AP, Srinivasan A et al. "Multidrug-resistant, extensively drug-resistant and pandrug-resistant bacteria: an international expert proposal for interim standard definitions for acquired resistance." Clinical Microbiology and Infection (2012) (link)

            • +
            • guideline = "EUCAST"
              +The European international guideline - EUCAST Expert Rules Version 3.1 "Intrinsic Resistance and Exceptional Phenotypes Tables" (link)

            • +
            • guideline = "TB"
              +The international guideline for multi-drug resistant tuberculosis - World Health Organization "Companion handbook to the WHO guidelines for the programmatic management of drug-resistant tuberculosis" (link)

            • +
            • guideline = "MRGN"
              +The German national guideline - Mueller et al. (2015) Antimicrobial Resistance and Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6

            • +
            • guideline = "BRMO"
              +The Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu "WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) ZKH" (link)

            Please suggest your own (country-specific) guidelines by letting us know: https://gitlab.com/msberends/AMR/issues/new.

            @@ -318,100 +334,99 @@ -

            To define antibiotics column names, leave as it is to determine it automatically with guess_ab_col or input a text (case-insensitive), or use NULL to skip a column (e.g. TIC = NULL to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning.

            -

            The following antibiotics are used for the functions eucast_rules and mdro. These are shown below in the format 'antimicrobial ID: name (ATC code)', sorted by name:

            +

            To define antibiotics column names, leave as it is to determine it automatically with guess_ab_col() or input a text (case-insensitive), or use NULL to skip a column (e.g. TIC = NULL to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning.

            +

            The following antibiotics are used for the functions eucast_rules() and mdro(). These are shown below in the format 'antimicrobial ID: name (ATC code)', sorted by name:

            AMK: amikacin (J01GB06), - AMX: amoxicillin (J01CA04), - AMC: amoxicillin/clavulanic acid (J01CR02), - AMP: ampicillin (J01CA01), - SAM: ampicillin/sulbactam (J01CR01), - AZM: azithromycin (J01FA10), - AZL: azlocillin (J01CA09), - ATM: aztreonam (J01DF01), - CAP: capreomycin (J04AB30), - RID: cefaloridine (J01DB02), - CZO: cefazolin (J01DB04), - FEP: cefepime (J01DE01), - CTX: cefotaxime (J01DD01), - CTT: cefotetan (J01DC05), - FOX: cefoxitin (J01DC01), - CPT: ceftaroline (J01DI02), - CAZ: ceftazidime (J01DD02), - CRO: ceftriaxone (J01DD04), - CXM: cefuroxime (J01DC02), - CED: cephradine (J01DB09), - CHL: chloramphenicol (J01BA01), - CIP: ciprofloxacin (J01MA02), - CLR: clarithromycin (J01FA09), - CLI: clindamycin (J01FF01), - COL: colistin (J01XB01), - DAP: daptomycin (J01XX09), - DOR: doripenem (J01DH04), - DOX: doxycycline (J01AA02), - ETP: ertapenem (J01DH03), - ERY: erythromycin (J01FA01), - ETH: ethambutol (J04AK02), - FLC: flucloxacillin (J01CF05), - FOS: fosfomycin (J01XX01), - FUS: fusidic acid (J01XC01), - GAT: gatifloxacin (J01MA16), - GEN: gentamicin (J01GB03), - GEH: gentamicin-high (no ATC code), - IPM: imipenem (J01DH51), - INH: isoniazid (J04AC01), - KAN: kanamycin (J01GB04), - LVX: levofloxacin (J01MA12), - LIN: lincomycin (J01FF02), - LNZ: linezolid (J01XX08), - MEM: meropenem (J01DH02), - MTR: metronidazole (J01XD01), - MEZ: mezlocillin (J01CA10), - MNO: minocycline (J01AA08), - MFX: moxifloxacin (J01MA14), - NAL: nalidixic acid (J01MB02), - NEO: neomycin (J01GB05), - NET: netilmicin (J01GB07), - NIT: nitrofurantoin (J01XE01), - NOR: norfloxacin (J01MA06), - NOV: novobiocin (QJ01XX95), - OFX: ofloxacin (J01MA01), - OXA: oxacillin (J01CF04), - PEN: penicillin G (J01CE01), - PIP: piperacillin (J01CA12), - TZP: piperacillin/tazobactam (J01CR05), - PLB: polymyxin B (J01XB02), - PRI: pristinamycin (J01FG01), - PZA: pyrazinamide (J04AK01), - QDA: quinupristin/dalfopristin (J01FG02), - RIB: rifabutin (J04AB04), - RIF: rifampicin (J04AB02), - RFP: rifapentine (J04AB05), - RXT: roxithromycin (J01FA06), - SIS: sisomicin (J01GB08), - STH: streptomycin-high (no ATC code), - TEC: teicoplanin (J01XA02), - TLV: telavancin (J01XA03), - TCY: tetracycline (J01AA07), - TIC: ticarcillin (J01CA13), - TCC: ticarcillin/clavulanic acid (J01CR03), - TGC: tigecycline (J01AA12), - TOB: tobramycin (J01GB01), - TMP: trimethoprim (J01EA01), - SXT: trimethoprim/sulfamethoxazole (J01EE01), - VAN: vancomycin (J01XA01).

            +AMX: amoxicillin (J01CA04), +AMC: amoxicillin/clavulanic acid (J01CR02), +AMP: ampicillin (J01CA01), +SAM: ampicillin/sulbactam (J01CR01), +AZM: azithromycin (J01FA10), +AZL: azlocillin (J01CA09), +ATM: aztreonam (J01DF01), +CAP: capreomycin (J04AB30), +RID: cefaloridine (J01DB02), +CZO: cefazolin (J01DB04), +FEP: cefepime (J01DE01), +CTX: cefotaxime (J01DD01), +CTT: cefotetan (J01DC05), +FOX: cefoxitin (J01DC01), +CPT: ceftaroline (J01DI02), +CAZ: ceftazidime (J01DD02), +CRO: ceftriaxone (J01DD04), +CXM: cefuroxime (J01DC02), +CED: cephradine (J01DB09), +CHL: chloramphenicol (J01BA01), +CIP: ciprofloxacin (J01MA02), +CLR: clarithromycin (J01FA09), +CLI: clindamycin (J01FF01), +COL: colistin (J01XB01), +DAP: daptomycin (J01XX09), +DOR: doripenem (J01DH04), +DOX: doxycycline (J01AA02), +ETP: ertapenem (J01DH03), +ERY: erythromycin (J01FA01), +ETH: ethambutol (J04AK02), +FLC: flucloxacillin (J01CF05), +FOS: fosfomycin (J01XX01), +FUS: fusidic acid (J01XC01), +GAT: gatifloxacin (J01MA16), +GEN: gentamicin (J01GB03), +GEH: gentamicin-high (no ATC code), +IPM: imipenem (J01DH51), +INH: isoniazid (J04AC01), +KAN: kanamycin (J01GB04), +LVX: levofloxacin (J01MA12), +LIN: lincomycin (J01FF02), +LNZ: linezolid (J01XX08), +MEM: meropenem (J01DH02), +MTR: metronidazole (J01XD01), +MEZ: mezlocillin (J01CA10), +MNO: minocycline (J01AA08), +MFX: moxifloxacin (J01MA14), +NAL: nalidixic acid (J01MB02), +NEO: neomycin (J01GB05), +NET: netilmicin (J01GB07), +NIT: nitrofurantoin (J01XE01), +NOR: norfloxacin (J01MA06), +NOV: novobiocin (QJ01XX95), +OFX: ofloxacin (J01MA01), +OXA: oxacillin (J01CF04), +PEN: penicillin G (J01CE01), +PIP: piperacillin (J01CA12), +TZP: piperacillin/tazobactam (J01CR05), +PLB: polymyxin B (J01XB02), +PRI: pristinamycin (J01FG01), +PZA: pyrazinamide (J04AK01), +QDA: quinupristin/dalfopristin (J01FG02), +RIB: rifabutin (J04AB04), +RIF: rifampicin (J04AB02), +RFP: rifapentine (J04AB05), +RXT: roxithromycin (J01FA06), +SIS: sisomicin (J01GB08), +STH: streptomycin-high (no ATC code), +TEC: teicoplanin (J01XA02), +TLV: telavancin (J01XA03), +TCY: tetracycline (J01AA07), +TIC: ticarcillin (J01CA13), +TCC: ticarcillin/clavulanic acid (J01CR03), +TGC: tigecycline (J01AA12), +TOB: tobramycin (J01GB01), +TMP: trimethoprim (J01EA01), +SXT: trimethoprim/sulfamethoxazole (J01EE01), +VAN: vancomycin (J01XA01).

            Interpretation of S, I and R

            -

            In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

            -
              +

              In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

              • S - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.

              • I - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.

              • R - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.

              Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.

              -

              This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

              +

              This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

              Read more on our website!

              diff --git a/docs/reference/microorganisms.codes.html b/docs/reference/microorganisms.codes.html index 73cc3ae24..43f207313 100644 --- a/docs/reference/microorganisms.codes.html +++ b/docs/reference/microorganisms.codes.html @@ -51,7 +51,7 @@ - + @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9035 + 0.8.0.9036 @@ -234,7 +234,7 @@
              -

              A data set containing commonly used codes for microorganisms, from laboratory systems and WHONET. Define your own with set_mo_source.

              +

              A data set containing commonly used codes for microorganisms, from laboratory systems and WHONET. Define your own with set_mo_source().

              microorganisms.codes
              @@ -242,18 +242,17 @@

              Format

              -

              A data.frame with 5,433 observations and 2 variables:

              -
              code

              Commonly used code of a microorganism

              -
              mo

              ID of the microorganism in the microorganisms data set

              - -
              +

              A data.frame with 5,433 observations and 2 variables:

                +
              • code
                Commonly used code of a microorganism

              • +
              • mo
                ID of the microorganism in the microorganisms data set

              • +

              Catalogue of Life


              This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (http://www.catalogueoflife.org). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available.

              -

              Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

              +

              Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

              Read more on our website!

              @@ -261,7 +260,7 @@ This package contains the complete taxonomic tree of almost all microorganisms (

              On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

              See also

              - + @@ -234,7 +234,7 @@
              -

              A data set containing the microbial taxonomy of six kingdoms from the Catalogue of Life. MO codes can be looked up using as.mo.

              +

              A data set containing the microbial taxonomy of six kingdoms from the Catalogue of Life. MO codes can be looked up using as.mo().

              microorganisms
              @@ -242,27 +242,26 @@

              Format

              -

              A data.frame with 69,447 observations and 16 variables:

              -
              mo

              ID of microorganism as used by this package

              -
              col_id

              Catalogue of Life ID

              -
              fullname

              Full name, like "Escherichia coli"

              -
              kingdom, phylum, class, order, family, genus, species, subspecies

              Taxonomic rank of the microorganism

              -
              rank

              Text of the taxonomic rank of the microorganism, like "species" or "genus"

              -
              ref

              Author(s) and year of concerning scientific publication

              -
              species_id

              ID of the species as used by the Catalogue of Life

              -
              source

              Either "CoL", "DSMZ" (see Source) or "manually added"

              -
              prevalence

              Prevalence of the microorganism, see ?as.mo

              - -
              +

              A data.frame with 69,447 observations and 16 variables:

                +
              • mo
                ID of microorganism as used by this package

              • +
              • col_id
                Catalogue of Life ID

              • +
              • fullname
                Full name, like "Escherichia coli"

              • +
              • kingdom, phylum, class, order, family, genus, species, subspecies
                Taxonomic rank of the microorganism

              • +
              • rank
                Text of the taxonomic rank of the microorganism, like "species" or "genus"

              • +
              • ref
                Author(s) and year of concerning scientific publication

              • +
              • species_id
                ID of the species as used by the Catalogue of Life

              • +
              • source
                Either "CoL", "DSMZ" (see Source) or "manually added"

              • +
              • prevalence
                Prevalence of the microorganism, see as.mo()

              • +

              Source

              -

              Catalogue of Life: Annual Checklist (public online taxonomic database), http://www.catalogueoflife.org (check included annual version with catalogue_of_life_version()).

              -

              Leibniz Institute DSMZ-German Collection of Microorganisms and Cell Cultures, Germany, Prokaryotic Nomenclature Up-to-Date, http://www.dsmz.de/bacterial-diversity/prokaryotic-nomenclature-up-to-date (check included version with catalogue_of_life_version()).

              +

              Catalogue of Life: Annual Checklist (public online taxonomic database), http://www.catalogueoflife.org (check included annual version with catalogue_of_life_version()).

              +

              Leibniz Institute DSMZ-German Collection of Microorganisms and Cell Cultures, Germany, Prokaryotic Nomenclature Up-to-Date, http://www.dsmz.de/bacterial-diversity/prokaryotic-nomenclature-up-to-date (check included version with catalogue_of_life_version()).

              Details

              Manually added were:

              • 11 entries of Streptococcus (beta-haemolytic: groups A, B, C, D, F, G, H, K and unspecified; other: viridans, milleri)

              • -
              • 2 entries of Staphylococcus (coagulase-negative [CoNS] and coagulase-positive [CoPS])

              • +
              • 2 entries of Staphylococcus (coagulase-negative CoNS and coagulase-positive CoPS)

              • 3 entries of Trichomonas (Trichomonas vaginalis, and its family and genus)

              • 1 entry of Blastocystis (Blastocystis hominis), although it officially does not exist (Noel et al. 2005, PMID 15634993)

              • 5 other 'undefined' entries (unknown, unknown Gram negatives, unknown Gram positives, unknown yeast and unknown fungus)

              • @@ -282,7 +281,7 @@


                This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (http://www.catalogueoflife.org). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available.

                -

                Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

                +

                Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

                Read more on our website!

                @@ -290,7 +289,7 @@ This package contains the complete taxonomic tree of almost all microorganisms (

                On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

                See also

                - + @@ -234,7 +234,7 @@
                -

                A data set containing old (previously valid or accepted) taxonomic names according to the Catalogue of Life. This data set is used internally by as.mo.

                +

                A data set containing old (previously valid or accepted) taxonomic names according to the Catalogue of Life. This data set is used internally by as.mo().

                microorganisms.old
                @@ -242,24 +242,23 @@

                Format

                -

                A data.frame with 24,246 observations and 5 variables:

                -
                col_id

                Catalogue of Life ID that was originally given

                -
                col_id_new

                New Catalogue of Life ID that responds to an entry in the microorganisms data set

                -
                fullname

                Old full taxonomic name of the microorganism

                -
                ref

                Author(s) and year of concerning scientific publication

                -
                prevalence

                Prevalence of the microorganism, see ?as.mo

                - -
                +

                A data.frame with 24,246 observations and 5 variables:

                  +
                • col_id
                  Catalogue of Life ID that was originally given

                • +
                • col_id_new
                  New Catalogue of Life ID that responds to an entry in the microorganisms data set

                • +
                • fullname
                  Old full taxonomic name of the microorganism

                • +
                • ref
                  Author(s) and year of concerning scientific publication

                • +
                • prevalence
                  Prevalence of the microorganism, see as.mo()

                • +

                Source

                -

                Catalogue of Life: Annual Checklist (public online taxonomic database), http://www.catalogueoflife.org (check included annual version with catalogue_of_life_version()).

                +

                Catalogue of Life: Annual Checklist (public online taxonomic database), http://www.catalogueoflife.org (check included annual version with catalogue_of_life_version()).

                Catalogue of Life


                This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (http://www.catalogueoflife.org). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available.

                -

                Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

                +

                Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

                Read more on our website!

                @@ -267,7 +266,7 @@ This package contains the complete taxonomic tree of almost all microorganisms (

                On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

                See also

                - + @@ -234,7 +234,7 @@
                -

                Use these functions to return a specific property of a microorganism. All input values will be evaluated internally with as.mo, which makes it possible for input of these functions to use microbial abbreviations, codes and names. See Examples.

                +

                Use these functions to return a specific property of a microorganism. All input values will be evaluated internally with as.mo(), which makes it possible for input of these functions to use microbial abbreviations, codes and names. See Examples.

                mo_name(x, language = get_locale(), ...)
                @@ -286,23 +286,23 @@
                     
                     
                       x
                -      

                any (vector of) text that can be coerced to a valid microorganism code with as.mo

                +

                any (vector of) text that can be coerced to a valid microorganism code with as.mo()

                language -

                language of the returned text, defaults to system language (see get_locale) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

                +

                language of the returned text, defaults to system language (see get_locale()) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

                ... -

                other parameters passed on to as.mo

                +

                other parameters passed on to as.mo()

                open -

                browse the URL using browseURL()

                +

                browse the URL using utils::browseURL()

                property -

                one of the column names of the microorganisms data set or "shortname"

                +

                one of the column names of the microorganisms data set or "shortname"

                @@ -310,15 +310,15 @@
                  -
                • An integer in case of mo_year

                • -
                • A list in case of mo_taxonomy

                • -
                • A named character in case of mo_url

                • -
                • A character in all other cases

                • +
                • An integer in case of mo_year()

                • +
                • A list in case of mo_taxonomy()

                • +
                • A named character in case of mo_url()

                • +
                • A character in all other cases

                Details

                -

                All functions will return the most recently known taxonomic property according to the Catalogue of Life, except for mo_ref, mo_authors and mo_year. This leads to the following results:

                  +

                  All functions will return the most recently known taxonomic property according to the Catalogue of Life, except for mo_ref(), mo_authors() and mo_year(). This leads to the following results:

                  • mo_name("Chlamydia psittaci") will return "Chlamydophila psittaci" (with a warning about the renaming)

                  • mo_ref("Chlamydia psittaci") will return "Page, 1968" (with a warning about the renaming)

                  • mo_ref("Chlamydophila psittaci") will return "Everett et al., 1999" (without a warning)

                  • @@ -333,15 +333,18 @@


                    This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (http://www.catalogueoflife.org). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available.

                    -

                    Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

                    +

                    Click here for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with catalogue_of_life_version().

                    Source

                    -

                    [1] Becker K et al. Coagulase-Negative Staphylococci. 2014. Clin Microbiol Rev. 27(4): 870–926. https://dx.doi.org/10.1128/CMR.00109-13

                    -

                    [2] Becker K et al. Implications of identifying the recently defined members of the S. aureus complex, S. argenteus and S. schweitzeri: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS). 2019. Clin Microbiol Infect. https://doi.org/10.1016/j.cmi.2019.02.028

                    -

                    [3] Lancefield RC A serological differentiation of human and other groups of hemolytic streptococci. 1933. J Exp Med. 57(4): 571–95. https://dx.doi.org/10.1084/jem.57.4.571

                    -

                    [4] Catalogue of Life: Annual Checklist (public online taxonomic database), http://www.catalogueoflife.org (check included annual version with catalogue_of_life_version()).

                    +
                      +
                    1. Becker K et al. Coagulase-Negative Staphylococci. 2014. Clin Microbiol Rev. 27(4): 870–926. https://dx.doi.org/10.1128/CMR.00109-13

                    2. +
                    3. Becker K et al. Implications of identifying the recently defined members of the S. aureus complex, S. argenteus and S. schweitzeri: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS). 2019. Clin Microbiol Infect. https://doi.org/10.1016/j.cmi.2019.02.028

                    4. +
                    5. Lancefield RC A serological differentiation of human and other groups of hemolytic streptococci. 1933. J Exp Med. 57(4): 571–95. https://dx.doi.org/10.1084/jem.57.4.571

                    6. +
                    7. Catalogue of Life: Annual Checklist (public online taxonomic database), http://www.catalogueoflife.org (check included annual version with catalogue_of_life_version()).

                    8. +
                    +

                    Read more on our website!

                    @@ -349,7 +352,7 @@ This package contains the complete taxonomic tree of almost all microorganisms (

                    On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

                    See also

                    - +

                    Examples

                    # taxonomic tree -----------------------------------------------------------
                    @@ -431,7 +434,7 @@ This package contains the complete taxonomic tree of almost all microorganisms (
                     
                     # get a list with the complete taxonomy (from kingdom to subspecies)
                     mo_taxonomy("E. coli")
                    -# get a list with the taxonomy, the authors and the URL to the online database
                    +# get a list with the taxonomy, the authors, Gram-stain and URL to the online database
                     mo_info("E. coli")
                     # }
                    diff --git a/docs/reference/mo_source.html b/docs/reference/mo_source.html index 161ded70b..7e9f0944c 100644 --- a/docs/reference/mo_source.html +++ b/docs/reference/mo_source.html @@ -51,7 +51,7 @@ - @@ -86,7 +86,7 @@ This is the fastest way to have your organisation (or analysis) specific codes p AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -235,7 +235,7 @@ This is the fastest way to have your organisation (or analysis) specific codes p
                    -

                    These functions can be used to predefine your own reference to be used in as.mo and consequently all mo_* functions like mo_genus and mo_gramstain.

                    +

                    These functions can be used to predefine your own reference to be used in as.mo() and consequently all mo_* functions like mo_genus() and mo_gramstain().

                    This is the fastest way to have your organisation (or analysis) specific codes picked up and translated by this package.

                    @@ -255,15 +255,12 @@ This is the fastest way to have your organisation (or analysis) specific codes p

                    Details

                    The reference file can be a text file seperated with commas (CSV) or tabs or pipes, an Excel file (either 'xls' or 'xlsx' format) or an R object file (extension '.rds'). To use an Excel file, you need to have the readxl package installed.

                    -

                    set_mo_source will check the file for validity: it must be a data.frame, must have a column named "mo" which contains values from microorganisms$mo and must have a reference column with your own defined values. If all tests pass, set_mo_source will read the file into R and export it to "~/.mo_source.rds". This compressed data file will then be used at default for MO determination (function as.mo and consequently all mo_* functions like mo_genus and mo_gramstain). The location of the original file will be saved as option with options(mo_source = path). Its timestamp will be saved with options(mo_source_datetime = ...).

                    -

                    get_mo_source will return the data set by reading "~/.mo_source.rds" with readRDS. If the original file has changed (the file defined with path), it will call set_mo_source to update the data file automatically.

                    -

                    Reading an Excel file (.xlsx) with only one row has a size of 8-9 kB. The compressed file used by this package will have a size of 0.1 kB and can be read by get_mo_source in only a couple of microseconds (a millionth of a second).

                    -

                    How it works

                    +

                    set_mo_source() will check the file for validity: it must be a data.frame, must have a column named "mo" which contains values from microorganisms$mo and must have a reference column with your own defined values. If all tests pass, set_mo_source() will read the file into R and export it to "~/.mo_source.rds". This compressed data file will then be used at default for MO determination (function as.mo() and consequently all mo_* functions like mo_genus() and mo_gramstain()). The location of the original file will be saved as option with options(mo_source = path). Its timestamp will be saved with options(mo_source_datetime = ...).

                    +

                    get_mo_source() will return the data set by reading "~/.mo_source.rds" with readRDS(). If the original file has changed (the file defined with path), it will call set_mo_source() to update the data file automatically.

                    +

                    Reading an Excel file (.xlsx) with only one row has a size of 8-9 kB. The compressed file used by this package will have a size of 0.1 kB and can be read by get_mo_source() in only a couple of microseconds (a millionth of a second).

                    How it works

                    - -

                    Imagine this data on a sheet of an Excel file (mo codes were looked up in the `microorganisms` data set). The first column contains the organisation specific codes, the second column contains an MO code from this package:

                    -  |         A          |      B      |
                    +

                    Imagine this data on a sheet of an Excel file (mo codes were looked up in the microorganisms data set). The first column contains the organisation specific codes, the second column contains an MO code from this package:

                      |         A          |      B      |
                     --|--------------------|-------------|
                     1 | Organisation XYZ   | mo          |
                     2 | lab_mo_ecoli       | B_ESCHR_COL |
                    @@ -271,49 +268,45 @@ This is the fastest way to have your organisation (or analysis) specific codes p
                     4 |                    |             |
                     
                    -

                    We save it as 'home/me/ourcodes.xlsx'. Now we have to set it as a source:

                    -set_mo_source("home/me/ourcodes.xlsx")
                    +

                    We save it as "home/me/ourcodes.xlsx". Now we have to set it as a source:

                    set_mo_source("home/me/ourcodes.xlsx")
                     # Created mo_source file '~/.mo_source.rds' from 'home/me/ourcodes.xlsx'.
                     
                    -

                    It has now created a file "~/.mo_source.rds" with the contents of our Excel file, but only the first column with foreign values and the 'mo' column will be kept.

                    -

                    And now we can use it in our functions:

                    -as.mo("lab_mo_ecoli")
                    -[1] B_ESCHR_COL
                    +

                    It has now created a file "~/.mo_source.rds" with the contents of our Excel file, but only the first column with foreign values and the 'mo' column will be kept.

                    +

                    And now we can use it in our functions:

                    as.mo("lab_mo_ecoli")
                    +\[1\] B_ESCHR_COLI
                     
                     mo_genus("lab_mo_kpneumoniae")
                     [1] "Klebsiella"
                     
                     # other input values still work too
                     as.mo(c("Escherichia coli", "E. coli", "lab_mo_ecoli"))
                    -[1] B_ESCHR_COL  B_ESCHR_COL  B_ESCHR_COL
                    +[1] B_ESCHR_COLI B_ESCHR_COLI B_ESCHR_COLI
                     
                    -

                    If we edit the Excel file to, let's say, this:

                    -  |         A          |      B      |
                    ---|--------------------|-------------|
                    -1 | Organisation XYZ   | mo          |
                    -2 | lab_mo_ecoli       | B_ESCHR_COL |
                    -3 | lab_mo_kpneumoniae | B_KLBSL_PNE |
                    -4 | lab_Staph_aureus   | B_STPHY_AUR |
                    -5 |                    |             |
                    +

                    If we edit the Excel file to, let's say, this:

                      |         A          |       B      |
                    +--|--------------------|--------------|
                    +1 | Organisation XYZ   | mo           |
                    +2 | lab_mo_ecoli       | B_ESCHR_COLI |
                    +3 | lab_mo_kpneumoniae | B_KLBSL_PNMN |
                    +4 | lab_Staph_aureus   | B_STPHY_AURS |
                    +5 |                    |              |
                     
                    -

                    ...any new usage of an MO function in this package will update your data:

                    -as.mo("lab_mo_ecoli")
                    +

                    ...any new usage of an MO function in this package will update your data:

                    as.mo("lab_mo_ecoli")
                     # Updated mo_source file '~/.mo_source.rds' from 'home/me/ourcodes.xlsx'.
                    -[1] B_ESCHR_COL
                    +[1] B_ESCHR_COLI
                     
                     mo_genus("lab_Staph_aureus")
                     [1] "Staphylococcus"
                     
                    -

                    To remove the reference completely, just use any of these:

                    -set_mo_source("")
                    +

                    To remove the reference completely, just use any of these:

                    set_mo_source("")
                     set_mo_source(NULL)
                     # Removed mo_source file '~/.mo_source.rds'.
                     
                    +

                    Read more on our website!

                    @@ -326,7 +319,6 @@ set_mo_source(NULL) diff --git a/docs/reference/p_symbol.html b/docs/reference/p_symbol.html index 36779c4d4..fbbd17ad8 100644 --- a/docs/reference/p_symbol.html +++ b/docs/reference/p_symbol.html @@ -6,7 +6,7 @@ -Symbol of a p value — p_symbol • AMR (for R) +Symbol of a p-value — p_symbol • AMR (for R) @@ -50,8 +50,8 @@ - - + + @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -228,13 +228,13 @@
                    -

                    Return the symbol related to the p value: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1. Values above p = 1 will return NA.

                    +

                    Return the symbol related to the p-value: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1. Values above p = 1 will return NA.

                    p_symbol(p, emptychar = " ")
                    diff --git a/docs/reference/proportion.html b/docs/reference/proportion.html index 9e2d044b3..e16e1f162 100644 --- a/docs/reference/proportion.html +++ b/docs/reference/proportion.html @@ -51,7 +51,7 @@ - @@ -86,7 +86,7 @@ resistance() should be used to calculate resistance, susceptibility() should be AMR (for R) - 0.8.0.9032 + 0.8.0.9036
                    @@ -235,45 +235,50 @@ resistance() should be used to calculate resistance, susceptibility() should be
                    -

                    These functions can be used to calculate the (co-)resistance or susceptibility of microbial isolates (i.e. percentage of S, SI, I, IR or R). All functions support quasiquotation with pipes, can be used in dplyrs summarise and support grouped variables, see Examples.

                    +

                    These functions can be used to calculate the (co-)resistance or susceptibility of microbial isolates (i.e. percentage of S, SI, I, IR or R). All functions support quasiquotation with pipes, can be used in dplyr::summarise() and support grouped variables, please see Examples.

                    resistance() should be used to calculate resistance, susceptibility() should be used to calculate susceptibility.

                    -
                    resistance(..., minimum = 30, as_percent = FALSE,
                    -  only_all_tested = FALSE)
                    +    
                    resistance(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE)
                     
                    -susceptibility(..., minimum = 30, as_percent = FALSE,
                    -  only_all_tested = FALSE)
                    +susceptibility(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE)
                     
                    -proportion_R(..., minimum = 30, as_percent = FALSE,
                    -  only_all_tested = FALSE)
                    +proportion_R(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE)
                     
                    -proportion_IR(..., minimum = 30, as_percent = FALSE,
                    -  only_all_tested = FALSE)
                    +proportion_IR(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE)
                     
                    -proportion_I(..., minimum = 30, as_percent = FALSE,
                    -  only_all_tested = FALSE)
                    +proportion_I(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE)
                     
                    -proportion_SI(..., minimum = 30, as_percent = FALSE,
                    -  only_all_tested = FALSE)
                    +proportion_SI(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE)
                     
                    -proportion_S(..., minimum = 30, as_percent = FALSE,
                    -  only_all_tested = FALSE)
                    +proportion_S(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE)
                     
                    -proportion_df(data, translate_ab = "name", language = get_locale(),
                    -  minimum = 30, as_percent = FALSE, combine_SI = TRUE,
                    -  combine_IR = FALSE)
                    +proportion_df(
                    +  data,
                    +  translate_ab = "name",
                    +  language = get_locale(),
                    +  minimum = 30,
                    +  as_percent = FALSE,
                    +  combine_SI = TRUE,
                    +  combine_IR = FALSE
                    +)
                     
                    -rsi_df(data, translate_ab = "name", language = get_locale(),
                    -  minimum = 30, as_percent = FALSE, combine_SI = TRUE,
                    -  combine_IR = FALSE)
                    +rsi_df( + data, + translate_ab = "name", + language = get_locale(), + minimum = 30, + as_percent = FALSE, + combine_SI = TRUE, + combine_IR = FALSE +)

                    Arguments

                    - + @@ -285,19 +290,19 @@ resistance() should be used to calculate resistance, susceptibility() should be - + - + - + - + @@ -314,20 +319,18 @@ resistance() should be used to calculate resistance, susceptibility() should be

                    M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition, 2014, Clinical and Laboratory Standards Institute (CLSI). https://clsi.org/standards/products/microbiology/documents/m39/.

                    Value

                    -

                    Double or, when as_percent = TRUE, a character.

                    +

                    A double or, when as_percent = TRUE, a character.

                    Details

                    -

                    The function resistance() is equal to the function proportion_R(). The function susceptibility() is equal to the function proportion_SI().

                    -

                    Remember that you should filter your table to let it contain only first isolates! This is needed to exclude duplicates and to reduce selection bias. Use first_isolate to determine them in your data set.

                    -

                    These functions are not meant to count isolates, but to calculate the proportion of resistance/susceptibility. Use the count functions to count isolates. The function susceptibility() is essentially equal to count_susceptible() / count_all(). Low counts can infuence the outcome - the proportion functions may camouflage this, since they only return the proportion (albeit being dependent on the minimum parameter).

                    -

                    The function proportion_df() takes any variable from data that has an "rsi" class (created with as.rsi()) and calculates the proportions R, I and S. The function rsi_df() works exactly like proportion_df(), but adds the number of isolates.

                    +

                    The function resistance() is equal to the function proportion_R(). The function susceptibility() is equal to the function proportion_SI().

                    +

                    Remember that you should filter your table to let it contain only first isolates! This is needed to exclude duplicates and to reduce selection bias. Use first_isolate() to determine them in your data set.

                    +

                    These functions are not meant to count isolates, but to calculate the proportion of resistance/susceptibility. Use the AMR::count() functions to count isolates. The function susceptibility() is essentially equal to count_susceptible() / count_all(). Low counts can infuence the outcome - the proportion functions may camouflage this, since they only return the proportion (albeit being dependent on the minimum parameter).

                    +

                    The function proportion_df() takes any variable from data that has an rsi class (created with as.rsi()) and calculates the proportions R, I and S. The function rsi_df() works exactly like proportion_df(), but adds the number of isolates.

                    Combination therapy

                    -

                    When using more than one variable for ... (= combination therapy)), use only_all_tested to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how susceptibility works to calculate the %SI:

                    -
                    ---------------------------------------------------------------------
                    +

                    When using more than one variable for ... (= combination therapy)), use only_all_tested to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how susceptibility() works to calculate the %SI:

                    --------------------------------------------------------------------
                                         only_all_tested = FALSE  only_all_tested = TRUE
                                         -----------------------  -----------------------
                      Drug A    Drug B   include as  include as   include as  include as
                    @@ -345,11 +348,11 @@ resistance() should be used to calculate resistance, susceptibility() should be
                     --------------------------------------------------------------------
                     
                    -

                    Please note that, in combination therapies, for only_all_tested = TRUE applies that:

                    -    count_S()    +   count_I()    +   count_R()    = count_all()
                    +

                    Please note that, in combination therapies, for only_all_tested = TRUE applies that:

                        count_S()    +   count_I()    +   count_R()    = count_all()
                       proportion_S() + proportion_I() + proportion_R() = 1
                    -

                    and that, in combination therapies, for only_all_tested = FALSE applies that:

                    -    count_S()    +   count_I()    +   count_R()    >= count_all()
                    +
                    + +

                    and that, in combination therapies, for only_all_tested = FALSE applies that:

                        count_S()    +   count_I()    +   count_R()    >= count_all()
                       proportion_S() + proportion_I() + proportion_R() >= 1
                     
                    @@ -358,15 +361,14 @@ resistance() should be used to calculate resistance, susceptibility() should be -

                    In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

                    -
                      +

                      In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

                      • S - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.

                      • I - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.

                      • R - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.

                      Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.

                      -

                      This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

                      +

                      This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

                      Read more on our website!

                      @@ -374,7 +376,7 @@ resistance() should be used to calculate resistance, susceptibility() should be

                      On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

                      See also

                      -

                      count_* to count resistant and susceptible isolates.

                      +

                      AMR::count() to count resistant and susceptible isolates.

                      Examples

                      # example_isolates is a data set available in the AMR package.
                      diff --git a/docs/reference/read.4D.html b/docs/reference/read.4D.html
                      index 84db8e425..60c43fa12 100644
                      --- a/docs/reference/read.4D.html
                      +++ b/docs/reference/read.4D.html
                      @@ -51,7 +51,7 @@
                         
                       
                       
                      -
                      +
                       
                       
                       
                      @@ -85,7 +85,7 @@
                             
                             
                               AMR (for R)
                      -        0.8.0.9032
                      +        0.8.0.9036
                             
                           
                       
                      @@ -234,14 +234,27 @@
                           
                       
                           
                      -

                      This function is only useful for the MMB department of the UMCG. Use this function to import data by just defining the file parameter. It will automatically transform birth dates and calculate patients age, translate the column names to English, transform the MO codes with as.mo and transform all antimicrobial columns with as.rsi.

                      +

                      This function is only useful for the MMB department of the UMCG. Use this function to import data by just defining the file parameter. It will automatically transform birth dates and calculate patients age, translate the column names to English, transform the MO codes with as.mo() and transform all antimicrobial columns with as.rsi().

                      -
                      read.4D(file, info = interactive(), header = TRUE, row.names = NULL,
                      -  sep = "\t", quote = "\"'", dec = ",", na.strings = c("NA", "",
                      -  "."), skip = 2, check.names = TRUE, strip.white = TRUE,
                      -  fill = TRUE, blank.lines.skip = TRUE, stringsAsFactors = FALSE,
                      -  fileEncoding = "UTF-8", encoding = "UTF-8")
                      +
                      read.4D(
                      +  file,
                      +  info = interactive(),
                      +  header = TRUE,
                      +  row.names = NULL,
                      +  sep = "\t",
                      +  quote = "\"'",
                      +  dec = ",",
                      +  na.strings = c("NA", "", "."),
                      +  skip = 2,
                      +  check.names = TRUE,
                      +  strip.white = TRUE,
                      +  fill = TRUE,
                      +  blank.lines.skip = TRUE,
                      +  stringsAsFactors = FALSE,
                      +  fileEncoding = "UTF-8",
                      +  encoding = "UTF-8"
                      +)

                      Arguments

                    ...

                    one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with as.rsi if needed. Use multiple columns to calculate (the lack of) co-resistance: the probability where one of two drugs have a resistant or susceptible result. See Examples.

                    one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with as.rsi() if needed. Use multiple columns to calculate (the lack of) co-resistance: the probability where one of two drugs have a resistant or susceptible result. See Examples.

                    minimum
                    only_all_tested

                    (for combination therapies, i.e. using more than one variable for ...) a logical to indicate that isolates must be tested for all antibiotics, see section Combination therapy below

                    (for combination therapies, i.e. using more than one variable for ...): a logical to indicate that isolates must be tested for all antibiotics, see section Combination therapy below

                    data

                    a data.frame containing columns with class rsi (see as.rsi)

                    a data.frame containing columns with class rsi (see as.rsi())

                    translate_ab

                    a column name of the antibiotics data set to translate the antibiotic abbreviations to, using ab_property

                    a column name of the antibiotics data set to translate the antibiotic abbreviations to, using ab_property()

                    language

                    language of the returned text, defaults to system language (see get_locale) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

                    language of the returned text, defaults to system language (see get_locale()) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.

                    combine_SI
                    diff --git a/docs/reference/resistance_predict.html b/docs/reference/resistance_predict.html index 37ca38268..161340a5f 100644 --- a/docs/reference/resistance_predict.html +++ b/docs/reference/resistance_predict.html @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -234,34 +234,59 @@
                    -

                    Create a prediction model to predict antimicrobial resistance for the next years on statistical solid ground. Standard errors (SE) will be returned as columns se_min and se_max. See Examples for a real live example.

                    +

                    Create a prediction model to predict antimicrobial resistance for the next years on statistical solid ground. Standard errors (SE) will be returned as columns se_min and se_max. See Examples for a real live example.

                    -
                    resistance_predict(x, col_ab, col_date = NULL, year_min = NULL,
                    -  year_max = NULL, year_every = 1, minimum = 30, model = NULL,
                    -  I_as_S = TRUE, preserve_measurements = TRUE, info = TRUE, ...)
                    +    
                    resistance_predict(
                    +  x,
                    +  col_ab,
                    +  col_date = NULL,
                    +  year_min = NULL,
                    +  year_max = NULL,
                    +  year_every = 1,
                    +  minimum = 30,
                    +  model = NULL,
                    +  I_as_S = TRUE,
                    +  preserve_measurements = TRUE,
                    +  info = TRUE,
                    +  ...
                    +)
                     
                    -rsi_predict(x, col_ab, col_date = NULL, year_min = NULL,
                    -  year_max = NULL, year_every = 1, minimum = 30, model = NULL,
                    -  I_as_S = TRUE, preserve_measurements = TRUE, info = TRUE, ...)
                    +rsi_predict(
                    +  x,
                    +  col_ab,
                    +  col_date = NULL,
                    +  year_min = NULL,
                    +  year_max = NULL,
                    +  year_every = 1,
                    +  minimum = 30,
                    +  model = NULL,
                    +  I_as_S = TRUE,
                    +  preserve_measurements = TRUE,
                    +  info = TRUE,
                    +  ...
                    +)
                     
                     # S3 method for resistance_predict
                    -plot(x,
                    -  main = paste("Resistance Prediction of", x_name), ...)
                    +plot(x, main = paste("Resistance Prediction of", x_name), ...)
                     
                    -ggplot_rsi_predict(x, main = paste("Resistance Prediction of", x_name),
                    -  ribbon = TRUE, ...)
                    +ggplot_rsi_predict( + x, + main = paste("Resistance Prediction of", x_name), + ribbon = TRUE, + ... +)

                    Arguments

                    - + - + @@ -285,11 +310,11 @@ - + - + @@ -297,7 +322,7 @@ - + @@ -315,18 +340,20 @@

                    Value

                    -

                    data.frame with extra class "resistance_predict" with columns:

                      +

                      A data.frame with extra class resistance_predict with columns:

                      • year

                      • value, the same as estimated when preserve_measurements = FALSE, and a combination of observed and estimated otherwise

                      • se_min, the lower bound of the standard error with a minimum of 0 (so the standard error will never go below 0%)

                      • se_max the upper bound of the standard error with a maximum of 1 (so the standard error will never go above 100%)

                      • -
                      • observations, the total number of available observations in that year, i.e. S + I + R

                      • +
                      • observations, the total number of available observations in that year, i.e. \(S + I + R\)

                      • observed, the original observed resistant percentages

                      • estimated, the estimated resistant percentages, calculated by the model

                      • -

                      Furthermore, the model itself is available as an attribute: attributes(x)$model, see Examples.

                      +
                    + +

                    Furthermore, the model itself is available as an attribute: attributes(x)$model, please see Examples.

                    Details

                    -

                    Valid options for the statistical model are:

                      +

                      Valid options for the statistical model (parameter model) are:

                      • "binomial" or "binom" or "logit": a generalised linear regression model with binomial distribution

                      • "loglin" or "poisson": a generalised log-linear regression model with poisson distribution

                      • "lin" or "linear": a linear regression model

                      • @@ -336,15 +363,14 @@ -

                        In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

                        -
                          +

                          In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (http://www.eucast.org/newsiandr/). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations".

                          • S - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.

                          • I - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.

                          • R - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.

                          Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection.

                          -

                          This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

                          +

                          This AMR package honours this new insight. Use susceptibility() (equal to proportion_SI()) to determine antimicrobial susceptibility and count_susceptible() (equal to count_SI()) to count susceptible isolates.

                          Read more on our website!

                          @@ -352,10 +378,14 @@

                          On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

                          See also

                          -

                          The portion function to calculate resistance,
                          lm glm

                          +

                          The proportion() functions to calculate resistance

                          +

                          Models: lm() glm()

                          Examples

                          -
                          x <- resistance_predict(example_isolates, col_ab = "AMX", year_min = 2010, model = "binomial")
                          +    
                          x <- resistance_predict(example_isolates,
                          +                        col_ab = "AMX",
                          +                        year_min = 2010,
                          +                        model = "binomial")
                           plot(x)
                           ggplot_rsi_predict(x)
                           
                          @@ -394,9 +424,9 @@
                               scale_y_continuous(limits = c(0, 1),
                                                  breaks = seq(0, 1, 0.1),
                                                  labels = paste0(seq(0, 100, 10), "%")) +
                          -    labs(title = expression(paste("Forecast of amoxicillin resistance in ",
                          +    labs(title = expression(paste("Forecast of Amoxicillin Resistance in ",
                                                             italic("E. coli"))),
                          -         y = "%IR",
                          +         y = "%R",
                                    x = "Year") +
                               theme_minimal(base_size = 13)
                           }
                          diff --git a/docs/reference/rsi_translation.html b/docs/reference/rsi_translation.html index 54166eb82..4d5776f8e 100644 --- a/docs/reference/rsi_translation.html +++ b/docs/reference/rsi_translation.html @@ -51,7 +51,7 @@ - + @@ -85,7 +85,7 @@ AMR (for R) - 0.8.0.9033 + 0.8.0.9036 @@ -234,7 +234,7 @@
                          -

                          Data set to interpret MIC and disk diffusion to RSI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2019). Use as.rsi to transform MICs or disks measurements to RSI values.

                          +

                          Data set to interpret MIC and disk diffusion to RSI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2019). Use as.rsi() to transform MICs or disks measurements to RSI values.

                          rsi_translation
                          @@ -242,18 +242,17 @@

                          Format

                          -

                          A data.frame with 13,975 observations and 9 variables:

                          -
                          guideline

                          Name of the guideline

                          -
                          method

                          Either "MIC" or "DISK"

                          -
                          site

                          Body site, e.g. "Oral" or "Respiratory"

                          -
                          mo

                          Microbial ID, see as.mo

                          -
                          ab

                          Antibiotic ID, see as.ab

                          -
                          ref_tbl

                          Info about where the guideline rule can be found

                          -
                          disk_dose

                          Dose of the used disk diffusion method

                          -
                          breakpoint_S

                          Lowest MIC value or highest number of millimeters that leads to "S"

                          -
                          breakpoint_R

                          Highest MIC value or lowest number of millimeters that leads to "R"

                          - -
                          +

                          A data.frame with 13,975 observations and 9 variables:

                            +
                          • guideline
                            Name of the guideline

                          • +
                          • method
                            Either "MIC" or "DISK"

                          • +
                          • site
                            Body site, e.g. "Oral" or "Respiratory"

                          • +
                          • mo
                            Microbial ID, see as.mo()

                          • +
                          • ab
                            Antibiotic ID, see as.ab()

                          • +
                          • ref_tbl
                            Info about where the guideline rule can be found

                          • +
                          • disk_dose
                            Dose of the used disk diffusion method

                          • +
                          • breakpoint_S
                            Lowest MIC value or highest number of millimeters that leads to "S"

                          • +
                          • breakpoint_R
                            Highest MIC value or lowest number of millimeters that leads to "R"

                          • +

                          Read more on our website!

                          diff --git a/docs/reference/skewness.html b/docs/reference/skewness.html index a5841cb64..fec2d6608 100644 --- a/docs/reference/skewness.html +++ b/docs/reference/skewness.html @@ -86,7 +86,7 @@ When negative: the left tail is longer; the mass of the distribution is concentr AMR (for R) - 0.8.0.9032 + 0.8.0.9036 @@ -255,7 +255,7 @@ When negative: the left tail is longer; the mass of the distribution is concentr
                    - + @@ -270,7 +270,7 @@ When negative: the left tail is longer; the mass of the distribution is concentr

                    On our website https://msberends.gitlab.io/AMR you can find a tutorial about how to conduct AMR analysis, the complete documentation of all functions (which reads a lot easier than here in R) and an example analysis using WHONET data.

                    See also

                    - + @@ -234,7 +234,7 @@
                    -

                    For language-dependent output of AMR functions, like mo_name, mo_type and ab_name.

                    +

                    For language-dependent output of AMR functions, like mo_name(), mo_type() and ab_name().

                    get_locale()
                    @@ -245,8 +245,8 @@

                    Strings will be translated to foreign languages if they are defined in a local translation file. Additions to this file can be suggested at our repository. The file can be found here: https://gitlab.com/msberends/AMR/blob/master/data-raw/translations.tsv.

                    Currently supported languages can be found if running: unique(AMR:::translations_file$lang).

                    Please suggest your own translations by creating a new issue on our repository.

                    -

                    This file will be read by all functions where a translated output can be desired, like all mo_property functions (mo_fullname, mo_type, etc.).

                    -

                    The system language will be used at default, if that language is supported. The system language can be overwritten with getOption("AMR_locale").

                    +

                    This file will be read by all functions where a translated output can be desired, like all mo_property() functions (mo_fullname(), mo_type(), etc.).

                    +

                    The system language will be used at default, if that language is supported. The system language can be overwritten with Sys.setenv(AMR_locale = yourlanguage).

                    Read more on our website!

                    diff --git a/man/AMR-deprecated.Rd b/man/AMR-deprecated.Rd index 1210eac93..9b8fc1059 100644 --- a/man/AMR-deprecated.Rd +++ b/man/AMR-deprecated.Rd @@ -8,6 +8,7 @@ \alias{portion_I} \alias{portion_SI} \alias{portion_S} +\alias{portion_df} \title{Deprecated functions} \usage{ p.symbol(...) @@ -21,6 +22,8 @@ portion_I(...) portion_SI(...) portion_S(...) + +portion_df(...) } \description{ These functions are so-called '\link{Deprecated}'. They will be removed in a future release. Using the functions will give a warning with the name of the function it has been replaced by (if there is one). diff --git a/man/AMR.Rd b/man/AMR.Rd index 6c834394f..18b6ef1a8 100644 --- a/man/AMR.Rd +++ b/man/AMR.Rd @@ -13,17 +13,17 @@ We created this package for both academic research and routine analysis at the F This package can be used for: \itemize{ - \item{Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the Catalogue of Life} - \item{Interpreting raw MIC and disk diffusion values, based on the latest CLSI or EUCAST guidelines} - \item{Determining first isolates to be used for AMR analysis} - \item{Calculating antimicrobial resistance} - \item{Determining multi-drug resistance (MDR) / multi-drug resistant organisms (MDRO)} - \item{Calculating (empirical) susceptibility of both mono therapy and combination therapies} - \item{Predicting future antimicrobial resistance using regression models} - \item{Getting properties for any microorganism (like Gram stain, species, genus or family)} - \item{Getting properties for any antibiotic (like name, EARS-Net code, ATC code, PubChem code, defined daily dose or trade name)} - \item{Plotting antimicrobial resistance} - \item{Applying EUCAST expert rules} +\item Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the \href{http://www.catalogueoflife.org}{Catalogue of Life} +\item Interpreting raw MIC and disk diffusion values, based on the latest CLSI or EUCAST guidelines +\item Determining first isolates to be used for AMR analysis +\item Calculating antimicrobial resistance +\item Determining multi-drug resistance (MDR) / multi-drug resistant organisms (MDRO) +\item Calculating (empirical) susceptibility of both mono therapy and combination therapies +\item Predicting future antimicrobial resistance using regression models +\item Getting properties for any microorganism (like Gram stain, species, genus or family) +\item Getting properties for any antibiotic (like name, EARS-Net code, ATC code, PubChem code, defined daily dose or trade name) +\item Plotting antimicrobial resistance +\item Applying EUCAST expert rules } } \section{Read more on our website!}{ @@ -36,11 +36,11 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https:// For suggestions, comments or questions, please contact us at: Matthijs S. Berends \cr -m.s.berends [at] umcg [dot] nl \cr +m.s.berends \link{at} umcg \link{dot} nl \cr Department of Medical Microbiology, University of Groningen \cr University Medical Center Groningen \cr Post Office Box 30001 \cr -9700 RB Groningen +9700 RB Groningen \cr The Netherlands If you have found a bug, please file a new issue at: \cr diff --git a/man/WHOCC.Rd b/man/WHOCC.Rd index c99c8ec14..3ec5c0bd1 100644 --- a/man/WHOCC.Rd +++ b/man/WHOCC.Rd @@ -9,13 +9,13 @@ All antimicrobial drugs and their official names, ATC codes, ATC groups and defi \section{WHOCC}{ \if{html}{\figure{logo_who.png}{options: height=60px style=margin-bottom:5px} \cr} -This package contains \strong{all ~550 antibiotic, antimycotic and antiviral drugs} and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, \url{https://www.whocc.no}) and the Pharmaceuticals Community Register of the European Commission (\url{http://ec.europa.eu/health/documents/community-register/html/atc.htm}). +This package contains \strong{all ~550 antibiotic, antimycotic and antiviral drugs} and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, \url{https://www.whocc.no}) and the Pharmaceuticals Community Register of the European Commission (\url{http://ec.europa.eu/health/documents/community-register/html/atc.htm}). These have become the gold standard for international drug utilisation monitoring and research. The WHOCC is located in Oslo at the Norwegian Institute of Public Health and funded by the Norwegian government. The European Commission is the executive of the European Union and promotes its general interest. -\strong{NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See \url{https://www.whocc.no/copyright_disclaimer/}.} +\strong{NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package.} See \url{https://www.whocc.no/copyright_disclaimer/.} } \section{Read more on our website!}{ diff --git a/man/WHONET.Rd b/man/WHONET.Rd index ef861befb..a320993bf 100644 --- a/man/WHONET.Rd +++ b/man/WHONET.Rd @@ -5,39 +5,39 @@ \alias{WHONET} \title{Data set with 500 isolates - WHONET example} \format{A \code{\link{data.frame}} with 500 observations and 53 variables: -\describe{ - \item{\code{Identification number}}{ID of the sample} - \item{\code{Specimen number}}{ID of the specimen} - \item{\code{Organism}}{Name of the microorganism. Before analysis, you should transform this to a valid microbial class, using \code{\link{as.mo}}.} - \item{\code{Country}}{Country of origin} - \item{\code{Laboratory}}{Name of laboratory} - \item{\code{Last name}}{Last name of patient} - \item{\code{First name}}{Initial of patient} - \item{\code{Sex}}{Gender of patient} - \item{\code{Age}}{Age of patient} - \item{\code{Age category}}{Age group, can also be looked up using \code{\link{age_groups}}} - \item{\code{Date of admission}}{Date of hospital admission} - \item{\code{Specimen date}}{Date when specimen was received at laboratory} - \item{\code{Specimen type}}{Specimen type or group} - \item{\code{Specimen type (Numeric)}}{Translation of \code{"Specimen type"}} - \item{\code{Reason}}{Reason of request with Differential Diagnosis} - \item{\code{Isolate number}}{ID of isolate} - \item{\code{Organism type}}{Type of microorganism, can also be looked up using \code{\link{mo_type}}} - \item{\code{Serotype}}{Serotype of microorganism} - \item{\code{Beta-lactamase}}{Microorganism produces beta-lactamase?} - \item{\code{ESBL}}{Microorganism produces extended spectrum beta-lactamase?} - \item{\code{Carbapenemase}}{Microorganism produces carbapenemase?} - \item{\code{MRSA screening test}}{Microorganism is possible MRSA?} - \item{\code{Inducible clindamycin resistance}}{Clindamycin can be induced?} - \item{\code{Comment}}{Other comments} - \item{\code{Date of data entry}}{Date this data was entered in WHONET} - \item{\code{AMP_ND10:CIP_EE}}{27 different antibiotics. You can lookup the abbreviatons in the \code{\link{antibiotics}} data set, or use e.g. \code{\link{ab_name}("AMP")} to get the official name immediately. Before analysis, you should transform this to a valid antibiotic class, using \code{\link{as.rsi}}.} +\itemize{ +\item \verb{Identification number}\cr ID of the sample +\item \verb{Specimen number}\cr ID of the specimen +\item \code{Organism}\cr Name of the microorganism. Before analysis, you should transform this to a valid microbial class, using \code{\link[=as.mo]{as.mo()}}. +\item \code{Country}\cr Country of origin +\item \code{Laboratory}\cr Name of laboratory +\item \verb{Last name}\cr Last name of patient +\item \verb{First name}\cr Initial of patient +\item \code{Sex}\cr Gender of patient +\item \code{Age}\cr Age of patient +\item \verb{Age category}\cr Age group, can also be looked up using \code{\link[=age_groups]{age_groups()}} +\item \verb{Date of admission}\cr Date of hospital admission +\item \verb{Specimen date}\cr Date when specimen was received at laboratory +\item \verb{Specimen type}\cr Specimen type or group +\item \verb{Specimen type (Numeric)}\cr Translation of \code{"Specimen type"} +\item \code{Reason}\cr Reason of request with Differential Diagnosis +\item \verb{Isolate number}\cr ID of isolate +\item \verb{Organism type}\cr Type of microorganism, can also be looked up using \code{\link[=mo_type]{mo_type()}} +\item \code{Serotype}\cr Serotype of microorganism +\item \code{Beta-lactamase}\cr Microorganism produces beta-lactamase? +\item \code{ESBL}\cr Microorganism produces extended spectrum beta-lactamase? +\item \code{Carbapenemase}\cr Microorganism produces carbapenemase? +\item \verb{MRSA screening test}\cr Microorganism is possible MRSA? +\item \verb{Inducible clindamycin resistance}\cr Clindamycin can be induced? +\item \code{Comment}\cr Other comments +\item \verb{Date of data entry}\cr Date this data was entered in WHONET +\item \code{AMP_ND10:CIP_EE}\cr 27 different antibiotics. You can lookup the abbreviatons in the \link{antibiotics} data set, or use e.g. \code{\link[=ab_name]{ab_name("AMP")}} to get the official name immediately. Before analysis, you should transform this to a valid antibiotic class, using \code{\link[=as.rsi]{as.rsi()}}. }} \usage{ WHONET } \description{ -This example data set has the exact same structure as an export file from WHONET. Such files can be used with this package, as this example data set shows. The data itself was based on our \code{\link{example_isolates}} data set. +This example data set has the exact same structure as an export file from WHONET. Such files can be used with this package, as this example data set shows. The data itself was based on our \link{example_isolates} data set. } \section{Read more on our website!}{ diff --git a/man/ab_property.Rd b/man/ab_property.Rd index af3bb84e9..eb366109d 100644 --- a/man/ab_property.Rd +++ b/man/ab_property.Rd @@ -38,30 +38,30 @@ ab_info(x, language = get_locale(), ...) ab_property(x, property = "name", language = get_locale(), ...) } \arguments{ -\item{x}{any (vector of) text that can be coerced to a valid microorganism code with \code{\link{as.ab}}} +\item{x}{any (vector of) text that can be coerced to a valid microorganism code with \code{\link[=as.ab]{as.ab()}}} -\item{language}{language of the returned text, defaults to system language (see \code{\link{get_locale}}) and can also be set with \code{\link{getOption}("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} +\item{language}{language of the returned text, defaults to system language (see \code{\link[=get_locale]{get_locale()}}) and can also be set with \code{getOption("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} \item{tolower}{logical to indicate whether the first character of every output should be transformed to a lower case character. This will lead to e.g. "polymyxin B" and not "polymyxin b".} -\item{...}{other parameters passed on to \code{\link{as.ab}}} +\item{...}{other parameters passed on to \code{\link[=as.ab]{as.ab()}}} \item{administration}{way of administration, either \code{"oral"} or \code{"iv"}} \item{units}{a logical to indicate whether the units instead of the DDDs itself must be returned, see Examples} -\item{property}{one of the column names of one of the \code{\link{antibiotics}} data set} +\item{property}{one of the column names of one of the \link{antibiotics} data set} } \value{ \itemize{ - \item{An \code{integer} in case of \code{ab_cid}} - \item{A named \code{list} in case of \code{ab_info} and multiple \code{ab_synonyms}/\code{ab_tradenames}} - \item{A \code{double} in case of \code{ab_ddd}} - \item{A \code{character} in all other cases} +\item An \code{\link{integer}} in case of \code{\link[=ab_cid]{ab_cid()}} +\item A named \code{\link{list}} in case of \code{\link[=ab_info]{ab_info()}} and multiple \code{\link[=ab_synonyms]{ab_synonyms()}}/\code{\link[=ab_tradenames]{ab_tradenames()}} +\item A \code{\link{double}} in case of \code{\link[=ab_ddd]{ab_ddd()}} +\item A \code{\link{character}} in all other cases } } \description{ -Use these functions to return a specific property of an antibiotic from the \code{\link{antibiotics}} data set. All input values will be evaluated internally with \code{\link{as.ab}}. +Use these functions to return a specific property of an antibiotic from the \link{antibiotics} data set. All input values will be evaluated internally with \code{\link[=as.ab]{as.ab()}}. } \details{ All output will be \link{translate}d where possible. @@ -112,5 +112,5 @@ ab_name(21319) # "Flucloxacillin" (using CID) ab_name("J01CF05") # "Flucloxacillin" (using ATC) } \seealso{ -\code{\link{antibiotics}} +\link{antibiotics} } diff --git a/man/age.Rd b/man/age.Rd index e68e56f3b..bf8ffa5d3 100644 --- a/man/age.Rd +++ b/man/age.Rd @@ -7,11 +7,11 @@ age(x, reference = Sys.Date(), exact = FALSE, na.rm = FALSE) } \arguments{ -\item{x}{date(s), will be coerced with \code{\link{as.POSIXlt}}} +\item{x}{date(s), will be coerced with \code{\link[=as.POSIXlt]{as.POSIXlt()}}} -\item{reference}{reference date(s) (defaults to today), will be coerced with \code{\link{as.POSIXlt}} and cannot be lower than \code{x}} +\item{reference}{reference date(s) (defaults to today), will be coerced with \code{\link[=as.POSIXlt]{as.POSIXlt()}} and cannot be lower than \code{x}} -\item{exact}{a logical to indicate whether age calculation should be exact, i.e. with decimals. It divides the number of days of \href{https://en.wikipedia.org/wiki/Year-to-date}{year-to-date} (YTD) of \code{x} by the number of days in a year of \code{reference} (either 365 or 366).} +\item{exact}{a logical to indicate whether age calculation should be exact, i.e. with decimals. It divides the number of days of \href{https://en.wikipedia.org/wiki/Year-to-date}{year-to-date} (YTD) of \code{x} by the number of days in the year of \code{reference} (either 365 or 366).} \item{na.rm}{a logical to indicate whether missing values should be removed} } @@ -37,5 +37,5 @@ df$age_exact <- age(df$birth_date, exact = TRUE) df } \seealso{ -To split ages into groups, use the \code{\link{age_groups}} function. +To split ages into groups, use the \code{\link[=age_groups]{age_groups()}} function. } diff --git a/man/age_groups.Rd b/man/age_groups.Rd index 8272e5780..793a3e310 100644 --- a/man/age_groups.Rd +++ b/man/age_groups.Rd @@ -7,7 +7,7 @@ age_groups(x, split_at = c(12, 25, 55, 75), na.rm = FALSE) } \arguments{ -\item{x}{age, e.g. calculated with \code{\link{age}}} +\item{x}{age, e.g. calculated with \code{\link[=age]{age()}}} \item{split_at}{values to split \code{x} at, defaults to age groups 0-11, 12-24, 25-54, 55-74 and 75+. See Details.} @@ -22,15 +22,15 @@ Split ages into age groups defined by the \code{split} parameter. This allows fo \details{ To split ages, the input can be: \itemize{ - \item{A numeric vector. A vector of e.g. \code{c(10, 20)} will split on 0-9, 10-19 and 20+. A value of only \code{50} will split on 0-49 and 50+. - The default is to split on young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) and elderly (75+).} - \item{A character:} - \itemize{ - \item{\code{"children"} or \code{"kids"}, equivalent of: \code{c(0, 1, 2, 4, 6, 13, 18)}. This will split on 0, 1, 2-3, 4-5, 6-12, 13-17 and 18+.} - \item{\code{"elderly"} or \code{"seniors"}, equivalent of: \code{c(65, 75, 85)}. This will split on 0-64, 65-74, 75-84, 85+.} - \item{\code{"fives"}, equivalent of: \code{1:20 * 5}. This will split on 0-4, 5-9, 10-14, ..., 90-94, 95-99, 100+.} - \item{\code{"tens"}, equivalent of: \code{1:10 * 10}. This will split on 0-9, 10-19, 20-29, ... 80-89, 90-99, 100+.} - } +\item A numeric vector. A vector of e.g. \code{c(10, 20)} will split on 0-9, 10-19 and 20+. A value of only \code{50} will split on 0-49 and 50+. +The default is to split on young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) and elderly (75+). +\item A character: +\itemize{ +\item \code{"children"} or \code{"kids"}, equivalent of: \code{c(0, 1, 2, 4, 6, 13, 18)}. This will split on 0, 1, 2-3, 4-5, 6-12, 13-17 and 18+. +\item \code{"elderly"} or \code{"seniors"}, equivalent of: \code{c(65, 75, 85)}. This will split on 0-64, 65-74, 75-84, 85+. +\item \code{"fives"}, equivalent of: \code{1:20 * 5}. This will split on 0-4, 5-9, 10-14, ..., 90-94, 95-99, 100+. +\item \code{"tens"}, equivalent of: \code{1:10 * 10}. This will split on 0-9, 10-19, 20-29, ... 80-89, 90-99, 100+. +} } } \section{Read more on our website!}{ @@ -72,5 +72,5 @@ example_isolates \%>\% } } \seealso{ -To determine ages, based on one or more reference dates, use the \code{\link{age}} function. +To determine ages, based on one or more reference dates, use the \code{\link[=age]{age()}} function. } diff --git a/man/antibiotics.Rd b/man/antibiotics.Rd index 4a826fe43..4f1e12fad 100644 --- a/man/antibiotics.Rd +++ b/man/antibiotics.Rd @@ -5,34 +5,36 @@ \alias{antibiotics} \alias{antivirals} \title{Data sets with ~550 antimicrobials} -\format{\strong{For the \code{antibiotics} data set: a \code{\link{data.frame}} with 452 observations and 13 variables:} -\describe{ - \item{\code{ab}}{Antibiotic ID as used in this package (like \code{AMC}), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available} - \item{\code{atc}}{ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC, like \code{J01CR02}} - \item{\code{cid}}{Compound ID as found in PubChem} - \item{\code{name}}{Official name as used by WHONET/EARS-Net or the WHO} - \item{\code{group}}{A short and concise group name, based on WHONET and WHOCC definitions} - \item{\code{atc_group1}}{Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC, like \code{"Macrolides, lincosamides and streptogramins"}} - \item{\code{atc_group2}}{Official chemical subgroup (4th level ATC code) as defined by the WHOCC, like \code{"Macrolides"}} - \item{\code{abbr}}{List of abbreviations as used in many countries, also for antibiotic susceptibility testing (AST)} - \item{\code{synonyms}}{Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID} - \item{\code{oral_ddd}}{Defined Daily Dose (DDD), oral treatment} - \item{\code{oral_units}}{Units of \code{oral_ddd}} - \item{\code{iv_ddd}}{Defined Daily Dose (DDD), parenteral treatment} - \item{\code{iv_units}}{Units of \code{iv_ddd}} +\format{\subsection{For the \link{antibiotics} data set: a \code{\link{data.frame}} with 452 observations and 13 variables:}{ +\itemize{ +\item \code{ab}\cr Antibiotic ID as used in this package (like \code{AMC}), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available +\item \code{atc}\cr ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC, like \code{J01CR02} +\item \code{cid}\cr Compound ID as found in PubChem +\item \code{name}\cr Official name as used by WHONET/EARS-Net or the WHO +\item \code{group}\cr A short and concise group name, based on WHONET and WHOCC definitions +\item \code{atc_group1}\cr Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC, like \code{"Macrolides, lincosamides and streptogramins"} +\item \code{atc_group2}\cr Official chemical subgroup (4th level ATC code) as defined by the WHOCC, like \code{"Macrolides"} +\item \code{abbr}\cr List of abbreviations as used in many countries, also for antibiotic susceptibility testing (AST) +\item \code{synonyms}\cr Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID +\item \code{oral_ddd}\cr Defined Daily Dose (DDD), oral treatment +\item \code{oral_units}\cr Units of \code{oral_ddd} +\item \code{iv_ddd}\cr Defined Daily Dose (DDD), parenteral treatment +\item \code{iv_units}\cr Units of \code{iv_ddd} +} } -\strong{For the \code{antivirals} data set: a \code{\link{data.frame}} with 102 observations and 9 variables:} -\describe{ - \item{\code{atc}}{ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC} - \item{\code{cid}}{Compound ID as found in PubChem} - \item{\code{name}}{Official name as used by WHONET/EARS-Net or the WHO} - \item{\code{atc_group}}{Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC} - \item{\code{synonyms}}{Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID} - \item{\code{oral_ddd}}{Defined Daily Dose (DDD), oral treatment} - \item{\code{oral_units}}{Units of \code{oral_ddd}} - \item{\code{iv_ddd}}{Defined Daily Dose (DDD), parenteral treatment} - \item{\code{iv_units}}{Units of \code{iv_ddd}} +\subsection{For the \link{antivirals} data set: a \code{\link{data.frame}} with 102 observations and 9 variables:}{ +\itemize{ +\item \code{atc}\cr ATC code (Anatomical Therapeutic Chemical) as defined by the WHOCC +\item \code{cid}\cr Compound ID as found in PubChem +\item \code{name}\cr Official name as used by WHONET/EARS-Net or the WHO +\item \code{atc_group}\cr Official pharmacological subgroup (3rd level ATC code) as defined by the WHOCC +\item \code{synonyms}\cr Synonyms (often trade names) of a drug, as found in PubChem based on their compound ID +\item \code{oral_ddd}\cr Defined Daily Dose (DDD), oral treatment +\item \code{oral_units}\cr Units of \code{oral_ddd} +\item \code{iv_ddd}\cr Defined Daily Dose (DDD), parenteral treatment +\item \code{iv_units}\cr Units of \code{iv_ddd} +} }} \source{ World Health Organization (WHO) Collaborating Centre for Drug Statistics Methodology (WHOCC): \url{https://www.whocc.no/atc_ddd_index/} @@ -47,7 +49,7 @@ antibiotics antivirals } \description{ -Two data sets containing all antibiotics/antimycotics and antivirals. Use \code{\link{as.ab}} or one of the \code{\link{ab_property}} functions to retrieve values from the \code{antibiotics} data set. Three identifiers are included in this data set: an antibiotic ID (\code{ab}, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (\code{atc}) as defined by the WHO, and a Compound ID (\code{cid}) as found in PubChem. Other properties in this data set are derived from one or more of these codes. +Two data sets containing all antibiotics/antimycotics and antivirals. Use \code{\link[=as.ab]{as.ab()}} or one of the \code{\link[=ab_property]{ab_property()}} functions to retrieve values from the \link{antibiotics} data set. Three identifiers are included in this data set: an antibiotic ID (\code{ab}, primarily used in this package) as defined by WHONET/EARS-Net, an ATC code (\code{atc}) as defined by the WHO, and a Compound ID (\code{cid}) as found in PubChem. Other properties in this data set are derived from one or more of these codes. } \details{ Properties that are based on an ATC code are only available when an ATC is available. These properties are: \code{atc_group1}, \code{atc_group2}, \code{oral_ddd}, \code{oral_units}, \code{iv_ddd} and \code{iv_units}. @@ -57,13 +59,13 @@ Synonyms (i.e. trade names) are derived from the Compound ID (\code{cid}) and co \section{WHOCC}{ \if{html}{\figure{logo_who.png}{options: height=60px style=margin-bottom:5px} \cr} -This package contains \strong{all ~550 antibiotic, antimycotic and antiviral drugs} and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, \url{https://www.whocc.no}) and the Pharmaceuticals Community Register of the European Commission (\url{http://ec.europa.eu/health/documents/community-register/html/atc.htm}). +This package contains \strong{all ~550 antibiotic, antimycotic and antiviral drugs} and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, \url{https://www.whocc.no}) and the Pharmaceuticals Community Register of the European Commission (\url{http://ec.europa.eu/health/documents/community-register/html/atc.htm}). These have become the gold standard for international drug utilisation monitoring and research. The WHOCC is located in Oslo at the Norwegian Institute of Public Health and funded by the Norwegian government. The European Commission is the executive of the European Union and promotes its general interest. -\strong{NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See \url{https://www.whocc.no/copyright_disclaimer/}.} +\strong{NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package.} See \url{https://www.whocc.no/copyright_disclaimer/.} } \section{Read more on our website!}{ @@ -72,6 +74,6 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https:// } \seealso{ -\code{\link{microorganisms}} +\link{microorganisms} } \keyword{datasets} diff --git a/man/as.ab.Rd b/man/as.ab.Rd index bfdf2c8ae..8ae403a73 100644 --- a/man/as.ab.Rd +++ b/man/as.ab.Rd @@ -2,6 +2,7 @@ % Please edit documentation in R/ab.R \name{as.ab} \alias{as.ab} +\alias{ab} \alias{is.ab} \title{Transform to antibiotic ID} \usage{ @@ -15,15 +16,15 @@ is.ab(x) \item{...}{arguments passed on to internal functions} } \value{ -Character (vector) with class \code{"ab"}. Unknown values will return \code{NA}. +Character (vector) with class \code{\link{ab}}. Unknown values will return \code{NA}. } \description{ -Use this function to determine the antibiotic code of one or more antibiotics. The data set \code{\link{antibiotics}} will be searched for abbreviations, official names and synonyms (brand names). +Use this function to determine the antibiotic code of one or more antibiotics. The data set \link{antibiotics} will be searched for abbreviations, official names and synonyms (brand names). } \details{ -All entries in the \code{\link{antibiotics}} data set have three different identifiers: a human readable EARS-Net code (column \code{ab}, used by ECDC and WHONET), an ATC code (column \code{atc}, used by WHO), and a CID code (column \code{cid}, Compound ID, used by PubChem). The data set contains more than 5,000 official brand names from many different countries, as found in PubChem. +All entries in the \link{antibiotics} data set have three different identifiers: a human readable EARS-Net code (column \code{ab}, used by ECDC and WHONET), an ATC code (column \code{atc}, used by WHO), and a CID code (column \code{cid}, Compound ID, used by PubChem). The data set contains more than 5,000 official brand names from many different countries, as found in PubChem. -Use the \code{\link{ab_property}} functions to get properties based on the returned antibiotic ID, see Examples. +Use the \code{\link[=ab_property]{ab_property()}} functions to get properties based on the returned antibiotic ID, see Examples. } \section{Source}{ @@ -37,13 +38,13 @@ European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER: \url{htt \section{WHOCC}{ \if{html}{\figure{logo_who.png}{options: height=60px style=margin-bottom:5px} \cr} -This package contains \strong{all ~550 antibiotic, antimycotic and antiviral drugs} and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, \url{https://www.whocc.no}) and the Pharmaceuticals Community Register of the European Commission (\url{http://ec.europa.eu/health/documents/community-register/html/atc.htm}). +This package contains \strong{all ~550 antibiotic, antimycotic and antiviral drugs} and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, \url{https://www.whocc.no}) and the Pharmaceuticals Community Register of the European Commission (\url{http://ec.europa.eu/health/documents/community-register/html/atc.htm}). These have become the gold standard for international drug utilisation monitoring and research. The WHOCC is located in Oslo at the Norwegian Institute of Public Health and funded by the Norwegian government. The European Commission is the executive of the European Union and promotes its general interest. -\strong{NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package. See \url{https://www.whocc.no/copyright_disclaimer/}.} +\strong{NOTE: The WHOCC copyright does not allow use for commercial purposes, unlike any other info from this package.} See \url{https://www.whocc.no/copyright_disclaimer/.} } \section{Read more on our website!}{ @@ -70,5 +71,5 @@ ab_name("J01FA01") # "Erythromycin" ab_name("eryt") # "Erythromycin" } \seealso{ -\code{\link{antibiotics}} for the dataframe that is being used to determine ATCs. +\link{antibiotics} for the dataframe that is being used to determine ATCs. } diff --git a/man/as.disk.Rd b/man/as.disk.Rd index ccbc1d3a3..54c2f3953 100644 --- a/man/as.disk.Rd +++ b/man/as.disk.Rd @@ -16,13 +16,13 @@ is.disk(x) \item{na.rm}{a logical indicating whether missing values should be removed} } \value{ -Ordered integer factor with new class \code{disk} +Ordered integer factor with new class \code{\link{disk}} } \description{ -This transforms a vector to a new class \code{disk}, which is a growth zone size (around an antibiotic disk) in millimeters between 6 and 99. +This transforms a vector to a new class \code{\link{disk}}, which is a growth zone size (around an antibiotic disk) in millimeters between 6 and 99. } \details{ -Interpret disk values as RSI values with \code{\link{as.rsi}}. It supports guidelines from EUCAST and CLSI. +Interpret disk values as RSI values with \code{\link[=as.rsi]{as.rsi()}}. It supports guidelines from EUCAST and CLSI. } \section{Read more on our website!}{ @@ -41,5 +41,5 @@ as.rsi(x = 12, guideline = "CLSI") } \seealso{ -\code{\link{as.rsi}} +\code{\link[=as.rsi]{as.rsi()}} } diff --git a/man/as.mic.Rd b/man/as.mic.Rd index 34e7acf5f..330574c0a 100755 --- a/man/as.mic.Rd +++ b/man/as.mic.Rd @@ -16,13 +16,13 @@ is.mic(x) \item{na.rm}{a logical indicating whether missing values should be removed} } \value{ -Ordered factor with new class \code{mic} +Ordered \code{\link{factor}} with new class \code{\link{mic}} } \description{ -This transforms a vector to a new class \code{mic}, which is an ordered factor with valid MIC values as levels. Invalid MIC values will be translated as \code{NA} with a warning. +This transforms a vector to a new class \code{\link{mic}}, which is an ordered \code{\link{factor}} with valid MIC values as levels. Invalid MIC values will be translated as \code{NA} with a warning. } \details{ -Interpret MIC values as RSI values with \code{\link{as.rsi}}. It supports guidelines from EUCAST and CLSI. +To interpret MIC values as RSI values, use \code{\link[=as.rsi]{as.rsi()}} on MIC values. It supports guidelines from EUCAST and CLSI. } \section{Read more on our website!}{ @@ -51,5 +51,5 @@ barplot(mic_data) freq(mic_data) } \seealso{ -\code{\link{as.rsi}} +\code{\link[=as.rsi]{as.rsi()}} } diff --git a/man/as.mo.Rd b/man/as.mo.Rd index 85ffb00e5..9fe22a81d 100644 --- a/man/as.mo.Rd +++ b/man/as.mo.Rd @@ -10,8 +10,14 @@ \alias{clear_mo_history} \title{Transform to microorganism ID} \usage{ -as.mo(x, Becker = FALSE, Lancefield = FALSE, allow_uncertain = TRUE, - reference_df = get_mo_source(), ...) +as.mo( + x, + Becker = FALSE, + Lancefield = FALSE, + allow_uncertain = TRUE, + reference_df = get_mo_source(), + ... +) is.mo(x) @@ -24,33 +30,32 @@ mo_renamed() clear_mo_history(...) } \arguments{ -\item{x}{a character vector or a \code{data.frame} with one or two columns} +\item{x}{a character vector or a \code{\link{data.frame}} with one or two columns} -\item{Becker}{a logical to indicate whether \emph{Staphylococci} should be categorised into coagulase-negative \emph{Staphylococci} ("CoNS") and coagulase-positive \emph{Staphylococci} ("CoPS") instead of their own species, according to Karsten Becker \emph{et al.} [1,2]. Note that this does not include species that were newly named after these publications, like \emph{S. caeli}. +\item{Becker}{a logical to indicate whether \emph{Staphylococci} should be categorised into coagulase-negative \emph{Staphylococci} ("CoNS") and coagulase-positive \emph{Staphylococci} ("CoPS") instead of their own species, according to Karsten Becker \emph{et al.} (1,2). Note that this does not include species that were newly named after these publications, like \emph{S. caeli}. - This excludes \emph{Staphylococcus aureus} at default, use \code{Becker = "all"} to also categorise \emph{S. aureus} as "CoPS".} +This excludes \emph{Staphylococcus aureus} at default, use \code{Becker = "all"} to also categorise \emph{S. aureus} as "CoPS".} -\item{Lancefield}{a logical to indicate whether beta-haemolytic \emph{Streptococci} should be categorised into Lancefield groups instead of their own species, according to Rebecca C. Lancefield [3]. These \emph{Streptococci} will be categorised in their first group, e.g. \emph{Streptococcus dysgalactiae} will be group C, although officially it was also categorised into groups G and L. +\item{Lancefield}{a logical to indicate whether beta-haemolytic \emph{Streptococci} should be categorised into Lancefield groups instead of their own species, according to Rebecca C. Lancefield (3). These \emph{Streptococci} will be categorised in their first group, e.g. \emph{Streptococcus dysgalactiae} will be group C, although officially it was also categorised into groups G and L. - This excludes \emph{Enterococci} at default (who are in group D), use \code{Lancefield = "all"} to also categorise all \emph{Enterococci} as group D.} +This excludes \emph{Enterococci} at default (who are in group D), use \code{Lancefield = "all"} to also categorise all \emph{Enterococci} as group D.} -\item{allow_uncertain}{a number between 0 (or "none") and 3 (or "all"), or TRUE (= 2) or FALSE (= 0) to indicate whether the input should be checked for less probable results, see Details} +\item{allow_uncertain}{a number between \code{0} (or \code{"none"}) and \code{3} (or \code{"all"}), or \code{TRUE} (= \code{2}) or \code{FALSE} (= \code{0}) to indicate whether the input should be checked for less probable results, please see \emph{Details}} -\item{reference_df}{a \code{data.frame} to use for extra reference when translating \code{x} to a valid \code{mo}. See \code{\link{set_mo_source}} and \code{\link{get_mo_source}} to automate the usage of your own codes (e.g. used in your analysis or organisation).} +\item{reference_df}{a \code{\link{data.frame}} to use for extra reference when translating \code{x} to a valid \code{\link{mo}}. See \code{\link[=set_mo_source]{set_mo_source()}} and \code{\link[=get_mo_source]{get_mo_source()}} to automate the usage of your own codes (e.g. used in your analysis or organisation).} \item{...}{other parameters passed on to functions} } \value{ -Character (vector) with class \code{"mo"} +A \code{\link{character}} vector with class \code{\link{mo}} } \description{ -Use this function to determine a valid microorganism ID (\code{mo}). Determination is done using intelligent rules and the complete taxonomic kingdoms Bacteria, Chromista, Protozoa, Archaea and most microbial species from the kingdom Fungi (see Source). The input can be almost anything: a full name (like \code{"Staphylococcus aureus"}), an abbreviated name (like \code{"S. aureus"}), an abbreviation known in the field (like \code{"MRSA"}), or just a genus. Please see Examples. +Use this function to determine a valid microorganism ID (\code{\link{mo}}). Determination is done using intelligent rules and the complete taxonomic kingdoms Bacteria, Chromista, Protozoa, Archaea and most microbial species from the kingdom Fungi (see Source). The input can be almost anything: a full name (like \code{"Staphylococcus aureus"}), an abbreviated name (like \code{"S. aureus"}), an abbreviation known in the field (like \code{"MRSA"}), or just a genus. Please see \emph{Examples}. } \details{ -\strong{General info} \cr -A microorganism ID from this package (class: \code{mo}) typically looks like these examples:\cr -\preformatted{ - Code Full name +\subsection{General info}{ + +A microorganism ID from this package (class: \code{\link{mo}}) typically looks like these examples:\preformatted{ Code Full name --------------- -------------------------------------- B_KLBSL Klebsiella B_KLBSL_PNMN Klebsiella pneumoniae @@ -66,71 +71,75 @@ A microorganism ID from this package (class: \code{mo}) typically looks like the Values that cannot be coered will be considered 'unknown' and will get the MO code \code{UNKNOWN}. -Use the \code{\link{mo_property}_*} functions to get properties based on the returned code, see Examples. +Use the \code{\link[=mo_property]{mo_property_*}} functions to get properties based on the returned code, see Examples. -The algorithm uses data from the Catalogue of Life (see below) and from one other source (see \code{\link{microorganisms}}). +The algorithm uses data from the Catalogue of Life (see below) and from one other source (see \link{microorganisms}). -The \code{as.mo()} function uses several coercion rules for fast and logical results. It assesses the input matching criteria in the following order: -\itemize{ - \item{Human pathogenic prevalence: the function starts with more prevalent microorganisms, followed by less prevalent ones;} - \item{Taxonomic kingdom: the function starts with determining Bacteria, then Fungi, then Protozoa, then others;} - \item{Breakdown of input values to identify possible matches.} +The \code{\link[=as.mo]{as.mo()}} function uses several coercion rules for fast and logical results. It assesses the input matching criteria in the following order: +\enumerate{ +\item Human pathogenic prevalence: the function starts with more prevalent microorganisms, followed by less prevalent ones; +\item Taxonomic kingdom: the function starts with determining Bacteria, then Fungi, then Protozoa, then others; +\item Breakdown of input values to identify possible matches. } -This will lead to the effect that e.g. \code{"E. coli"} (a highly prevalent microorganism found in humans) will return the microbial ID of \emph{Escherichia coli} and not \emph{Entamoeba coli} (a less prevalent microorganism in humans), although the latter would alphabetically come first. +This will lead to the effect that e.g. \code{"E. coli"} (a highly prevalent microorganism found in humans) will return the microbial ID of \emph{Escherichia coli} and not \emph{Entamoeba coli} (a less prevalent microorganism in humans), although the latter would alphabetically come first. +} -\strong{Coping with uncertain results} \cr -In addition, the \code{as.mo()} function can differentiate four levels of uncertainty to guess valid results: +\subsection{Coping with uncertain results}{ +In addition, the \code{\link[=as.mo]{as.mo()}} function can differentiate four levels of uncertainty to guess valid results: \itemize{ - \item{Uncertainty level 0: no additional rules are applied;} - \item{Uncertainty level 1: allow previously accepted (but now invalid) taxonomic names and minor spelling errors;} - \item{Uncertainty level 2: allow all of level 1, strip values between brackets, inverse the words of the input, strip off text elements from the end keeping at least two elements;} - \item{Uncertainty level 3: allow all of level 1 and 2, strip off text elements from the end, allow any part of a taxonomic name.} +\item Uncertainty level 0: no additional rules are applied; +\item Uncertainty level 1: allow previously accepted (but now invalid) taxonomic names and minor spelling errors; +\item Uncertainty level 2: allow all of level 1, strip values between brackets, inverse the words of the input, strip off text elements from the end keeping at least two elements; +\item Uncertainty level 3: allow all of level 1 and 2, strip off text elements from the end, allow any part of a taxonomic name. } This leads to e.g.: - \itemize{ - \item{\code{"Streptococcus group B (known as S. agalactiae)"}. The text between brackets will be removed and a warning will be thrown that the result \emph{Streptococcus group B} (\code{B_STRPT_GRPB}) needs review.} - \item{\code{"S. aureus - please mind: MRSA"}. The last word will be stripped, after which the function will try to find a match. If it does not, the second last word will be stripped, etc. Again, a warning will be thrown that the result \emph{Staphylococcus aureus} (\code{B_STPHY_AURS}) needs review.} - \item{\code{"Fluoroquinolone-resistant Neisseria gonorrhoeae"}. The first word will be stripped, after which the function will try to find a match. A warning will be thrown that the result \emph{Neisseria gonorrhoeae} (\code{B_NESSR_GNRR}) needs review.} +\item \code{"Streptococcus group B (known as S. agalactiae)"}. The text between brackets will be removed and a warning will be thrown that the result \emph{Streptococcus group B} (\code{B_STRPT_GRPB}) needs review. +\item \code{"S. aureus - please mind: MRSA"}. The last word will be stripped, after which the function will try to find a match. If it does not, the second last word will be stripped, etc. Again, a warning will be thrown that the result \emph{Staphylococcus aureus} (\code{B_STPHY_AURS}) needs review. +\item \code{"Fluoroquinolone-resistant Neisseria gonorrhoeae"}. The first word will be stripped, after which the function will try to find a match. A warning will be thrown that the result \emph{Neisseria gonorrhoeae} (\code{B_NESSR_GNRR}) needs review. } The level of uncertainty can be set using the argument \code{allow_uncertain}. The default is \code{allow_uncertain = TRUE}, which is equal to uncertainty level 2. Using \code{allow_uncertain = FALSE} is equal to uncertainty level 0 and will skip all rules. You can also use e.g. \code{as.mo(..., allow_uncertain = 1)} to only allow up to level 1 uncertainty. -There are three helper functions that can be run after then \code{as.mo()} function: +There are three helper functions that can be run after then \code{\link[=as.mo]{as.mo()}} function: \itemize{ - \item{Use \code{mo_uncertainties()} to get a \code{data.frame} with all values that were coerced to a valid value, but with uncertainty. The output contains a score, that is calculated as \code{(n - 0.5 * L) / n}, where \emph{n} is the number of characters of the returned full name of the microorganism, and \emph{L} is the \href{https://en.wikipedia.org/wiki/Levenshtein_distance}{Levenshtein distance} between that full name and the user input.} - \item{Use \code{mo_failures()} to get a vector with all values that could not be coerced to a valid value.} - \item{Use \code{mo_renamed()} to get a \code{data.frame} with all values that could be coerced based on an old, previously accepted taxonomic name.} -} +\item Use \code{\link[=mo_uncertainties]{mo_uncertainties()}} to get a \code{\link{data.frame}} with all values that were coerced to a valid value, but with uncertainty. The output contains a score, that is calculated as \eqn{(n - 0.5 * L) / n}, where \emph{n} is the number of characters of the returned full name of the microorganism, and \emph{L} is the \href{https://en.wikipedia.org/wiki/Levenshtein_distance}{Levenshtein distance} between that full name and the user input. +\item Use \code{\link[=mo_failures]{mo_failures()}} to get a \code{\link{vector}} with all values that could not be coerced to a valid value. +\item Use \code{\link[=mo_renamed]{mo_renamed()}} to get a \code{\link{data.frame}} with all values that could be coerced based on an old, previously accepted taxonomic name. +} +} -\strong{Microbial prevalence of pathogens in humans} \cr -The intelligent rules consider the prevalence of microorganisms in humans grouped into three groups, which is available as the \code{prevalence} columns in the \code{\link{microorganisms}} and \code{\link{microorganisms.old}} data sets. The grouping into prevalence groups is based on experience from several microbiological laboratories in the Netherlands in conjunction with international reports on pathogen prevalence. +\subsection{Microbial prevalence of pathogens in humans}{ -Group 1 (most prevalent microorganisms) consists of all microorganisms where the taxonomic class is Gammaproteobacteria or where the taxonomic genus is \emph{Enterococcus}, \emph{Staphylococcus} or \emph{Streptococcus}. This group consequently contains all common Gram-negative bacteria, such as \emph{Pseudomonas} and \emph{Legionella} and all species within the order Enterobacteriales. +The intelligent rules consider the prevalence of microorganisms in humans grouped into three groups, which is available as the \code{prevalence} columns in the \link{microorganisms} and \link{microorganisms.old} data sets. The grouping into prevalence groups is based on experience from several microbiological laboratories in the Netherlands in conjunction with international reports on pathogen prevalence. -Group 2 consists of all microorganisms where the taxonomic phylum is Proteobacteria, Firmicutes, Actinobacteria or Sarcomastigophora, or where the taxonomic genus is \emph{Aspergillus}, \emph{Bacteroides}, \emph{Candida}, \emph{Capnocytophaga}, \emph{Chryseobacterium}, \emph{Cryptococcus}, \emph{Elisabethkingia}, \emph{Flavobacterium}, \emph{Fusobacterium}, \emph{Giardia}, \emph{Leptotrichia}, \emph{Mycoplasma}, \emph{Prevotella}, \emph{Rhodotorula}, \emph{Treponema}, \emph{Trichophyton} or \emph{Ureaplasma}. +Group 1 (most prevalent microorganisms) consists of all microorganisms where the taxonomic class is Gammaproteobacteria or where the taxonomic genus is \emph{Enterococcus}, \emph{Staphylococcus} or \emph{Streptococcus}. This group consequently contains all common Gram-negative bacteria, such as \emph{Pseudomonas} and \emph{Legionella} and all species within the order Enterobacteriales. + +Group 2 consists of all microorganisms where the taxonomic phylum is Proteobacteria, Firmicutes, Actinobacteria or Sarcomastigophora, or where the taxonomic genus is \emph{Aspergillus}, \emph{Bacteroides}, \emph{Candida}, \emph{Capnocytophaga}, \emph{Chryseobacterium}, \emph{Cryptococcus}, \emph{Elisabethkingia}, \emph{Flavobacterium}, \emph{Fusobacterium}, \emph{Giardia}, \emph{Leptotrichia}, \emph{Mycoplasma}, \emph{Prevotella}, \emph{Rhodotorula}, \emph{Treponema}, \emph{Trichophyton} or \emph{Ureaplasma}. Group 3 (least prevalent microorganisms) consists of all other microorganisms. +} -\strong{Self-learning algorithm} \cr -The \code{as.mo()} function gains experience from previously determined microorganism IDs and learns from it. This drastically improves both speed and reliability. Use \code{clear_mo_history()} to reset the algorithms. Only experience from your current \code{AMR} package version is used. This is done because in the future the taxonomic tree (which is included in this package) may change for any organism and it consequently has to rebuild its knowledge. +\subsection{Self-learning algorithm}{ + +The \code{\link[=as.mo]{as.mo()}} function gains experience from previously determined microorganism IDs and learns from it. This drastically improves both speed and reliability. Use \code{\link[=clear_mo_history]{clear_mo_history()}} to reset the algorithms. Only experience from your current \code{AMR} package version is used. This is done because in the future the taxonomic tree (which is included in this package) may change for any organism and it consequently has to rebuild its knowledge. Usually, any guess after the first try runs 80-95\% faster than the first try. This resets with every update of this \code{AMR} package since results are saved to your local package library folder. } +} \section{Source}{ -[1] Becker K \emph{et al.} \strong{Coagulase-Negative Staphylococci}. 2014. Clin Microbiol Rev. 27(4): 870–926. \url{https://dx.doi.org/10.1128/CMR.00109-13} - -[2] Becker K \emph{et al.} \strong{Implications of identifying the recently defined members of the \emph{S. aureus} complex, \emph{S. argenteus} and \emph{S. schweitzeri}: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS).} 2019. Clin Microbiol Infect. \url{https://doi.org/10.1016/j.cmi.2019.02.028} - -[3] Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} - -[4] Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link{catalogue_of_life_version}()}). +\enumerate{ +\item Becker K \emph{et al.} \strong{Coagulase-Negative Staphylococci}. 2014. Clin Microbiol Rev. 27(4): 870–926. \url{https://dx.doi.org/10.1128/CMR.00109-13} +\item Becker K \emph{et al.} \strong{Implications of identifying the recently defined members of the \emph{S. aureus} complex, \emph{S. argenteus} and \emph{S. schweitzeri}: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS).} 2019. Clin Microbiol Infect. \url{https://doi.org/10.1016/j.cmi.2019.02.028} +\item Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} +\item Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}). +} } \section{Catalogue of Life}{ @@ -138,7 +147,7 @@ This resets with every update of this \code{AMR} package since results are saved \if{html}{\figure{logo_col.png}{options: height=40px style=margin-bottom:5px} \cr} This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (\url{http://www.catalogueoflife.org}). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. -\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link{catalogue_of_life_version}()}. +\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}. } \section{Read more on our website!}{ @@ -203,8 +212,9 @@ df <- df \%>\% } } \seealso{ -\code{\link{microorganisms}} for the \code{data.frame} that is being used to determine ID's. \cr -The \code{\link{mo_property}} functions (like \code{\link{mo_genus}}, \code{\link{mo_gramstain}}) to get properties based on the returned code. +\link{microorganisms} for the \code{\link{data.frame}} that is being used to determine ID's. + +The \code{\link[=mo_property]{mo_property()}} functions (like \code{\link[=mo_genus]{mo_genus()}}, \code{\link[=mo_gramstain]{mo_gramstain()}}) to get properties based on the returned code. } \keyword{Becker} \keyword{Lancefield} diff --git a/man/as.rsi.Rd b/man/as.rsi.Rd index b19246c33..85f30563f 100755 --- a/man/as.rsi.Rd +++ b/man/as.rsi.Rd @@ -16,54 +16,52 @@ as.rsi(x, ...) \method{as.rsi}{disk}(x, mo, ab, guideline = "EUCAST", ...) -\method{as.rsi}{data.frame}(x, col_mo = NULL, guideline = "EUCAST", - ...) +\method{as.rsi}{data.frame}(x, col_mo = NULL, guideline = "EUCAST", ...) is.rsi(x) is.rsi.eligible(x, threshold = 0.05) } \arguments{ -\item{x}{vector of values (for class \code{mic}: an MIC value in mg/L, for class \code{disk}: a disk diffusion radius in millimeters)} +\item{x}{vector of values (for class \code{\link{mic}}: an MIC value in mg/L, for class \code{\link{disk}}: a disk diffusion radius in millimeters)} \item{...}{parameters passed on to methods} -\item{mo}{a microorganism code, generated with \code{\link{as.mo}}} +\item{mo}{a microorganism code, generated with \code{\link[=as.mo]{as.mo()}}} -\item{ab}{an antimicrobial code, generated with \code{\link{as.ab}}} +\item{ab}{an antimicrobial code, generated with \code{\link[=as.ab]{as.ab()}}} \item{guideline}{defaults to the latest included EUCAST guideline, run \code{unique(AMR::rsi_translation$guideline)} for all options} -\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link{as.mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.} +\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link[=as.mo]{as.mo()}}), defaults to the first column of class \code{\link{mo}}. Values will be coerced using \code{\link[=as.mo]{as.mo()}}.} -\item{threshold}{maximum fraction of invalid antimicrobial interpretations of \code{x}, see Examples} +\item{threshold}{maximum fraction of invalid antimicrobial interpretations of \code{x}, please see \emph{Examples}} } \value{ -Ordered factor with new class \code{rsi} +Ordered factor with new class \code{\link{rsi}} } \description{ -Interpret MIC values according to EUCAST or CLSI, or clean up existing RSI values. This transforms the input to a new class \code{rsi}, which is an ordered factor with levels \code{S < I < R}. Invalid antimicrobial interpretations will be translated as \code{NA} with a warning. +Interpret MIC values and disk diffusion diameters according to EUCAST or CLSI, or clean up existing RSI values. This transforms the input to a new class \code{\link{rsi}}, which is an ordered factor with levels \verb{S < I < R}. Invalid antimicrobial interpretations will be translated as \code{NA} with a warning. } \details{ Run \code{unique(AMR::rsi_translation$guideline)} for a list of all supported guidelines. -After using \code{as.rsi}, you can use \code{\link{eucast_rules}} to (1) apply inferred susceptibility and resistance based on results of other antimicrobials and (2) apply intrinsic resistance based on taxonomic properties of a microorganism. +After using \code{\link[=as.rsi]{as.rsi()}}, you can use \code{\link[=eucast_rules]{eucast_rules()}} to (1) apply inferred susceptibility and resistance based on results of other antimicrobials and (2) apply intrinsic resistance based on taxonomic properties of a microorganism. -The function \code{is.rsi.eligible} returns \code{TRUE} when a columns contains at most 5\% invalid antimicrobial interpretations (not S and/or I and/or R), and \code{FALSE} otherwise. The threshold of 5\% can be set with the \code{threshold} parameter. +The function \code{\link[=is.rsi.eligible]{is.rsi.eligible()}} returns \code{TRUE} when a columns contains at most 5\% invalid antimicrobial interpretations (not S and/or I and/or R), and \code{FALSE} otherwise. The threshold of 5\% can be set with the \code{threshold} parameter. } \section{Interpretation of S, I and R}{ In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". - \itemize{ - \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} - \item{\strong{I} - }{Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.} - \item{\strong{R} - }{Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.} +\item \strong{S} - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent. +\item \strong{I} - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection. +\item \strong{R} - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure. } Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. -This AMR package honours this new insight. Use \code{\link{susceptibility}()} (equal to \code{\link{proportion_SI}()}) to determine antimicrobial susceptibility and \code{\link{count_susceptible}()} (equal to \code{\link{count_SI}()}) to count susceptible isolates. +This AMR package honours this new insight. Use \code{\link[=susceptibility]{susceptibility()}} (equal to \code{\link[=proportion_SI]{proportion_SI()}}) to determine antimicrobial susceptibility and \code{\link[=count_susceptible]{count_susceptible()}} (equal to \code{\link[=count_SI]{count_SI()}}) to count susceptible isolates. } \section{Read more on our website!}{ @@ -109,5 +107,5 @@ is.rsi.eligible(WHONET$`First name`) # fails, >80\% is invalid is.rsi.eligible(WHONET$`First name`, threshold = 0.99) # succeeds } \seealso{ -\code{\link{as.mic}} +\code{\link[=as.mic]{as.mic()}} } diff --git a/man/atc_online.Rd b/man/atc_online.Rd index b1af92937..4379cf48d 100644 --- a/man/atc_online.Rd +++ b/man/atc_online.Rd @@ -9,8 +9,12 @@ \url{https://www.whocc.no/atc_ddd_alterations__cumulative/ddd_alterations/abbrevations/} } \usage{ -atc_online_property(atc_code, property, administration = "O", - url = "https://www.whocc.no/atc_ddd_index/?code=\%s&showdescription=no") +atc_online_property( + atc_code, + property, + administration = "O", + url = "https://www.whocc.no/atc_ddd_index/?code=\%s&showdescription=no" +) atc_online_groups(atc_code, ...) @@ -23,38 +27,40 @@ atc_online_ddd(atc_code, ...) \item{administration}{type of administration when using \code{property = "Adm.R"}, see Details} -\item{url}{url of website of the WHO. The sign \code{\%s} can be used as a placeholder for ATC codes.} +\item{url}{url of website of the WHO. The sign \verb{\%s} can be used as a placeholder for ATC codes.} \item{...}{parameters to pass on to \code{atc_property}} } \description{ -Gets data from the WHO to determine properties of an ATC (e.g. an antibiotic) like name, defined daily dose (DDD) or standard unit. \cr \strong{This function requires an internet connection.} +Gets data from the WHO to determine properties of an ATC (e.g. an antibiotic) like name, defined daily dose (DDD) or standard unit. + +\strong{This function requires an internet connection.} } \details{ Options for parameter \code{administration}: \itemize{ - \item{\code{"Implant"}}{ = Implant} - \item{\code{"Inhal"}}{ = Inhalation} - \item{\code{"Instill"}}{ = Instillation} - \item{\code{"N"}}{ = nasal} - \item{\code{"O"}}{ = oral} - \item{\code{"P"}}{ = parenteral} - \item{\code{"R"}}{ = rectal} - \item{\code{"SL"}}{ = sublingual/buccal} - \item{\code{"TD"}}{ = transdermal} - \item{\code{"V"}}{ = vaginal} +\item \code{"Implant"} = Implant +\item \code{"Inhal"} = Inhalation +\item \code{"Instill"} = Instillation +\item \code{"N"} = nasal +\item \code{"O"} = oral +\item \code{"P"} = parenteral +\item \code{"R"} = rectal +\item \code{"SL"} = sublingual/buccal +\item \code{"TD"} = transdermal +\item \code{"V"} = vaginal } Abbreviations of return values when using \code{property = "U"} (unit): \itemize{ - \item{\code{"g"}}{ = gram} - \item{\code{"mg"}}{ = milligram} - \item{\code{"mcg"}}{ = microgram} - \item{\code{"U"}}{ = unit} - \item{\code{"TU"}}{ = thousand units} - \item{\code{"MU"}}{ = million units} - \item{\code{"mmol"}}{ = millimole} - \item{\code{"ml"}}{ = milliliter (e.g. eyedrops)} +\item \code{"g"} = gram +\item \code{"mg"} = milligram +\item `"mcg"`` = microgram +\item \code{"U"} = unit +\item \code{"TU"} = thousand units +\item \code{"MU"} = million units +\item \code{"mmol"} = millimole +\item \code{"ml"} = milliliter (e.g. eyedrops) } } \section{Read more on our website!}{ diff --git a/man/availability.Rd b/man/availability.Rd index 38202d10b..74bd416e1 100644 --- a/man/availability.Rd +++ b/man/availability.Rd @@ -7,18 +7,18 @@ availability(tbl, width = NULL) } \arguments{ -\item{tbl}{a \code{data.frame} or \code{list}} +\item{tbl}{a \code{\link{data.frame}} or \code{\link{list}}} \item{width}{number of characters to present the visual availability, defaults to filling the width of the console} } \value{ -\code{data.frame} with column names of \code{tbl} as row names +\code{\link{data.frame}} with column names of \code{tbl} as row names } \description{ -Easy check for availability of columns in a data set. This makes it easy to get an idea of which antimicrobial combination can be used for calculation with e.g. \code{\link{resistance}}. +Easy check for availability of columns in a data set. This makes it easy to get an idea of which antimicrobial combination can be used for calculation with e.g. \code{\link[=resistance]{resistance()}}. } \details{ -The function returns a \code{data.frame} with columns \code{"resistant"} and \code{"visual_resistance"}. The values in that columns are calculated with \code{\link{resistance}}. +The function returns a \code{\link{data.frame}} with columns \code{"resistant"} and \code{"visual_resistance"}. The values in that columns are calculated with \code{\link[=resistance]{resistance()}}. } \section{Read more on our website!}{ diff --git a/man/bug_drug_combinations.Rd b/man/bug_drug_combinations.Rd index 64c83ebbe..30501d1b8 100644 --- a/man/bug_drug_combinations.Rd +++ b/man/bug_drug_combinations.Rd @@ -10,25 +10,32 @@ \usage{ bug_drug_combinations(x, col_mo = NULL, FUN = mo_shortname, ...) -\method{format}{bug_drug_combinations}(x, - translate_ab = "name (ab, atc)", language = get_locale(), - minimum = 30, combine_SI = TRUE, combine_IR = FALSE, - add_ab_group = TRUE, remove_intrinsic_resistant = FALSE, - decimal.mark = getOption("OutDec"), big.mark = ifelse(decimal.mark == - ",", ".", ","), ...) +\method{format}{bug_drug_combinations}( + x, + translate_ab = "name (ab, atc)", + language = get_locale(), + minimum = 30, + combine_SI = TRUE, + combine_IR = FALSE, + add_ab_group = TRUE, + remove_intrinsic_resistant = FALSE, + decimal.mark = getOption("OutDec"), + big.mark = ifelse(decimal.mark == ",", ".", ","), + ... +) } \arguments{ \item{x}{data with antibiotic columns, like e.g. \code{AMX} and \code{AMC}} -\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link{as.mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.} +\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link[=as.mo]{as.mo()}}), defaults to the first column of class \code{\link{mo}}. Values will be coerced using \code{\link[=as.mo]{as.mo()}}.} -\item{FUN}{the function to call on the \code{mo} column to transform the microorganism IDs, defaults to \code{\link{mo_shortname}}} +\item{FUN}{the function to call on the \code{mo} column to transform the microorganism IDs, defaults to \code{\link[=mo_shortname]{mo_shortname()}}} \item{...}{arguments passed on to \code{FUN}} -\item{translate_ab}{a character of length 1 containing column names of the \code{\link{antibiotics}} data set} +\item{translate_ab}{a character of length 1 containing column names of the \link{antibiotics} data set} -\item{language}{language of the returned text, defaults to system language (see \code{\link{get_locale}}) and can also be set with \code{\link{getOption}("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} +\item{language}{language of the returned text, defaults to system language (see \code{\link[=get_locale]{get_locale()}}) and can also be set with \code{getOption("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} \item{minimum}{the minimum allowed number of available (tested) isolates. Any isolate count lower than \code{minimum} will return \code{NA} with a warning. The default number of \code{30} isolates is advised by the Clinical and Laboratory Standards Institute (CLSI) as best practice, see Source.} @@ -48,13 +55,13 @@ bug_drug_combinations(x, col_mo = NULL, FUN = mo_shortname, ...) decimal point.} } \value{ -The function \code{bug_drug_combinations} returns a \code{data.frame} with columns "mo", "ab", "S", "I", "R" and "total". +The function \code{\link[=bug_drug_combinations]{bug_drug_combinations()}} returns a \code{\link{data.frame}} with columns "mo", "ab", "S", "I", "R" and "total". } \description{ -Determine antimicrobial resistance (AMR) of all bug-drug combinations in your data set where at least 30 (default) isolates are available per species. Use \code{format} on the result to prettify it to a publicable/printable format, see Examples. +Determine antimicrobial resistance (AMR) of all bug-drug combinations in your data set where at least 30 (default) isolates are available per species. Use \code{\link[=format]{format()}} on the result to prettify it to a publicable/printable format, see Examples. } \details{ -The function \code{format} calculates the resistance per bug-drug combination. Use \code{combine_IR = FALSE} (default) to test R vs. S+I and \code{combine_IR = TRUE} to test R+I vs. S. +The function \code{\link[=format]{format()}} calculates the resistance per bug-drug combination. Use \code{combine_IR = FALSE} (default) to test R vs. S+I and \code{combine_IR = TRUE} to test R+I vs. S. The language of the output can be overwritten with \code{options(AMR_locale)}, please see \link{translate}. } diff --git a/man/catalogue_of_life.Rd b/man/catalogue_of_life.Rd index fa8bf2749..50cf7ae01 100644 --- a/man/catalogue_of_life.Rd +++ b/man/catalogue_of_life.Rd @@ -11,19 +11,19 @@ This package contains the complete taxonomic tree of almost all microorganisms f \if{html}{\figure{logo_col.png}{options: height=40px style=margin-bottom:5px} \cr} This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (\url{http://www.catalogueoflife.org}). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. -\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link{catalogue_of_life_version}()}. +\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}. } \section{Included taxa}{ Included are: \itemize{ - \item{All ~61,000 (sub)species from the kingdoms of Archaea, Bacteria, Chromista and Protozoa} - \item{All ~8,500 (sub)species from these orders of the kingdom of Fungi: Eurotiales, Microascales, Mucorales, Onygenales, Pneumocystales, Saccharomycetales, Schizosaccharomycetales and Tremellales. The kingdom of Fungi is a very large taxon with almost 300,000 different (sub)species, of which most are not microbial (but rather macroscopic, like mushrooms). Because of this, not all fungi fit the scope of this package and including everything would tremendously slow down our algorithms too. By only including the aforementioned taxonomic orders, the most relevant fungi are covered (like all species of \emph{Aspergillus}, \emph{Candida}, \emph{Cryptococcus}, \emph{Histplasma}, \emph{Pneumocystis}, \emph{Saccharomyces} and \emph{Trichophyton}).} - \item{All ~150 (sub)species from ~100 other relevant genera from the kingdom of Animalia (like \emph{Strongyloides} and \emph{Taenia})} - \item{All ~23,000 previously accepted names of all included (sub)species (these were taxonomically renamed)} - \item{The complete taxonomic tree of all included (sub)species: from kingdom to subspecies} - \item{The responsible author(s) and year of scientific publication} +\item All ~61,000 (sub)species from the kingdoms of Archaea, Bacteria, Chromista and Protozoa +\item All ~8,500 (sub)species from these orders of the kingdom of Fungi: Eurotiales, Microascales, Mucorales, Onygenales, Pneumocystales, Saccharomycetales, Schizosaccharomycetales and Tremellales. The kingdom of Fungi is a very large taxon with almost 300,000 different (sub)species, of which most are not microbial (but rather macroscopic, like mushrooms). Because of this, not all fungi fit the scope of this package and including everything would tremendously slow down our algorithms too. By only including the aforementioned taxonomic orders, the most relevant fungi are covered (like all species of \emph{Aspergillus}, \emph{Candida}, \emph{Cryptococcus}, \emph{Histplasma}, \emph{Pneumocystis}, \emph{Saccharomyces} and \emph{Trichophyton}). +\item All ~150 (sub)species from ~100 other relevant genera from the kingdom of Animalia (like \emph{Strongyloides} and \emph{Taenia}) +\item All ~23,000 previously accepted names of all included (sub)species (these were taxonomically renamed) +\item The complete taxonomic tree of all included (sub)species: from kingdom to subspecies +\item The responsible author(s) and year of scientific publication } The Catalogue of Life (\url{http://www.catalogueoflife.org}) is the most comprehensive and authoritative global index of species currently available. It holds essential information on the names, relationships and distributions of over 1.9 million species. The Catalogue of Life is used to support the major biodiversity and conservation information services such as the Global Biodiversity Information Facility (GBIF), Encyclopedia of Life (EoL) and the International Union for Conservation of Nature Red List. It is recognised by the Convention on Biological Diversity as a significant component of the Global Taxonomy Initiative and a contribution to Target 1 of the Global Strategy for Plant Conservation. @@ -60,13 +60,13 @@ mo_gramstain("E. coli") # based on kingdom and phylum, see ?mo_gramstain mo_ref("E. coli") # [1] "Castellani et al., 1919" -# Do not get mistaken - the package only includes microorganisms +# Do not get mistaken - this package is about microorganisms mo_kingdom("C. elegans") # [1] "Bacteria" # Bacteria?! mo_name("C. elegans") # [1] "Chroococcus limneticus elegans" # Because a microorganism was found } \seealso{ -Data set \code{\link{microorganisms}} for the actual data. \cr -Function \code{\link{as.mo}()} to use the data for intelligent determination of microorganisms. +Data set \link{microorganisms} for the actual data. \cr +Function \code{\link[=as.mo]{as.mo()}} to use the data for intelligent determination of microorganisms. } diff --git a/man/catalogue_of_life_version.Rd b/man/catalogue_of_life_version.Rd index a24d58064..55fbdc758 100644 --- a/man/catalogue_of_life_version.Rd +++ b/man/catalogue_of_life_version.Rd @@ -7,20 +7,20 @@ catalogue_of_life_version() } \value{ -a \code{list}, which prints in pretty format +a \code{\link{list}}, which prints in pretty format } \description{ This function returns information about the included data from the Catalogue of Life. } \details{ -For DSMZ, see \code{?microorganisms}. +For DSMZ, see \link{microorganisms}. } \section{Catalogue of Life}{ \if{html}{\figure{logo_col.png}{options: height=40px style=margin-bottom:5px} \cr} This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (\url{http://www.catalogueoflife.org}). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. -\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link{catalogue_of_life_version}()}. +\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}. } \section{Read more on our website!}{ @@ -34,5 +34,5 @@ microorganisms \%>\% freq(kingdom) microorganisms \%>\% group_by(kingdom) \%>\% freq(phylum, nmax = NULL) } \seealso{ -\code{\link{microorganisms}} +\link{microorganisms} } diff --git a/man/count.Rd b/man/count.Rd index d5f82fa71..1ad0d81a1 100644 --- a/man/count.Rd +++ b/man/count.Rd @@ -12,7 +12,7 @@ \alias{count_all} \alias{n_rsi} \alias{count_df} -\title{Count isolates} +\title{Count available isolates} \usage{ count_resistant(..., only_all_tested = FALSE) @@ -32,62 +32,63 @@ count_all(..., only_all_tested = FALSE) n_rsi(..., only_all_tested = FALSE) -count_df(data, translate_ab = "name", language = get_locale(), - combine_SI = TRUE, combine_IR = FALSE) +count_df( + data, + translate_ab = "name", + language = get_locale(), + combine_SI = TRUE, + combine_IR = FALSE +) } \arguments{ -\item{...}{one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with \code{\link{as.rsi}} if needed.} +\item{...}{one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with \code{\link[=as.rsi]{as.rsi()}} if needed.} -\item{only_all_tested}{(for combination therapies, i.e. using more than one variable for \code{...}) a logical to indicate that isolates must be tested for all antibiotics, see section \emph{Combination therapy} below} +\item{only_all_tested}{(for combination therapies, i.e. using more than one variable for \code{...}): a logical to indicate that isolates must be tested for all antibiotics, see section \emph{Combination therapy} below} -\item{data}{a \code{data.frame} containing columns with class \code{rsi} (see \code{\link{as.rsi}})} +\item{data}{a \code{\link{data.frame}} containing columns with class \code{\link{rsi}} (see \code{\link[=as.rsi]{as.rsi()}})} -\item{translate_ab}{a column name of the \code{\link{antibiotics}} data set to translate the antibiotic abbreviations to, using \code{\link{ab_property}}} +\item{translate_ab}{a column name of the \link{antibiotics} data set to translate the antibiotic abbreviations to, using \code{\link[=ab_property]{ab_property()}}} -\item{language}{language of the returned text, defaults to system language (see \code{\link{get_locale}}) and can also be set with \code{\link{getOption}("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} +\item{language}{language of the returned text, defaults to system language (see \code{\link[=get_locale]{get_locale()}}) and can also be set with \code{getOption("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} \item{combine_SI}{a logical to indicate whether all values of S and I must be merged into one, so the output only consists of S+I vs. R (susceptible vs. resistant). This used to be the parameter \code{combine_IR}, but this now follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. Default is \code{TRUE}.} \item{combine_IR}{a logical to indicate whether all values of I and R must be merged into one, so the output only consists of S vs. I+R (susceptible vs. non-susceptible). This is outdated, see parameter \code{combine_SI}.} } \value{ -Integer +An \code{\link{integer}} } \description{ -These functions can be used to count resistant/susceptible microbial isolates. All functions support quasiquotation with pipes, can be used in \code{dplyr}s \code{\link[dplyr]{summarise}} and support grouped variables, see \emph{Examples}. +These functions can be used to count resistant/susceptible microbial isolates. All functions support quasiquotation with pipes, can be used in \code{\link[=summarise]{summarise()}} and support grouped variables, see \emph{Examples}. -\code{count_resistant()} should be used to count resistant isolates, \code{count_susceptible()} should be used to count susceptible isolates.\cr +\code{\link[=count_resistant]{count_resistant()}} should be used to count resistant isolates, \code{\link[=count_susceptible]{count_susceptible()}} should be used to count susceptible isolates. } \details{ -These functions are meant to count isolates. Use the \code{\link{resistance}}/\code{\link{susceptibility}} functions to calculate microbial resistance/susceptibility. +These functions are meant to count isolates. Use the \code{\link[=resistance]{resistance()}}/\code{\link[=susceptibility]{susceptibility()}} functions to calculate microbial resistance/susceptibility. -The function \code{count_resistant()} is equal to the function \code{count_R()}. The function \code{count_susceptible()} is equal to the function \code{count_SI()}. +The function \code{\link[=count_resistant]{count_resistant()}} is equal to the function \code{\link[=count_R]{count_R()}}. The function \code{\link[=count_susceptible]{count_susceptible()}} is equal to the function \code{\link[=count_SI]{count_SI()}}. -The function \code{n_rsi()} is an alias of \code{count_all()}. They can be used to count all available isolates, i.e. where all input antibiotics have an available result (S, I or R). Their use is equal to \code{\link{n_distinct}()}. Their function is equal to \code{count_susceptible(...) + count_resistant(...)}. +The function \code{\link[=n_rsi]{n_rsi()}} is an alias of \code{\link[=count_all]{count_all()}}. They can be used to count all available isolates, i.e. where all input antibiotics have an available result (S, I or R). Their use is equal to \code{\link[=n_distinct]{n_distinct()}}. Their function is equal to \code{count_susceptible(...) + count_resistant(...)}. -The function \code{count_df()} takes any variable from \code{data} that has an \code{"rsi"} class (created with \code{\link{as.rsi}()}) and counts the number of S's, I's and R's. The function \code{rsi_df()} works exactly like \code{count_df()}, but adds the percentage of S, I and R. +The function \code{\link[=count_df]{count_df()}} takes any variable from \code{data} that has an \code{\link{rsi}} class (created with \code{\link[=as.rsi]{as.rsi()}}) and counts the number of S's, I's and R's. The function \code{\link[=rsi_df]{rsi_df()}} works exactly like \code{\link[=count_df]{count_df()}}, but adds the percentage of S, I and R. } \section{Interpretation of S, I and R}{ In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". - \itemize{ - \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} - \item{\strong{I} - }{Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.} - \item{\strong{R} - }{Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.} +\item \strong{S} - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent. +\item \strong{I} - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection. +\item \strong{R} - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure. } Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. -This AMR package honours this new insight. Use \code{\link{susceptibility}()} (equal to \code{\link{proportion_SI}()}) to determine antimicrobial susceptibility and \code{\link{count_susceptible}()} (equal to \code{\link{count_SI}()}) to count susceptible isolates. +This AMR package honours this new insight. Use \code{\link[=susceptibility]{susceptibility()}} (equal to \code{\link[=proportion_SI]{proportion_SI()}}) to determine antimicrobial susceptibility and \code{\link[=count_susceptible]{count_susceptible()}} (equal to \code{\link[=count_SI]{count_SI()}}) to count susceptible isolates. } \section{Combination therapy}{ -When using more than one variable for \code{...} (= combination therapy)), use \code{only_all_tested} to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how \code{susceptibility} works to calculate the \%SI: - -\preformatted{ --------------------------------------------------------------------- +When using more than one variable for \code{...} (= combination therapy)), use \code{only_all_tested} to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how \code{\link[=susceptibility]{susceptibility()}} works to calculate the \%SI:\preformatted{-------------------------------------------------------------------- only_all_tested = FALSE only_all_tested = TRUE ----------------------- ----------------------- Drug A Drug B include as include as include as include as @@ -105,14 +106,11 @@ When using more than one variable for \code{...} (= combination therapy)), use \ -------------------------------------------------------------------- } -Please note that, in combination therapies, for \code{only_all_tested = TRUE} applies that: -\preformatted{ - count_S() + count_I() + count_R() = count_all() +Please note that, in combination therapies, for \code{only_all_tested = TRUE} applies that:\preformatted{ count_S() + count_I() + count_R() = count_all() proportion_S() + proportion_I() + proportion_R() = 1 } -and that, in combination therapies, for \code{only_all_tested = FALSE} applies that: -\preformatted{ - count_S() + count_I() + count_R() >= count_all() + +and that, in combination therapies, for \code{only_all_tested = FALSE} applies that:\preformatted{ count_S() + count_I() + count_R() >= count_all() proportion_S() + proportion_I() + proportion_R() >= 1 } @@ -184,5 +182,5 @@ example_isolates \%>\% } \seealso{ -\code{\link{proportion}_*} to calculate microbial resistance and susceptibility. +\code{\link[=proportion]{proportion_*}} to calculate microbial resistance and susceptibility. } diff --git a/man/eucast_rules.Rd b/man/eucast_rules.Rd index 764eed66d..b9f5697e6 100644 --- a/man/eucast_rules.Rd +++ b/man/eucast_rules.Rd @@ -6,29 +6,29 @@ \title{EUCAST rules} \source{ \itemize{ - \item{ - EUCAST Expert Rules. Version 2.0, 2012. \cr - Leclercq et al. \strong{EUCAST expert rules in antimicrobial susceptibility testing.} \emph{Clin Microbiol Infect.} 2013;19(2):141-60. \cr - \url{https://doi.org/10.1111/j.1469-0691.2011.03703.x} - } - \item{ - EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes Tables. Version 3.1, 2016. \cr - \url{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf} - } - \item{ - EUCAST Breakpoint tables for interpretation of MICs and zone diameters. Version 9.0, 2019. \cr - \url{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_9.0_Breakpoint_Tables.xlsx} - } - } +\item EUCAST Expert Rules. Version 2.0, 2012. \cr +Leclercq et al. \strong{EUCAST expert rules in antimicrobial susceptibility testing.} \emph{Clin Microbiol Infect.} 2013;19(2):141-60. \cr +\url{https://doi.org/10.1111/j.1469-0691.2011.03703.x} +\item EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes Tables. Version 3.1, 2016. \cr +\url{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf} +\item EUCAST Breakpoint tables for interpretation of MICs and zone diameters. Version 9.0, 2019. \cr +\url{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_9.0_Breakpoint_Tables.xlsx} +} } \usage{ -eucast_rules(x, col_mo = NULL, info = TRUE, rules = c("breakpoints", - "expert", "other", "all"), verbose = FALSE, ...) +eucast_rules( + x, + col_mo = NULL, + info = TRUE, + rules = c("breakpoints", "expert", "other", "all"), + verbose = FALSE, + ... +) } \arguments{ \item{x}{data with antibiotic columns, like e.g. \code{AMX} and \code{AMC}} -\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link{as.mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.} +\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link[=as.mo]{as.mo()}}), defaults to the first column of class \code{\link{mo}}. Values will be coerced using \code{\link[=as.mo]{as.mo()}}.} \item{info}{print progress} @@ -36,120 +36,120 @@ eucast_rules(x, col_mo = NULL, info = TRUE, rules = c("breakpoints", \item{verbose}{a logical to turn Verbose mode on and off (default is off). In Verbose mode, the function does not apply rules to the data, but instead returns a data set in logbook form with extensive info about which rows and columns would be effected and in which way.} -\item{...}{column name of an antibiotic, see section Antibiotics} +\item{...}{column name of an antibiotic, please see section \emph{Antibiotics} below} } \value{ -The input of \code{x}, possibly with edited values of antibiotics. Or, if \code{verbose = TRUE}, a \code{data.frame} with all original and new values of the affected bug-drug combinations. +The input of \code{x}, possibly with edited values of antibiotics. Or, if \code{verbose = TRUE}, a \code{\link{data.frame}} with all original and new values of the affected bug-drug combinations. } \description{ -Apply susceptibility rules as defined by the European Committee on Antimicrobial Susceptibility Testing (EUCAST, \url{http://eucast.org}), see \emph{Source}. This includes (1) expert rules, (2) intrinsic resistance and (3) inferred resistance as defined in their breakpoint tables. +Apply susceptibility rules as defined by the European Committee on Antimicrobial Susceptibility Testing (EUCAST, \url{http://eucast.org}), see \emph{Source}. This includes (1) expert rules, (2) intrinsic resistance and (3) inferred resistance as defined in their breakpoint tables. To improve the interpretation of the antibiogram before EUCAST rules are applied, some non-EUCAST rules are applied at default, see Details. } \details{ -\strong{Note:} This function does not translate MIC values to RSI values. Use \code{\link{as.rsi}} for that. \cr +\strong{Note:} This function does not translate MIC values to RSI values. Use \code{\link[=as.rsi]{as.rsi()}} for that. \cr \strong{Note:} When ampicillin (AMP, J01CA01) is not available but amoxicillin (AMX, J01CA04) is, the latter will be used for all rules where there is a dependency on ampicillin. These drugs are interchangeable when it comes to expression of antimicrobial resistance. Before further processing, some non-EUCAST rules are applied to improve the efficacy of the EUCAST rules. These non-EUCAST rules, that are applied to all isolates, are: \itemize{ - \item{Inherit amoxicillin (AMX) from ampicillin (AMP), where amoxicillin (AMX) is unavailable;} - \item{Inherit ampicillin (AMP) from amoxicillin (AMX), where ampicillin (AMP) is unavailable;} - \item{Set amoxicillin (AMX) = R where amoxicillin/clavulanic acid (AMC) = R;} - \item{Set piperacillin (PIP) = R where piperacillin/tazobactam (TZP) = R;} - \item{Set trimethoprim (TMP) = R where trimethoprim/sulfamethoxazole (SXT) = R;} - \item{Set amoxicillin/clavulanic acid (AMC) = S where amoxicillin (AMX) = S;} - \item{Set piperacillin/tazobactam (TZP) = S where piperacillin (PIP) = S;} - \item{Set trimethoprim/sulfamethoxazole (SXT) = S where trimethoprim (TMP) = S.} -} +\item Inherit amoxicillin (AMX) from ampicillin (AMP), where amoxicillin (AMX) is unavailable; +\item Inherit ampicillin (AMP) from amoxicillin (AMX), where ampicillin (AMP) is unavailable; +\item Set amoxicillin (AMX) = R where amoxicillin/clavulanic acid (AMC) = R; +\item Set piperacillin (PIP) = R where piperacillin/tazobactam (TZP) = R; +\item Set trimethoprim (TMP) = R where trimethoprim/sulfamethoxazole (SXT) = R; +\item Set amoxicillin/clavulanic acid (AMC) = S where amoxicillin (AMX) = S; +\item Set piperacillin/tazobactam (TZP) = S where piperacillin (PIP) = S; +\item Set trimethoprim/sulfamethoxazole (SXT) = S where trimethoprim (TMP) = S. To \emph{not} use these rules, please use \code{eucast_rules(..., rules = c("breakpoints", "expert"))}. +} The file containing all EUCAST rules is located here: \url{https://gitlab.com/msberends/AMR/blob/master/data-raw/eucast_rules.tsv}. } \section{Antibiotics}{ -To define antibiotics column names, leave as it is to determine it automatically with \code{\link{guess_ab_col}} or input a text (case-insensitive), or use \code{NULL} to skip a column (e.g. \code{TIC = NULL} to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning. +To define antibiotics column names, leave as it is to determine it automatically with \code{\link[=guess_ab_col]{guess_ab_col()}} or input a text (case-insensitive), or use \code{NULL} to skip a column (e.g. \code{TIC = NULL} to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning. -The following antibiotics are used for the functions \code{\link{eucast_rules}} and \code{\link{mdro}}. These are shown below in the format '\strong{antimicrobial ID}: name (\href{https://www.whocc.no/atc/structure_and_principles/}{ATC code})', sorted by name: +The following antibiotics are used for the functions \code{\link[=eucast_rules]{eucast_rules()}} and \code{\link[=mdro]{mdro()}}. These are shown below in the format '\strong{antimicrobial ID}: name (\href{https://www.whocc.no/atc/structure_and_principles/}{ATC code})', sorted by name: - \strong{AMK}: amikacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB06}{J01GB06}), - \strong{AMX}: amoxicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA04}{J01CA04}), - \strong{AMC}: amoxicillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR02}{J01CR02}), - \strong{AMP}: ampicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA01}{J01CA01}), - \strong{SAM}: ampicillin/sulbactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR01}{J01CR01}), - \strong{AZM}: azithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA10}{J01FA10}), - \strong{AZL}: azlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA09}{J01CA09}), - \strong{ATM}: aztreonam (\href{https://www.whocc.no/atc_ddd_index/?code=J01DF01}{J01DF01}), - \strong{CAP}: capreomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB30}{J04AB30}), - \strong{RID}: cefaloridine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB02}{J01DB02}), - \strong{CZO}: cefazolin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB04}{J01DB04}), - \strong{FEP}: cefepime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DE01}{J01DE01}), - \strong{CTX}: cefotaxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD01}{J01DD01}), - \strong{CTT}: cefotetan (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC05}{J01DC05}), - \strong{FOX}: cefoxitin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC01}{J01DC01}), - \strong{CPT}: ceftaroline (\href{https://www.whocc.no/atc_ddd_index/?code=J01DI02}{J01DI02}), - \strong{CAZ}: ceftazidime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD02}{J01DD02}), - \strong{CRO}: ceftriaxone (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD04}{J01DD04}), - \strong{CXM}: cefuroxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC02}{J01DC02}), - \strong{CED}: cephradine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB09}{J01DB09}), - \strong{CHL}: chloramphenicol (\href{https://www.whocc.no/atc_ddd_index/?code=J01BA01}{J01BA01}), - \strong{CIP}: ciprofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA02}{J01MA02}), - \strong{CLR}: clarithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA09}{J01FA09}), - \strong{CLI}: clindamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF01}{J01FF01}), - \strong{COL}: colistin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB01}{J01XB01}), - \strong{DAP}: daptomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX09}{J01XX09}), - \strong{DOR}: doripenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH04}{J01DH04}), - \strong{DOX}: doxycycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA02}{J01AA02}), - \strong{ETP}: ertapenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH03}{J01DH03}), - \strong{ERY}: erythromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA01}{J01FA01}), - \strong{ETH}: ethambutol (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK02}{J04AK02}), - \strong{FLC}: flucloxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF05}{J01CF05}), - \strong{FOS}: fosfomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX01}{J01XX01}), - \strong{FUS}: fusidic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XC01}{J01XC01}), - \strong{GAT}: gatifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA16}{J01MA16}), - \strong{GEN}: gentamicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB03}{J01GB03}), - \strong{GEH}: gentamicin-high (no ATC code), - \strong{IPM}: imipenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH51}{J01DH51}), - \strong{INH}: isoniazid (\href{https://www.whocc.no/atc_ddd_index/?code=J04AC01}{J04AC01}), - \strong{KAN}: kanamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB04}{J01GB04}), - \strong{LVX}: levofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA12}{J01MA12}), - \strong{LIN}: lincomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF02}{J01FF02}), - \strong{LNZ}: linezolid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX08}{J01XX08}), - \strong{MEM}: meropenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH02}{J01DH02}), - \strong{MTR}: metronidazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01XD01}{J01XD01}), - \strong{MEZ}: mezlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA10}{J01CA10}), - \strong{MNO}: minocycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA08}{J01AA08}), - \strong{MFX}: moxifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA14}{J01MA14}), - \strong{NAL}: nalidixic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01MB02}{J01MB02}), - \strong{NEO}: neomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB05}{J01GB05}), - \strong{NET}: netilmicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB07}{J01GB07}), - \strong{NIT}: nitrofurantoin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XE01}{J01XE01}), - \strong{NOR}: norfloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA06}{J01MA06}), - \strong{NOV}: novobiocin (\href{https://www.whocc.no/atc_ddd_index/?code=QJ01XX95}{QJ01XX95}), - \strong{OFX}: ofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA01}{J01MA01}), - \strong{OXA}: oxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF04}{J01CF04}), - \strong{PEN}: penicillin G (\href{https://www.whocc.no/atc_ddd_index/?code=J01CE01}{J01CE01}), - \strong{PIP}: piperacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA12}{J01CA12}), - \strong{TZP}: piperacillin/tazobactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR05}{J01CR05}), - \strong{PLB}: polymyxin B (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB02}{J01XB02}), - \strong{PRI}: pristinamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG01}{J01FG01}), - \strong{PZA}: pyrazinamide (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK01}{J04AK01}), - \strong{QDA}: quinupristin/dalfopristin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG02}{J01FG02}), - \strong{RIB}: rifabutin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB04}{J04AB04}), - \strong{RIF}: rifampicin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB02}{J04AB02}), - \strong{RFP}: rifapentine (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB05}{J04AB05}), - \strong{RXT}: roxithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA06}{J01FA06}), - \strong{SIS}: sisomicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB08}{J01GB08}), - \strong{STH}: streptomycin-high (no ATC code), - \strong{TEC}: teicoplanin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA02}{J01XA02}), - \strong{TLV}: telavancin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA03}{J01XA03}), - \strong{TCY}: tetracycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA07}{J01AA07}), - \strong{TIC}: ticarcillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA13}{J01CA13}), - \strong{TCC}: ticarcillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR03}{J01CR03}), - \strong{TGC}: tigecycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA12}{J01AA12}), - \strong{TOB}: tobramycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB01}{J01GB01}), - \strong{TMP}: trimethoprim (\href{https://www.whocc.no/atc_ddd_index/?code=J01EA01}{J01EA01}), - \strong{SXT}: trimethoprim/sulfamethoxazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01EE01}{J01EE01}), - \strong{VAN}: vancomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA01}{J01XA01}). +\strong{AMK}: amikacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB06}{J01GB06}), +\strong{AMX}: amoxicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA04}{J01CA04}), +\strong{AMC}: amoxicillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR02}{J01CR02}), +\strong{AMP}: ampicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA01}{J01CA01}), +\strong{SAM}: ampicillin/sulbactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR01}{J01CR01}), +\strong{AZM}: azithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA10}{J01FA10}), +\strong{AZL}: azlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA09}{J01CA09}), +\strong{ATM}: aztreonam (\href{https://www.whocc.no/atc_ddd_index/?code=J01DF01}{J01DF01}), +\strong{CAP}: capreomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB30}{J04AB30}), +\strong{RID}: cefaloridine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB02}{J01DB02}), +\strong{CZO}: cefazolin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB04}{J01DB04}), +\strong{FEP}: cefepime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DE01}{J01DE01}), +\strong{CTX}: cefotaxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD01}{J01DD01}), +\strong{CTT}: cefotetan (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC05}{J01DC05}), +\strong{FOX}: cefoxitin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC01}{J01DC01}), +\strong{CPT}: ceftaroline (\href{https://www.whocc.no/atc_ddd_index/?code=J01DI02}{J01DI02}), +\strong{CAZ}: ceftazidime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD02}{J01DD02}), +\strong{CRO}: ceftriaxone (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD04}{J01DD04}), +\strong{CXM}: cefuroxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC02}{J01DC02}), +\strong{CED}: cephradine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB09}{J01DB09}), +\strong{CHL}: chloramphenicol (\href{https://www.whocc.no/atc_ddd_index/?code=J01BA01}{J01BA01}), +\strong{CIP}: ciprofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA02}{J01MA02}), +\strong{CLR}: clarithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA09}{J01FA09}), +\strong{CLI}: clindamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF01}{J01FF01}), +\strong{COL}: colistin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB01}{J01XB01}), +\strong{DAP}: daptomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX09}{J01XX09}), +\strong{DOR}: doripenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH04}{J01DH04}), +\strong{DOX}: doxycycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA02}{J01AA02}), +\strong{ETP}: ertapenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH03}{J01DH03}), +\strong{ERY}: erythromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA01}{J01FA01}), +\strong{ETH}: ethambutol (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK02}{J04AK02}), +\strong{FLC}: flucloxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF05}{J01CF05}), +\strong{FOS}: fosfomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX01}{J01XX01}), +\strong{FUS}: fusidic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XC01}{J01XC01}), +\strong{GAT}: gatifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA16}{J01MA16}), +\strong{GEN}: gentamicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB03}{J01GB03}), +\strong{GEH}: gentamicin-high (no ATC code), +\strong{IPM}: imipenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH51}{J01DH51}), +\strong{INH}: isoniazid (\href{https://www.whocc.no/atc_ddd_index/?code=J04AC01}{J04AC01}), +\strong{KAN}: kanamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB04}{J01GB04}), +\strong{LVX}: levofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA12}{J01MA12}), +\strong{LIN}: lincomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF02}{J01FF02}), +\strong{LNZ}: linezolid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX08}{J01XX08}), +\strong{MEM}: meropenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH02}{J01DH02}), +\strong{MTR}: metronidazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01XD01}{J01XD01}), +\strong{MEZ}: mezlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA10}{J01CA10}), +\strong{MNO}: minocycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA08}{J01AA08}), +\strong{MFX}: moxifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA14}{J01MA14}), +\strong{NAL}: nalidixic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01MB02}{J01MB02}), +\strong{NEO}: neomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB05}{J01GB05}), +\strong{NET}: netilmicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB07}{J01GB07}), +\strong{NIT}: nitrofurantoin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XE01}{J01XE01}), +\strong{NOR}: norfloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA06}{J01MA06}), +\strong{NOV}: novobiocin (\href{https://www.whocc.no/atc_ddd_index/?code=QJ01XX95}{QJ01XX95}), +\strong{OFX}: ofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA01}{J01MA01}), +\strong{OXA}: oxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF04}{J01CF04}), +\strong{PEN}: penicillin G (\href{https://www.whocc.no/atc_ddd_index/?code=J01CE01}{J01CE01}), +\strong{PIP}: piperacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA12}{J01CA12}), +\strong{TZP}: piperacillin/tazobactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR05}{J01CR05}), +\strong{PLB}: polymyxin B (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB02}{J01XB02}), +\strong{PRI}: pristinamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG01}{J01FG01}), +\strong{PZA}: pyrazinamide (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK01}{J04AK01}), +\strong{QDA}: quinupristin/dalfopristin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG02}{J01FG02}), +\strong{RIB}: rifabutin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB04}{J04AB04}), +\strong{RIF}: rifampicin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB02}{J04AB02}), +\strong{RFP}: rifapentine (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB05}{J04AB05}), +\strong{RXT}: roxithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA06}{J01FA06}), +\strong{SIS}: sisomicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB08}{J01GB08}), +\strong{STH}: streptomycin-high (no ATC code), +\strong{TEC}: teicoplanin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA02}{J01XA02}), +\strong{TLV}: telavancin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA03}{J01XA03}), +\strong{TCY}: tetracycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA07}{J01AA07}), +\strong{TIC}: ticarcillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA13}{J01CA13}), +\strong{TCC}: ticarcillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR03}{J01CR03}), +\strong{TGC}: tigecycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA12}{J01AA12}), +\strong{TOB}: tobramycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB01}{J01GB01}), +\strong{TMP}: trimethoprim (\href{https://www.whocc.no/atc_ddd_index/?code=J01EA01}{J01EA01}), +\strong{SXT}: trimethoprim/sulfamethoxazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01EE01}{J01EE01}), +\strong{VAN}: vancomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA01}{J01XA01}). } \section{Read more on our website!}{ diff --git a/man/example_isolates.Rd b/man/example_isolates.Rd index e94b71826..4eed7482d 100644 --- a/man/example_isolates.Rd +++ b/man/example_isolates.Rd @@ -5,17 +5,17 @@ \alias{example_isolates} \title{Data set with 2,000 example isolates} \format{A \code{\link{data.frame}} with 2,000 observations and 49 variables: -\describe{ - \item{\code{date}}{date of receipt at the laboratory} - \item{\code{hospital_id}}{ID of the hospital, from A to D} - \item{\code{ward_icu}}{logical to determine if ward is an intensive care unit} - \item{\code{ward_clinical}}{logical to determine if ward is a regular clinical ward} - \item{\code{ward_outpatient}}{logical to determine if ward is an outpatient clinic} - \item{\code{age}}{age of the patient} - \item{\code{gender}}{gender of the patient} - \item{\code{patient_id}}{ID of the patient} - \item{\code{mo}}{ID of microorganism created with \code{\link{as.mo}}, see also \code{\link{microorganisms}}} - \item{\code{PEN:RIF}}{40 different antibiotics with class \code{rsi} (see \code{\link{as.rsi}}); these column names occur in \code{\link{antibiotics}} data set and can be translated with \code{\link{ab_name}}} +\itemize{ +\item \code{date}\cr date of receipt at the laboratory +\item \code{hospital_id}\cr ID of the hospital, from A to D +\item \code{ward_icu}\cr logical to determine if ward is an intensive care unit +\item \code{ward_clinical}\cr logical to determine if ward is a regular clinical ward +\item \code{ward_outpatient}\cr logical to determine if ward is an outpatient clinic +\item \code{age}\cr age of the patient +\item \code{gender}\cr gender of the patient +\item \code{patient_id}\cr ID of the patient +\item \code{mo}\cr ID of microorganism created with \code{\link[=as.mo]{as.mo()}}, see also \link{microorganisms} +\item \code{PEN:RIF}\cr 40 different antibiotics with class \code{\link{rsi}} (see \code{\link[=as.rsi]{as.rsi()}}); these column names occur in \link{antibiotics} data set and can be translated with \code{\link[=ab_name]{ab_name()}} }} \usage{ example_isolates diff --git a/man/filter_ab_class.Rd b/man/filter_ab_class.Rd index 9bb77f0d4..7c87ade75 100644 --- a/man/filter_ab_class.Rd +++ b/man/filter_ab_class.Rd @@ -45,7 +45,7 @@ filter_tetracyclines(x, result = NULL, scope = "any", ...) \arguments{ \item{x}{a data set} -\item{ab_class}{an antimicrobial class, like \code{"carbapenems"}, as can be found in \code{AMR::antibiotics$group}} +\item{ab_class}{an antimicrobial class, like \code{"carbapenems"}, as can be found in \code{\link[=antibiotics]{AMR::antibiotics$group}}} \item{result}{an antibiotic result: S, I or R (or a combination of more of them)} @@ -57,7 +57,7 @@ filter_tetracyclines(x, result = NULL, scope = "any", ...) Filter isolates on results in specific antibiotic variables based on their class (ATC groups). This makes it easy to get a list of isolates that were tested for e.g. any aminoglycoside. } \details{ -The \code{group} column in \code{\link{antibiotics}} data set will be searched for \code{ab_class} (case-insensitive). If no results are found, the \code{atc_group1} and \code{atc_group2} columns will be searched. Next, \code{x} will be checked for column names with a value in any abbreviations, codes or official names found in the \code{antibiotics} data set. +The \code{group} column in \link{antibiotics} data set will be searched for \code{ab_class} (case-insensitive). If no results are found, the \code{atc_group1} and \code{atc_group2} columns will be searched. Next, \code{x} will be checked for column names with a value in any abbreviations, codes or official names found in the \link{antibiotics} data set. } \examples{ library(dplyr) diff --git a/man/first_isolate.Rd b/man/first_isolate.Rd index 6ef7bf836..013e1cc53 100755 --- a/man/first_isolate.Rd +++ b/man/first_isolate.Rd @@ -6,31 +6,57 @@ \alias{filter_first_weighted_isolate} \title{Determine first (weighted) isolates} \source{ -Methodology of this function is based on: \strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition}, 2014, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}. +Methodology of this function is based on: + +\strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition}, 2014, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}. } \usage{ -first_isolate(x, col_date = NULL, col_patient_id = NULL, - col_mo = NULL, col_testcode = NULL, col_specimen = NULL, - col_icu = NULL, col_keyantibiotics = NULL, episode_days = 365, - testcodes_exclude = NULL, icu_exclude = FALSE, - specimen_group = NULL, type = "keyantibiotics", ignore_I = TRUE, - points_threshold = 2, info = TRUE, include_unknown = FALSE, ...) +first_isolate( + x, + col_date = NULL, + col_patient_id = NULL, + col_mo = NULL, + col_testcode = NULL, + col_specimen = NULL, + col_icu = NULL, + col_keyantibiotics = NULL, + episode_days = 365, + testcodes_exclude = NULL, + icu_exclude = FALSE, + specimen_group = NULL, + type = "keyantibiotics", + ignore_I = TRUE, + points_threshold = 2, + info = TRUE, + include_unknown = FALSE, + ... +) -filter_first_isolate(x, col_date = NULL, col_patient_id = NULL, - col_mo = NULL, ...) +filter_first_isolate( + x, + col_date = NULL, + col_patient_id = NULL, + col_mo = NULL, + ... +) -filter_first_weighted_isolate(x, col_date = NULL, - col_patient_id = NULL, col_mo = NULL, col_keyantibiotics = NULL, - ...) +filter_first_weighted_isolate( + x, + col_date = NULL, + col_patient_id = NULL, + col_mo = NULL, + col_keyantibiotics = NULL, + ... +) } \arguments{ -\item{x}{a \code{data.frame} containing isolates.} +\item{x}{a \code{\link{data.frame}} containing isolates.} \item{col_date}{column name of the result date (or date that is was received on the lab), defaults to the first column of with a date class} \item{col_patient_id}{column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' or 'patid' (case insensitive)} -\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link{as.mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.} +\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link[=as.mo]{as.mo()}}), defaults to the first column of class \code{\link{mo}}. Values will be coerced using \code{\link[=as.mo]{as.mo()}}.} \item{col_testcode}{column name of the test codes. Use \code{col_testcode = NULL} to \strong{not} exclude certain test codes (like test codes for screening). In that case \code{testcodes_exclude} will be ignored.} @@ -38,7 +64,7 @@ filter_first_weighted_isolate(x, col_date = NULL, \item{col_icu}{column name of the logicals (\code{TRUE}/\code{FALSE}) whether a ward or department is an Intensive Care Unit (ICU)} -\item{col_keyantibiotics}{column name of the key antibiotics to determine first \emph{weighted} isolates, see \code{\link{key_antibiotics}}. Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use \code{col_keyantibiotics = FALSE} to prevent this.} +\item{col_keyantibiotics}{column name of the key antibiotics to determine first \emph{weighted} isolates, see \code{\link[=key_antibiotics]{key_antibiotics()}}. Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use \code{col_keyantibiotics = FALSE} to prevent this.} \item{episode_days}{episode in days after which a genus/species combination will be determined as 'first isolate' again. The default of 365 days is based on the guideline by CLSI, see Source.} @@ -58,30 +84,27 @@ filter_first_weighted_isolate(x, col_date = NULL, \item{include_unknown}{logical to determine whether 'unknown' microorganisms should be included too, i.e. microbial code \code{"UNKNOWN"}, which defaults to \code{FALSE}. For WHONET users, this means that all records with organism code \code{"con"} (\emph{contamination}) will be excluded at default. Isolates with a microbial ID of \code{NA} will always be excluded as first isolate.} -\item{...}{parameters passed on to the \code{first_isolate} function} +\item{...}{parameters passed on to the \code{\link[=first_isolate]{first_isolate()}} function} } \value{ -Logical vector +A \code{\link{logical}} vector } \description{ Determine first (weighted) isolates of all microorganisms of every patient per episode and (if needed) per specimen type. } \details{ \strong{WHY THIS IS SO IMPORTANT} \cr -To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode \href{https://www.ncbi.nlm.nih.gov/pubmed/17304462}{[1]}. If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all \emph{S. aureus} isolates would be overestimated, because you included this MRSA more than once. It would be \href{https://en.wikipedia.org/wiki/Selection_bias}{selection bias}. +To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode [\link{1}](https://www.ncbi.nlm.nih.gov/pubmed/17304462). If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all \emph{S. aureus} isolates would be overestimated, because you included this MRSA more than once. It would be \href{https://en.wikipedia.org/wiki/Selection_bias}{selection bias}. All isolates with a microbial ID of \code{NA} will be excluded as first isolate. -The functions \code{filter_first_isolate} and \code{filter_first_weighted_isolate} are helper functions to quickly filter on first isolates. The function \code{filter_first_isolate} is essentially equal to: -\preformatted{ - x \%>\% +The functions \code{\link[=filter_first_isolate]{filter_first_isolate()}} and \code{\link[=filter_first_weighted_isolate]{filter_first_weighted_isolate()}} are helper functions to quickly filter on first isolates. The function \code{\link[=filter_first_isolate]{filter_first_isolate()}} is essentially equal to:\preformatted{ x \%>\% mutate(only_firsts = first_isolate(x, ...)) \%>\% filter(only_firsts == TRUE) \%>\% select(-only_firsts) } -The function \code{filter_first_weighted_isolate} is essentially equal to: -\preformatted{ - x \%>\% + +The function \code{\link[=filter_first_weighted_isolate]{filter_first_weighted_isolate()}} is essentially equal to:\preformatted{ x \%>\% mutate(keyab = key_antibiotics(.)) \%>\% mutate(only_weighted_firsts = first_isolate(x, col_keyantibiotics = "keyab", ...)) \%>\% @@ -91,13 +114,15 @@ The function \code{filter_first_weighted_isolate} is essentially equal to: } \section{Key antibiotics}{ - There are two ways to determine whether isolates can be included as first \emph{weighted} isolates which will give generally the same results: \cr +There are two ways to determine whether isolates can be included as first \emph{weighted} isolates which will give generally the same results: +\enumerate{ +\item Using \code{type = "keyantibiotics"} and parameter \code{ignore_I} - \strong{1. Using} \code{type = "keyantibiotics"} \strong{and parameter} \code{ignore_I} \cr - Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With \code{ignore_I = FALSE}, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the \code{\link{key_antibiotics}} function. \cr +Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With \code{ignore_I = FALSE}, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the \code{\link[=key_antibiotics]{key_antibiotics()}} function. +\item Using \code{type = "points"} and parameter \code{points_threshold} - \strong{2. Using} \code{type = "points"} \strong{and parameter} \code{points_threshold} \cr - A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds \code{points_threshold}, which default to \code{2}, an isolate will be (re)selected as a first weighted isolate. +A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds \code{points_threshold}, which default to \code{2}, an isolate will be (re)selected as a first weighted isolate. +} } \section{Read more on our website!}{ @@ -158,5 +183,5 @@ x$first_blood_isolate <- first_isolate(x, specimen_group = "Blood") } } \seealso{ -\code{\link{key_antibiotics}} +\code{\link[=key_antibiotics]{key_antibiotics()}} } diff --git a/man/g.test.Rd b/man/g.test.Rd index a0f633dd0..fee57e8d6 100644 --- a/man/g.test.Rd +++ b/man/g.test.Rd @@ -4,16 +4,15 @@ \alias{g.test} \title{\emph{G}-test for Count Data} \source{ -This code is almost identical to \code{\link{chisq.test}}, except that: +The code for this function is identical to that of \code{\link[=chisq.test]{chisq.test()}}, except that: \itemize{ - \item{The calculation of the statistic was changed to \code{2 * sum(x * log(x / E))}} - \item{Yates' continuity correction was removed as it does not apply to a \emph{G}-test} - \item{The possibility to simulate p values with \code{simulate.p.value} was removed} +\item The calculation of the statistic was changed to \eqn{2 * sum(x * log(x / E))} +\item Yates' continuity correction was removed as it does not apply to a \emph{G}-test +\item The possibility to simulate p values with \code{simulate.p.value} was removed } } \usage{ -g.test(x, y = NULL, p = rep(1/length(x), length(x)), - rescale.p = FALSE) +g.test(x, y = NULL, p = rep(1/length(x), length(x)), rescale.p = FALSE) } \arguments{ \item{x}{a numeric vector or matrix. \code{x} and \code{y} can also @@ -50,56 +49,54 @@ A list with class \code{"htest"} containing the following section 2.4.5 for the case where \code{x} is a matrix, \code{n * p * (1 - p)} otherwise).} } \description{ -\code{g.test} performs chi-squared contingency table tests and goodness-of-fit tests, just like \code{\link{chisq.test}} but is more reliable [1]. A \emph{G}-test can be used to see whether the number of observations in each category fits a theoretical expectation (called a \strong{\emph{G}-test of goodness-of-fit}), or to see whether the proportions of one variable are different for different values of the other variable (called a \strong{\emph{G}-test of independence}). +\code{\link[=g.test]{g.test()}} performs chi-squared contingency table tests and goodness-of-fit tests, just like \code{\link[=chisq.test]{chisq.test()}} but is more reliable \link{1}. A \emph{G}-test can be used to see whether the number of observations in each category fits a theoretical expectation (called a \strong{\emph{G}-test of goodness-of-fit}), or to see whether the proportions of one variable are different for different values of the other variable (called a \strong{\emph{G}-test of independence}). } \details{ If \code{x} is a matrix with one row or column, or if \code{x} is a vector and \code{y} is not given, then a \emph{goodness-of-fit test} is performed (\code{x} is treated as a one-dimensional contingency table). The entries of \code{x} must be non-negative integers. In this case, the hypothesis tested is whether the population probabilities equal those in \code{p}, or are all equal if \code{p} is not given. - If \code{x} is a matrix with at least two rows and columns, it is taken as a two-dimensional contingency table: the entries of \code{x} must be non-negative integers. Otherwise, \code{x} and \code{y} must be vectors or factors of the same length; cases with missing values are removed, the objects are coerced to factors, and the contingency table is computed from these. Then Pearson's chi-squared test is performed of the null hypothesis that the joint distribution of the cell counts in a 2-dimensional contingency table is the product of the row and column marginals. +If \code{x} is a matrix with at least two rows and columns, it is taken as a two-dimensional contingency table: the entries of \code{x} must be non-negative integers. Otherwise, \code{x} and \code{y} must be vectors or factors of the same length; cases with missing values are removed, the objects are coerced to factors, and the contingency table is computed from these. Then Pearson's chi-squared test is performed of the null hypothesis that the joint distribution of the cell counts in a 2-dimensional contingency table is the product of the row and column marginals. - The p-value is computed from the asymptotic chi-squared distribution of the test statistic. +The p-value is computed from the asymptotic chi-squared distribution of the test statistic. - In the contingency table case simulation is done by random sampling from the set of all contingency tables with given marginals, and works only if the marginals are strictly positive. Note that this is not the usual sampling situation assumed for a chi-squared test (like the \emph{G}-test) but rather that for Fisher's exact test. +In the contingency table case simulation is done by random sampling from the set of all contingency tables with given marginals, and works only if the marginals are strictly positive. Note that this is not the usual sampling situation assumed for a chi-squared test (like the \emph{G}-test) but rather that for Fisher's exact test. - In the goodness-of-fit case simulation is done by random sampling from the discrete distribution specified by \code{p}, each sample being of size \code{n = sum(x)}. This simulation is done in \R and may be slow. -} -\section{\emph{G}-test of goodness-of-fit (likelihood ratio test)}{ +In the goodness-of-fit case simulation is done by random sampling from the discrete distribution specified by \code{p}, each sample being of size \code{n = sum(x)}. This simulation is done in \R and may be slow. +\subsection{\emph{G}-test of goodness-of-fit (likelihood ratio test)}{ Use the \emph{G}-test of goodness-of-fit when you have one nominal variable with two or more values (such as male and female, or red, pink and white flowers). You compare the observed counts of numbers of observations in each category with the expected counts, which you calculate using some kind of theoretical expectation (such as a 1:1 sex ratio or a 1:2:1 ratio in a genetic cross). -If the expected number of observations in any category is too small, the \emph{G}-test may give inaccurate results, and you should use an exact test instead (\code{\link{fisher.test}}). +If the expected number of observations in any category is too small, the \emph{G}-test may give inaccurate results, and you should use an exact test instead (\code{\link[=fisher.test]{fisher.test()}}). -The \emph{G}-test of goodness-of-fit is an alternative to the chi-square test of goodness-of-fit (\code{\link{chisq.test}}); each of these tests has some advantages and some disadvantages, and the results of the two tests are usually very similar. +The \emph{G}-test of goodness-of-fit is an alternative to the chi-square test of goodness-of-fit (\code{\link[=chisq.test]{chisq.test()}}); each of these tests has some advantages and some disadvantages, and the results of the two tests are usually very similar. } -\section{\emph{G}-test of independence}{ +\subsection{\emph{G}-test of independence}{ Use the \emph{G}-test of independence when you have two nominal variables, each with two or more possible values. You want to know whether the proportions for one variable are different among values of the other variable. It is also possible to do a \emph{G}-test of independence with more than two nominal variables. For example, Jackson et al. (2013) also had data for children under 3, so you could do an analysis of old vs. young, thigh vs. arm, and reaction vs. no reaction, all analyzed together. -Fisher's exact test (\code{\link{fisher.test}}) is an \strong{exact} test, where the \emph{G}-test is still only an \strong{approximation}. For any 2x2 table, Fisher's Exact test may be slower but will still run in seconds, even if the sum of your observations is multiple millions. +Fisher's exact test (\code{\link[=fisher.test]{fisher.test()}}) is an \strong{exact} test, where the \emph{G}-test is still only an \strong{approximation}. For any 2x2 table, Fisher's Exact test may be slower but will still run in seconds, even if the sum of your observations is multiple millions. -The \emph{G}-test of independence is an alternative to the chi-square test of independence (\code{\link{chisq.test}}), and they will give approximately the same results. +The \emph{G}-test of independence is an alternative to the chi-square test of independence (\code{\link[=chisq.test]{chisq.test()}}), and they will give approximately the same results. } -\section{How the test works}{ +\subsection{How the test works}{ -Unlike the exact test of goodness-of-fit (\code{\link{fisher.test}}), the \emph{G}-test does not directly calculate the probability of obtaining the observed results or something more extreme. Instead, like almost all statistical tests, the \emph{G}-test has an intermediate step; it uses the data to calculate a test statistic that measures how far the observed data are from the null expectation. You then use a mathematical relationship, in this case the chi-square distribution, to estimate the probability of obtaining that value of the test statistic. +Unlike the exact test of goodness-of-fit (\code{\link[=fisher.test]{fisher.test()}}), the \emph{G}-test does not directly calculate the probability of obtaining the observed results or something more extreme. Instead, like almost all statistical tests, the \emph{G}-test has an intermediate step; it uses the data to calculate a test statistic that measures how far the observed data are from the null expectation. You then use a mathematical relationship, in this case the chi-square distribution, to estimate the probability of obtaining that value of the test statistic. The \emph{G}-test uses the log of the ratio of two likelihoods as the test statistic, which is why it is also called a likelihood ratio test or log-likelihood ratio test. The formula to calculate a \emph{G}-statistic is: -\code{G <- 2 * sum(x * log(x / E))} +\eqn{G = 2 * sum(x * log(x / E))} -where \code{E} are the expected values. Since this is chi-square distributed, the p value can be calculated with: - -\code{p <- stats::pchisq(G, df, lower.tail = FALSE)} +where \code{E} are the expected values. Since this is chi-square distributed, the p value can be calculated in \R with:\preformatted{p <- stats::pchisq(G, df, lower.tail = FALSE) +} where \code{df} are the degrees of freedom. If there are more than two categories and you want to find out which ones are significantly different from their null expectation, you can use the same method of testing each category vs. the sum of all categories, with the Bonferroni correction. You use \emph{G}-tests for each category, of course. } - +} \section{Read more on our website!}{ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https://msberends.gitlab.io/AMR/articles/AMR.html}{a tutorial} about how to conduct AMR analysis, the \href{https://msberends.gitlab.io/AMR/reference}{complete documentation of all functions} (which reads a lot easier than here in R) and \href{https://msberends.gitlab.io/AMR/articles/WHONET.html}{an example analysis using WHONET data}. @@ -140,8 +137,8 @@ g.test(x) } \references{ -[1] McDonald, J.H. 2014. \strong{Handbook of Biological Statistics (3rd ed.)}. Sparky House Publishing, Baltimore, Maryland. \url{http://www.biostathandbook.com/gtestgof.html}. +\link{1} McDonald, J.H. 2014. \strong{Handbook of Biological Statistics (3rd ed.)}. Sparky House Publishing, Baltimore, Maryland. \url{http://www.biostathandbook.com/gtestgof.html}. } \seealso{ -\code{\link{chisq.test}} +\code{\link[=chisq.test]{chisq.test()}} } diff --git a/man/ggplot_rsi.Rd b/man/ggplot_rsi.Rd index 09e6f6877..7b60af056 100644 --- a/man/ggplot_rsi.Rd +++ b/man/ggplot_rsi.Rd @@ -10,36 +10,66 @@ \alias{labels_rsi_count} \title{AMR plots with \code{ggplot2}} \usage{ -ggplot_rsi(data, position = NULL, x = "antibiotic", - fill = "interpretation", facet = NULL, breaks = seq(0, 1, 0.1), - limits = NULL, translate_ab = "name", combine_SI = TRUE, - combine_IR = FALSE, language = get_locale(), nrow = NULL, - colours = c(S = "#61a8ff", SI = "#61a8ff", I = "#61f7ff", IR = - "#ff6961", R = "#ff6961"), datalabels = TRUE, datalabels.size = 2.5, - datalabels.colour = "gray15", title = NULL, subtitle = NULL, - caption = NULL, x.title = "Antimicrobial", y.title = "Proportion", - ...) +ggplot_rsi( + data, + position = NULL, + x = "antibiotic", + fill = "interpretation", + facet = NULL, + breaks = seq(0, 1, 0.1), + limits = NULL, + translate_ab = "name", + combine_SI = TRUE, + combine_IR = FALSE, + language = get_locale(), + nrow = NULL, + colours = c(S = "#61a8ff", SI = "#61a8ff", I = "#61f7ff", IR = "#ff6961", R = + "#ff6961"), + datalabels = TRUE, + datalabels.size = 2.5, + datalabels.colour = "gray15", + title = NULL, + subtitle = NULL, + caption = NULL, + x.title = "Antimicrobial", + y.title = "Proportion", + ... +) -geom_rsi(position = NULL, x = c("antibiotic", "interpretation"), - fill = "interpretation", translate_ab = "name", - language = get_locale(), combine_SI = TRUE, combine_IR = FALSE, - ...) +geom_rsi( + position = NULL, + x = c("antibiotic", "interpretation"), + fill = "interpretation", + translate_ab = "name", + language = get_locale(), + combine_SI = TRUE, + combine_IR = FALSE, + ... +) facet_rsi(facet = c("interpretation", "antibiotic"), nrow = NULL) scale_y_percent(breaks = seq(0, 1, 0.1), limits = NULL) -scale_rsi_colours(colours = c(S = "#61a8ff", SI = "#61a8ff", I = - "#61f7ff", IR = "#ff6961", R = "#ff6961")) +scale_rsi_colours( + colours = c(S = "#61a8ff", SI = "#61a8ff", I = "#61f7ff", IR = "#ff6961", R = + "#ff6961") +) theme_rsi() -labels_rsi_count(position = NULL, x = "antibiotic", - translate_ab = "name", combine_SI = TRUE, combine_IR = FALSE, - datalabels.size = 3, datalabels.colour = "gray15") +labels_rsi_count( + position = NULL, + x = "antibiotic", + translate_ab = "name", + combine_SI = TRUE, + combine_IR = FALSE, + datalabels.size = 3, + datalabels.colour = "gray15" +) } \arguments{ -\item{data}{a \code{data.frame} with column(s) of class \code{"rsi"} (see \code{\link{as.rsi}})} +\item{data}{a \code{\link{data.frame}} with column(s) of class \code{\link{rsi}} (see \code{\link[=as.rsi]{as.rsi()}})} \item{position}{position adjustment of bars, either \code{"fill"}, \code{"stack"} or \code{"dodge"}} @@ -53,19 +83,19 @@ labels_rsi_count(position = NULL, x = "antibiotic", \item{limits}{numeric vector of length two providing limits of the scale, use \code{NA} to refer to the existing minimum or maximum} -\item{translate_ab}{a column name of the \code{\link{antibiotics}} data set to translate the antibiotic abbreviations to, using \code{\link{ab_property}}} +\item{translate_ab}{a column name of the \link{antibiotics} data set to translate the antibiotic abbreviations to, using \code{\link[=ab_property]{ab_property()}}} \item{combine_SI}{a logical to indicate whether all values of S and I must be merged into one, so the output only consists of S+I vs. R (susceptible vs. resistant). This used to be the parameter \code{combine_IR}, but this now follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. Default is \code{TRUE}.} \item{combine_IR}{a logical to indicate whether all values of I and R must be merged into one, so the output only consists of S vs. I+R (susceptible vs. non-susceptible). This is outdated, see parameter \code{combine_SI}.} -\item{language}{language of the returned text, defaults to system language (see \code{\link{get_locale}}) and can also be set with \code{\link{getOption}("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} +\item{language}{language of the returned text, defaults to system language (see \code{\link[=get_locale]{get_locale()}}) and can also be set with \code{getOption("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} \item{nrow}{(when using \code{facet}) number of rows} -\item{colours}{a named vector with colours for the bars. The names must be one or more of: S, SI, I, IR, R or be \code{FALSE} to use default \code{ggplot2} colours.} +\item{colours}{a named vector with colours for the bars. The names must be one or more of: S, SI, I, IR, R or be \code{FALSE} to use default [ggplot2][\code{\link[ggplot2:ggplot]{ggplot2::ggplot()}} colours.} -\item{datalabels}{show datalabels using \code{labels_rsi_count}} +\item{datalabels}{show datalabels using \code{\link[=labels_rsi_count]{labels_rsi_count()}}} \item{datalabels.size}{size of the datalabels} @@ -81,28 +111,29 @@ labels_rsi_count(position = NULL, x = "antibiotic", \item{y.title}{text to show as y axis description} -\item{...}{other parameters passed on to \code{geom_rsi}} +\item{...}{other parameters passed on to \code{\link[=geom_rsi]{geom_rsi()}}} } \description{ -Use these functions to create bar plots for antimicrobial resistance analysis. All functions rely on internal \code{\link[ggplot2]{ggplot}2} functions. +Use these functions to create bar plots for antimicrobial resistance analysis. All functions rely on internal \link[ggplot2:ggplot]{ggplot2} functions. } \details{ -At default, the names of antibiotics will be shown on the plots using \code{\link{ab_name}}. This can be set with the \code{translate_ab} parameter. See \code{\link{count_df}}. +At default, the names of antibiotics will be shown on the plots using \code{\link[=ab_name]{ab_name()}}. This can be set with the \code{translate_ab} parameter. See \code{\link[=count_df]{count_df()}}. +\subsection{The functions}{ -\strong{The functions}\cr -\code{geom_rsi} will take any variable from the data that has an \code{rsi} class (created with \code{\link{as.rsi}}) using \code{\link{rsi_df}} and will plot bars with the percentage R, I and S. The default behaviour is to have the bars stacked and to have the different antibiotics on the x axis. +\code{\link[=geom_rsi]{geom_rsi()}} will take any variable from the data that has an \code{\link{rsi}} class (created with \code{\link[=as.rsi]{as.rsi()}}) using \code{\link[=rsi_df]{rsi_df()}} and will plot bars with the percentage R, I and S. The default behaviour is to have the bars stacked and to have the different antibiotics on the x axis. -\code{facet_rsi} creates 2d plots (at default based on S/I/R) using \code{\link[ggplot2]{facet_wrap}}. +\code{\link[=facet_rsi]{facet_rsi()}} creates 2d plots (at default based on S/I/R) using \code{\link[ggplot2:facet_wrap]{ggplot2::facet_wrap()}}. -\code{scale_y_percent} transforms the y axis to a 0 to 100\% range using \code{\link[ggplot2]{scale_continuous}}. +\code{\link[=scale_y_percent]{scale_y_percent()}} transforms the y axis to a 0 to 100\% range using \code{\link[ggplot2:scale_continuous]{ggplot2::scale_continuous()}}. -\code{scale_rsi_colours} sets colours to the bars: pastel blue for S, pastel turquoise for I and pastel red for R, using \code{\link[ggplot2]{scale_brewer}}. +\code{\link[=scale_rsi_colours]{scale_rsi_colours()}} sets colours to the bars: pastel blue for S, pastel turquoise for I and pastel red for R, using \code{\link[ggplot2:scale_brewer]{ggplot2::scale_brewer()}}. -\code{theme_rsi} is a \code{ggplot \link[ggplot2]{theme}} with minimal distraction. +\code{\link[=theme_rsi]{theme_rsi()}} is a [ggplot2 theme][\code{\link[ggplot2:theme]{ggplot2::theme()}} with minimal distraction. -\code{labels_rsi_count} print datalabels on the bars with percentage and amount of isolates using \code{\link[ggplot2]{geom_text}} +\code{\link[=labels_rsi_count]{labels_rsi_count()}} print datalabels on the bars with percentage and amount of isolates using \code{\link[ggplot2:geom_text]{ggplot2::geom_text()}} -\code{ggplot_rsi} is a wrapper around all above functions that uses data as first input. This makes it possible to use this function after a pipe (\code{\%>\%}). See Examples. +\code{\link[=ggplot_rsi]{ggplot_rsi()}} is a wrapper around all above functions that uses data as first input. This makes it possible to use this function after a pipe (\verb{\%>\%}). See Examples. +} } \section{Read more on our website!}{ diff --git a/man/guess_ab_col.Rd b/man/guess_ab_col.Rd index 8f69b7aad..c5956a4db 100644 --- a/man/guess_ab_col.Rd +++ b/man/guess_ab_col.Rd @@ -7,9 +7,9 @@ guess_ab_col(x = NULL, search_string = NULL, verbose = FALSE) } \arguments{ -\item{x}{a \code{data.frame}} +\item{x}{a \code{\link{data.frame}}} -\item{search_string}{a text to search \code{x} for, will be checked with \code{\link{as.ab}} if this value is not a column in \code{x}} +\item{search_string}{a text to search \code{x} for, will be checked with \code{\link[=as.ab]{as.ab()}} if this value is not a column in \code{x}} \item{verbose}{a logical to indicate whether additional info should be printed} } @@ -17,10 +17,10 @@ guess_ab_col(x = NULL, search_string = NULL, verbose = FALSE) A column name of \code{x}, or \code{NULL} when no result is found. } \description{ -This tries to find a column name in a data set based on information from the \code{\link{antibiotics}} data set. Also supports WHONET abbreviations. +This tries to find a column name in a data set based on information from the \link{antibiotics} data set. Also supports WHONET abbreviations. } \details{ -You can look for an antibiotic (trade) name or abbreviation and it will search \code{x} and the \code{\link{antibiotics}} data set for any column containing a name or code of that antibiotic. \strong{Longer columns names take precendence over shorter column names.} +You can look for an antibiotic (trade) name or abbreviation and it will search \code{x} and the \link{antibiotics} data set for any column containing a name or code of that antibiotic. \strong{Longer columns names take precendence over shorter column names.} } \section{Read more on our website!}{ diff --git a/man/join.Rd b/man/join.Rd index 454e1e56d..53aaac645 100755 --- a/man/join.Rd +++ b/man/join.Rd @@ -9,7 +9,7 @@ \alias{full_join_microorganisms} \alias{semi_join_microorganisms} \alias{anti_join_microorganisms} -\title{Join a table with \code{microorganisms}} +\title{Join a table with \link{microorganisms}} \usage{ inner_join_microorganisms(x, by = NULL, suffix = c("2", ""), ...) @@ -26,17 +26,17 @@ anti_join_microorganisms(x, by = NULL, ...) \arguments{ \item{x}{existing table to join, or character vector} -\item{by}{a variable to join by - if left empty will search for a column with class \code{mo} (created with \code{\link{as.mo}}) or will be \code{"mo"} if that column name exists in \code{x}, could otherwise be a column name of \code{x} with values that exist in \code{microorganisms$mo} (like \code{by = "bacteria_id"}), or another column in \code{\link{microorganisms}} (but then it should be named, like \code{by = c("my_genus_species" = "fullname")})} +\item{by}{a variable to join by - if left empty will search for a column with class \code{\link{mo}} (created with \code{\link[=as.mo]{as.mo()}}) or will be \code{"mo"} if that column name exists in \code{x}, could otherwise be a column name of \code{x} with values that exist in \code{microorganisms$mo} (like \code{by = "bacteria_id"}), or another column in \link{microorganisms} (but then it should be named, like \code{by = c("my_genus_species" = "fullname")})} \item{suffix}{if there are non-joined duplicate variables in \code{x} and \code{y}, these suffixes will be added to the output to disambiguate them. Should be a character vector of length 2.} -\item{...}{other parameters to pass on to \code{dplyr::\link[dplyr]{join}}.} +\item{...}{other parameters to pass on to \code{\link[dplyr:join]{dplyr::join()}}} } \description{ -Join the dataset \code{\link{microorganisms}} easily to an existing table or character vector. +Join the data set \link{microorganisms} easily to an existing table or character vector. } \details{ -\strong{Note:} As opposed to the \code{\link[dplyr]{join}} functions of \code{dplyr}, characters vectors are supported and at default existing columns will get a suffix \code{"2"} and the newly joined columns will not get a suffix. See \code{\link[dplyr]{join}} for more information. +\strong{Note:} As opposed to the \code{\link[dplyr:join]{dplyr::join()}} functions of \code{dplyr}, \code{\link{characters}} vectors are supported and at default existing columns will get a suffix \code{"2"} and the newly joined columns will not get a suffix. See \code{\link[dplyr:join]{dplyr::join()}} for more information. } \section{Read more on our website!}{ diff --git a/man/key_antibiotics.Rd b/man/key_antibiotics.Rd index ef4f9a974..49b499203 100755 --- a/man/key_antibiotics.Rd +++ b/man/key_antibiotics.Rd @@ -5,36 +5,50 @@ \alias{key_antibiotics_equal} \title{Key antibiotics for first \emph{weighted} isolates} \usage{ -key_antibiotics(x, col_mo = NULL, universal_1 = guess_ab_col(x, - "amoxicillin"), universal_2 = guess_ab_col(x, - "amoxicillin/clavulanic acid"), universal_3 = guess_ab_col(x, - "cefuroxime"), universal_4 = guess_ab_col(x, - "piperacillin/tazobactam"), universal_5 = guess_ab_col(x, - "ciprofloxacin"), universal_6 = guess_ab_col(x, - "trimethoprim/sulfamethoxazole"), GramPos_1 = guess_ab_col(x, - "vancomycin"), GramPos_2 = guess_ab_col(x, "teicoplanin"), +key_antibiotics( + x, + col_mo = NULL, + universal_1 = guess_ab_col(x, "amoxicillin"), + universal_2 = guess_ab_col(x, "amoxicillin/clavulanic acid"), + universal_3 = guess_ab_col(x, "cefuroxime"), + universal_4 = guess_ab_col(x, "piperacillin/tazobactam"), + universal_5 = guess_ab_col(x, "ciprofloxacin"), + universal_6 = guess_ab_col(x, "trimethoprim/sulfamethoxazole"), + GramPos_1 = guess_ab_col(x, "vancomycin"), + GramPos_2 = guess_ab_col(x, "teicoplanin"), GramPos_3 = guess_ab_col(x, "tetracycline"), GramPos_4 = guess_ab_col(x, "erythromycin"), - GramPos_5 = guess_ab_col(x, "oxacillin"), GramPos_6 = guess_ab_col(x, - "rifampin"), GramNeg_1 = guess_ab_col(x, "gentamicin"), + GramPos_5 = guess_ab_col(x, "oxacillin"), + GramPos_6 = guess_ab_col(x, "rifampin"), + GramNeg_1 = guess_ab_col(x, "gentamicin"), GramNeg_2 = guess_ab_col(x, "tobramycin"), - GramNeg_3 = guess_ab_col(x, "colistin"), GramNeg_4 = guess_ab_col(x, - "cefotaxime"), GramNeg_5 = guess_ab_col(x, "ceftazidime"), - GramNeg_6 = guess_ab_col(x, "meropenem"), warnings = TRUE, ...) + GramNeg_3 = guess_ab_col(x, "colistin"), + GramNeg_4 = guess_ab_col(x, "cefotaxime"), + GramNeg_5 = guess_ab_col(x, "ceftazidime"), + GramNeg_6 = guess_ab_col(x, "meropenem"), + warnings = TRUE, + ... +) -key_antibiotics_equal(y, z, type = c("keyantibiotics", "points"), - ignore_I = TRUE, points_threshold = 2, info = FALSE) +key_antibiotics_equal( + y, + z, + type = c("keyantibiotics", "points"), + ignore_I = TRUE, + points_threshold = 2, + info = FALSE +) } \arguments{ \item{x}{table with antibiotics coloms, like \code{AMX} or \code{amox}} -\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link{as.mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.} +\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link[=as.mo]{as.mo()}}), defaults to the first column of class \code{\link{mo}}. Values will be coerced using \code{\link[=as.mo]{as.mo()}}.} -\item{universal_1, universal_2, universal_3, universal_4, universal_5, universal_6}{column names of \strong{broad-spectrum} antibiotics, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link{guess_ab_col}}.} +\item{universal_1, universal_2, universal_3, universal_4, universal_5, universal_6}{column names of \strong{broad-spectrum} antibiotics, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link[=guess_ab_col]{guess_ab_col()}}.} -\item{GramPos_1, GramPos_2, GramPos_3, GramPos_4, GramPos_5, GramPos_6}{column names of antibiotics for \strong{Gram-positives}, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link{guess_ab_col}}.} +\item{GramPos_1, GramPos_2, GramPos_3, GramPos_4, GramPos_5, GramPos_6}{column names of antibiotics for \strong{Gram-positives}, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link[=guess_ab_col]{guess_ab_col()}}.} -\item{GramNeg_1, GramNeg_2, GramNeg_3, GramNeg_4, GramNeg_5, GramNeg_6}{column names of antibiotics for \strong{Gram-negatives}, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link{guess_ab_col}}.} +\item{GramNeg_1, GramNeg_2, GramNeg_3, GramNeg_4, GramNeg_5, GramNeg_6}{column names of antibiotics for \strong{Gram-negatives}, case-insensitive. At default, the columns containing these antibiotics will be guessed with \code{\link[=guess_ab_col]{guess_ab_col()}}.} \item{warnings}{give warning about missing antibiotic columns, they will anyway be ignored} @@ -51,29 +65,56 @@ key_antibiotics_equal(y, z, type = c("keyantibiotics", "points"), \item{info}{print progress} } \description{ -These function can be used to determine first isolates (see \code{\link{first_isolate}}). Using key antibiotics to determine first isolates is more reliable than without key antibiotics. These selected isolates will then be called first \emph{weighted} isolates. +These function can be used to determine first isolates (see \code{\link[=first_isolate]{first_isolate()}}). Using key antibiotics to determine first isolates is more reliable than without key antibiotics. These selected isolates will then be called first \emph{weighted} isolates. } \details{ -The function \code{key_antibiotics} returns a character vector with 12 antibiotic results for every isolate. These isolates can then be compared using \code{key_antibiotics_equal}, to check if two isolates have generally the same antibiogram. Missing and invalid values are replaced with a dot (\code{"."}). The \code{\link{first_isolate}} function only uses this function on the same microbial species from the same patient. Using this, an MRSA will be included after a susceptible \emph{S. aureus} (MSSA) found within the same episode (see \code{episode} parameter of \code{\link{first_isolate}}). Without key antibiotic comparison it would not. +The function \code{\link[=key_antibiotics]{key_antibiotics()}} returns a character vector with 12 antibiotic results for every isolate. These isolates can then be compared using \code{\link[=key_antibiotics_equal]{key_antibiotics_equal()}}, to check if two isolates have generally the same antibiogram. Missing and invalid values are replaced with a dot (\code{"."}). The \code{\link[=first_isolate]{first_isolate()}} function only uses this function on the same microbial species from the same patient. Using this, an MRSA will be included after a susceptible \emph{S. aureus} (MSSA) found within the same episode (see \code{episode} parameter of \code{\link[=first_isolate]{first_isolate()}}). Without key antibiotic comparison it would not. - At default, the antibiotics that are used for \strong{Gram-positive bacteria} are: \cr - amoxicillin, amoxicillin/clavulanic acid, cefuroxime, piperacillin/tazobactam, ciprofloxacin, trimethoprim/sulfamethoxazole (until here is universal), vancomycin, teicoplanin, tetracycline, erythromycin, oxacillin, rifampin. +At default, the antibiotics that are used for \strong{Gram-positive bacteria} are: +\itemize{ +\item Amoxicillin +\item Amoxicillin/clavulanic acid +\item Cefuroxime +\item Piperacillin/tazobactam +\item Ciprofloxacin +\item Trimethoprim/sulfamethoxazole +\item Vancomycin +\item Teicoplanin +\item Tetracycline +\item Erythromycin +\item Oxacillin +\item Rifampin +} - At default, the antibiotics that are used for \strong{Gram-negative bacteria} are: \cr - amoxicillin, amoxicillin/clavulanic acid, cefuroxime, piperacillin/tazobactam, ciprofloxacin, trimethoprim/sulfamethoxazole (until here is universal), gentamicin, tobramycin, colistin, cefotaxime, ceftazidime, meropenem. +At default the antibiotics that are used for \strong{Gram-negative bacteria} are: +\itemize{ +\item Amoxicillin +\item Amoxicillin/clavulanic acid +\item Cefuroxime +\item Piperacillin/tazobactam +\item Ciprofloxacin +\item Trimethoprim/sulfamethoxazole +\item Gentamicin +\item Tobramycin +\item Colistin +\item Cefotaxime +\item Ceftazidime +\item Meropenem +} - - The function \code{key_antibiotics_equal} checks the characters returned by \code{key_antibiotics} for equality, and returns a logical vector. +The function \code{\link[=key_antibiotics_equal]{key_antibiotics_equal()}} checks the characters returned by \code{\link[=key_antibiotics]{key_antibiotics()}} for equality, and returns a \code{\link{logical}} vector. } \section{Key antibiotics}{ - There are two ways to determine whether isolates can be included as first \emph{weighted} isolates which will give generally the same results: \cr +There are two ways to determine whether isolates can be included as first \emph{weighted} isolates which will give generally the same results: +\enumerate{ +\item Using \code{type = "keyantibiotics"} and parameter \code{ignore_I} - \strong{1. Using} \code{type = "keyantibiotics"} \strong{and parameter} \code{ignore_I} \cr - Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With \code{ignore_I = FALSE}, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the \code{\link{key_antibiotics}} function. \cr +Any difference from S to R (or vice versa) will (re)select an isolate as a first weighted isolate. With \code{ignore_I = FALSE}, also differences from I to S|R (or vice versa) will lead to this. This is a reliable method and 30-35 times faster than method 2. Read more about this in the \code{\link[=key_antibiotics]{key_antibiotics()}} function. +\item Using \code{type = "points"} and parameter \code{points_threshold} - \strong{2. Using} \code{type = "points"} \strong{and parameter} \code{points_threshold} \cr - A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds \code{points_threshold}, which default to \code{2}, an isolate will be (re)selected as a first weighted isolate. +A difference from I to S|R (or vice versa) means 0.5 points, a difference from S to R (or vice versa) means 1 point. When the sum of points exceeds \code{points_threshold}, which default to \code{2}, an isolate will be (re)selected as a first weighted isolate. +} } \section{Read more on our website!}{ @@ -112,5 +153,5 @@ key_antibiotics_equal(strainA, strainB, ignore_I = FALSE) # FALSE, because I is not ignored and so the 4th value differs } \seealso{ -\code{\link{first_isolate}} +\code{\link[=first_isolate]{first_isolate()}} } diff --git a/man/kurtosis.Rd b/man/kurtosis.Rd index 09bff4373..59b08786a 100644 --- a/man/kurtosis.Rd +++ b/man/kurtosis.Rd @@ -16,7 +16,7 @@ kurtosis(x, na.rm = FALSE) \method{kurtosis}{data.frame}(x, na.rm = FALSE) } \arguments{ -\item{x}{a vector of values, a \code{matrix} or a \code{data frame}} +\item{x}{a vector of values, a \code{\link{matrix}} or a \code{\link{data frame}}} \item{na.rm}{a logical value indicating whether \code{NA} values should be stripped before the computation proceeds.} } @@ -29,5 +29,5 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https:// } \seealso{ -\code{\link{skewness}} +\code{\link[=skewness]{skewness()}} } diff --git a/man/like.Rd b/man/like.Rd index 7ed6f949e..b4ea7b076 100755 --- a/man/like.Rd +++ b/man/like.Rd @@ -18,12 +18,12 @@ x \%like_case\% pattern \arguments{ \item{x}{a character vector where matches are sought, or an object which can be coerced by \code{as.character} to a character - vector. \link{Long vectors} are supported.} + vector. \link[base]{Long vectors} are supported.} -\item{pattern}{character string containing a \link{regular expression} +\item{pattern}{character string containing a \link[base]{regular expression} (or character string for \code{fixed = TRUE}) to be matched in the given character vector. Coerced by - \code{\link{as.character}} to a character string if possible. If a + \code{\link[base]{as.character}} to a character string if possible. If a character vector of length 2 or more is supplied, the first element is used with a warning. Missing values are allowed except for \code{regexpr} and \code{gregexpr}.} @@ -32,13 +32,13 @@ x \%like_case\% pattern sensitive} and if \code{TRUE}, case is ignored during matching.} } \value{ -A \code{logical} vector +A \code{\link{logical}} vector } \description{ -Convenient wrapper around \code{\link[base]{grep}} to match a pattern: \code{a \%like\% b}. It always returns a \code{logical} vector and is always case-insensitive (use \code{a \%like_case\% b} for case-sensitive matching). Also, \code{pattern} (\code{b}) can be as long as \code{x} (\code{a}) to compare items of each index in both vectors, or can both have the same length to iterate over all cases. +Convenient wrapper around \code{\link[base:grep]{base::grep()}} to match a pattern: \code{a \%like\% b}. It always returns a \code{\link{logical}} vector and is always case-insensitive (use \code{a \%like_case\% b} for case-sensitive matching). Also, \code{pattern} (\emph{b}) can be as long as \code{x} (\emph{a}) to compare items of each index in both vectors, or can both have the same length to iterate over all cases. } \details{ -Using RStudio? This function can also be inserted from the Addins menu and can have its own Keyboard Shortcut like Ctrl+Shift+L or Cmd+Shift+L (see Tools > Modify Keyboard Shortcuts...). +Using RStudio? This function can also be inserted from the Addins menu and can have its own Keyboard Shortcut like \code{Ctrl+Shift+L} or \code{Cmd+Shift+L} (see \code{Tools} > \verb{Modify Keyboard Shortcuts...}). } \section{Read more on our website!}{ @@ -67,5 +67,5 @@ example_isolates \%>\% freq(mo_fullname(mo)) } \seealso{ -\code{\link[base]{grep}} +\code{\link[base:grep]{base::grep()}} } diff --git a/man/mdro.Rd b/man/mdro.Rd index 56558457f..0a824c014 100644 --- a/man/mdro.Rd +++ b/man/mdro.Rd @@ -15,12 +15,19 @@ \alias{eucast_exceptional_phenotypes} \title{Determine multidrug-resistant organisms (MDRO)} \source{ -Please see Details for the list of publications used for this function. +Please see \emph{Details} for the list of publications used for this function. } \usage{ -mdro(x, guideline = NULL, col_mo = NULL, info = TRUE, - pct_required_classes = 0.5, combine_SI = TRUE, verbose = FALSE, - ...) +mdro( + x, + guideline = "CMI2012", + col_mo = NULL, + info = TRUE, + pct_required_classes = 0.5, + combine_SI = TRUE, + verbose = FALSE, + ... +) brmo(x, guideline = "BRMO", ...) @@ -35,26 +42,30 @@ eucast_exceptional_phenotypes(x, guideline = "EUCAST", ...) \arguments{ \item{x}{data with antibiotic columns, like e.g. \code{AMX} and \code{AMC}} -\item{guideline}{a specific guideline to follow. When left empty, the publication by Magiorakos \emph{et al.} (2012, Clinical Microbiology and Infection) will be followed, see Details.} +\item{guideline}{a specific guideline to follow. When left empty, the publication by Magiorakos \emph{et al.} (2012, Clinical Microbiology and Infection) will be followed, please see \emph{Details}.} -\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link{as.mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.} +\item{col_mo}{column name of the IDs of the microorganisms (see \code{\link[=as.mo]{as.mo()}}), defaults to the first column of class \code{\link{mo}}. Values will be coerced using \code{\link[=as.mo]{as.mo()}}.} -\item{info}{print progress} +\item{info}{a logical to indicate whether progress should be printed to the console} \item{pct_required_classes}{minimal required percentage of antimicrobial classes that must be available per isolate, rounded down. For example, with the default guideline, 17 antimicrobial classes must be available for \emph{S. aureus}. Setting this \code{pct_required_classes} argument to \code{0.5} (default) means that for every \emph{S. aureus} isolate at least 8 different classes must be available. Any lower number of available classes will return \code{NA} for that isolate.} -\item{combine_SI}{a logical to indicate whether all values of S and I must be merged into one, so resistance is only considered when isolates are R, not I. As this is the default behaviour of the \code{mdro()} function, it follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. When using \code{combine_SI = FALSE}, resistance is considered when isolates are R or I.} +\item{combine_SI}{a logical to indicate whether all values of S and I must be merged into one, so resistance is only considered when isolates are R, not I. As this is the default behaviour of the \code{\link[=mdro]{mdro()}} function, it follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. When using \code{combine_SI = FALSE}, resistance is considered when isolates are R or I.} \item{verbose}{a logical to turn Verbose mode on and off (default is off). In Verbose mode, the function does not return the MDRO results, but instead returns a data set in logbook form with extensive info about which isolates would be MDRO-positive, or why they are not.} -\item{...}{column name of an antibiotic, see section Antibiotics} +\item{...}{column name of an antibiotic, please see section \emph{Antibiotics} below} } \value{ \itemize{ - \item{CMI 2012 paper - function \code{mdr_cmi2012()} or \code{mdro()}:\cr Ordered factor with levels \code{Negative < Multi-drug-resistant (MDR) < Extensively drug-resistant (XDR) < Pandrug-resistant (PDR)}} - \item{TB guideline - function \code{mdr_tb()} or \code{mdro(..., guideline = "TB")}:\cr Ordered factor with levels \code{Negative < Mono-resistant < Poly-resistant < Multi-drug-resistant < Extensively drug-resistant}} - \item{German guideline - function \code{mrgn()} or \code{mdro(..., guideline = "MRGN")}:\cr Ordered factor with levels \code{Negative < 3MRGN < 4MRGN}} - \item{Everything else:\cr Ordered factor with levels \code{Negative < Positive, unconfirmed < Positive}. The value \code{"Positive, unconfirmed"} means that, according to the guideline, it is not entirely sure if the isolate is multi-drug resistant and this should be confirmed with additional (e.g. molecular) tests} +\item CMI 2012 paper - function \code{\link[=mdr_cmi2012]{mdr_cmi2012()}} or \code{\link[=mdro]{mdro()}}:\cr +Ordered \code{\link{factor}} with levels \code{Negative} < \code{Multi-drug-resistant (MDR)} < \verb{Extensively drug-resistant (XDR)} < \code{Pandrug-resistant (PDR)} +\item TB guideline - function \code{\link[=mdr_tb]{mdr_tb()}} or \code{\link[=mdro]{mdro(..., guideline = "TB")}}:\cr +Ordered \code{\link{factor}} with levels \code{Negative} < \code{Mono-resistant} < \code{Poly-resistant} < \code{Multi-drug-resistant} < \verb{Extensively drug-resistant} +\item German guideline - function \code{\link[=mrgn]{mrgn()}} or \code{\link[=mdro]{mdro(..., guideline = "MRGN")}}:\cr +Ordered \code{\link{factor}} with levels \code{Negative} < \verb{3MRGN} < \verb{4MRGN} +\item Everything else:\cr +Ordered \code{\link{factor}} with levels \code{Negative} < \verb{Positive, unconfirmed} < \code{Positive}. The value \code{"Positive, unconfirmed"} means that, according to the guideline, it is not entirely sure if the isolate is multi-drug resistant and this should be confirmed with additional (e.g. molecular) tests } } \description{ @@ -65,117 +76,121 @@ For the \code{pct_required_classes} argument, values above 1 will be divided by Currently supported guidelines are (case-insensitive): \itemize{ - \item{\code{guideline = "CMI2012"}: Magiorakos AP, Srinivasan A \emph{et al.} "Multidrug-resistant, extensively drug-resistant and pandrug-resistant bacteria: an international expert proposal for interim standard definitions for acquired resistance." Clinical Microbiology and Infection (2012) (\href{https://www.clinicalmicrobiologyandinfection.com/article/S1198-743X(14)61632-3/fulltext}{link})} - \item{\code{guideline = "EUCAST"}: The European international guideline - EUCAST Expert Rules Version 3.1 "Intrinsic Resistance and Exceptional Phenotypes Tables" (\href{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf}{link})} - \item{\code{guideline = "TB"}: The international guideline for multi-drug resistant tuberculosis - World Health Organization "Companion handbook to the WHO guidelines for the programmatic management of drug-resistant tuberculosis" (\href{https://www.who.int/tb/publications/pmdt_companionhandbook/en/}{link})} - \item{\code{guideline = "MRGN"}: The German national guideline - Mueller et al. (2015) Antimicrobial Resistance and Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6} - \item{\code{guideline = "BRMO"}: The Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu "WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) [ZKH]" (\href{https://www.rivm.nl/Documenten_en_publicaties/Professioneel_Praktisch/Richtlijnen/Infectieziekten/WIP_Richtlijnen/WIP_Richtlijnen/Ziekenhuizen/WIP_richtlijn_BRMO_Bijzonder_Resistente_Micro_Organismen_ZKH}{link})} +\item \code{guideline = "CMI2012"}\cr +Magiorakos AP, Srinivasan A \emph{et al.} "Multidrug-resistant, extensively drug-resistant and pandrug-resistant bacteria: an international expert proposal for interim standard definitions for acquired resistance." Clinical Microbiology and Infection (2012) (\href{https://www.clinicalmicrobiologyandinfection.com/article/S1198-743X(14)61632-3/fulltext}{link}) +\item \code{guideline = "EUCAST"}\cr +The European international guideline - EUCAST Expert Rules Version 3.1 "Intrinsic Resistance and Exceptional Phenotypes Tables" (\href{http://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf}{link}) +\item \code{guideline = "TB"}\cr +The international guideline for multi-drug resistant tuberculosis - World Health Organization "Companion handbook to the WHO guidelines for the programmatic management of drug-resistant tuberculosis" (\href{https://www.who.int/tb/publications/pmdt_companionhandbook/en/}{link}) +\item \code{guideline = "MRGN"}\cr +The German national guideline - Mueller et al. (2015) Antimicrobial Resistance and Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6 +\item \code{guideline = "BRMO"}\cr +The Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu "WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) \link{ZKH}" (\href{https://www.rivm.nl/Documenten_en_publicaties/Professioneel_Praktisch/Richtlijnen/Infectieziekten/WIP_Richtlijnen/WIP_Richtlijnen/Ziekenhuizen/WIP_richtlijn_BRMO_Bijzonder_Resistente_Micro_Organismen_ZKH}{link}) } Please suggest your own (country-specific) guidelines by letting us know: \url{https://gitlab.com/msberends/AMR/issues/new}. -\strong{Note:} Every test that involves the Enterobacteriaceae family, will internally be performed using its newly named order Enterobacterales, since the Enterobacteriaceae family has been taxonomically reclassified by Adeolu \emph{et al.} in 2016. Before that, Enterobacteriaceae was the only family under the Enterobacteriales (with an i) order. All species under the old Enterobacteriaceae family are still under the new Enterobacterales (without an i) order, but divided into multiple families. The way tests are performed now by this \code{mdro()} function makes sure that results from before 2016 and after 2016 are identical. +\strong{Note:} Every test that involves the Enterobacteriaceae family, will internally be performed using its newly named order Enterobacterales, since the Enterobacteriaceae family has been taxonomically reclassified by Adeolu \emph{et al.} in 2016. Before that, Enterobacteriaceae was the only family under the Enterobacteriales (with an i) order. All species under the old Enterobacteriaceae family are still under the new Enterobacterales (without an i) order, but divided into multiple families. The way tests are performed now by this \code{\link[=mdro]{mdro()}} function makes sure that results from before 2016 and after 2016 are identical. } \section{Antibiotics}{ -To define antibiotics column names, leave as it is to determine it automatically with \code{\link{guess_ab_col}} or input a text (case-insensitive), or use \code{NULL} to skip a column (e.g. \code{TIC = NULL} to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning. +To define antibiotics column names, leave as it is to determine it automatically with \code{\link[=guess_ab_col]{guess_ab_col()}} or input a text (case-insensitive), or use \code{NULL} to skip a column (e.g. \code{TIC = NULL} to skip ticarcillin). Manually defined but non-existing columns will be skipped with a warning. -The following antibiotics are used for the functions \code{\link{eucast_rules}} and \code{\link{mdro}}. These are shown below in the format '\strong{antimicrobial ID}: name (\href{https://www.whocc.no/atc/structure_and_principles/}{ATC code})', sorted by name: +The following antibiotics are used for the functions \code{\link[=eucast_rules]{eucast_rules()}} and \code{\link[=mdro]{mdro()}}. These are shown below in the format '\strong{antimicrobial ID}: name (\href{https://www.whocc.no/atc/structure_and_principles/}{ATC code})', sorted by name: - \strong{AMK}: amikacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB06}{J01GB06}), - \strong{AMX}: amoxicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA04}{J01CA04}), - \strong{AMC}: amoxicillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR02}{J01CR02}), - \strong{AMP}: ampicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA01}{J01CA01}), - \strong{SAM}: ampicillin/sulbactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR01}{J01CR01}), - \strong{AZM}: azithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA10}{J01FA10}), - \strong{AZL}: azlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA09}{J01CA09}), - \strong{ATM}: aztreonam (\href{https://www.whocc.no/atc_ddd_index/?code=J01DF01}{J01DF01}), - \strong{CAP}: capreomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB30}{J04AB30}), - \strong{RID}: cefaloridine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB02}{J01DB02}), - \strong{CZO}: cefazolin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB04}{J01DB04}), - \strong{FEP}: cefepime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DE01}{J01DE01}), - \strong{CTX}: cefotaxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD01}{J01DD01}), - \strong{CTT}: cefotetan (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC05}{J01DC05}), - \strong{FOX}: cefoxitin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC01}{J01DC01}), - \strong{CPT}: ceftaroline (\href{https://www.whocc.no/atc_ddd_index/?code=J01DI02}{J01DI02}), - \strong{CAZ}: ceftazidime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD02}{J01DD02}), - \strong{CRO}: ceftriaxone (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD04}{J01DD04}), - \strong{CXM}: cefuroxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC02}{J01DC02}), - \strong{CED}: cephradine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB09}{J01DB09}), - \strong{CHL}: chloramphenicol (\href{https://www.whocc.no/atc_ddd_index/?code=J01BA01}{J01BA01}), - \strong{CIP}: ciprofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA02}{J01MA02}), - \strong{CLR}: clarithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA09}{J01FA09}), - \strong{CLI}: clindamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF01}{J01FF01}), - \strong{COL}: colistin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB01}{J01XB01}), - \strong{DAP}: daptomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX09}{J01XX09}), - \strong{DOR}: doripenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH04}{J01DH04}), - \strong{DOX}: doxycycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA02}{J01AA02}), - \strong{ETP}: ertapenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH03}{J01DH03}), - \strong{ERY}: erythromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA01}{J01FA01}), - \strong{ETH}: ethambutol (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK02}{J04AK02}), - \strong{FLC}: flucloxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF05}{J01CF05}), - \strong{FOS}: fosfomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX01}{J01XX01}), - \strong{FUS}: fusidic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XC01}{J01XC01}), - \strong{GAT}: gatifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA16}{J01MA16}), - \strong{GEN}: gentamicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB03}{J01GB03}), - \strong{GEH}: gentamicin-high (no ATC code), - \strong{IPM}: imipenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH51}{J01DH51}), - \strong{INH}: isoniazid (\href{https://www.whocc.no/atc_ddd_index/?code=J04AC01}{J04AC01}), - \strong{KAN}: kanamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB04}{J01GB04}), - \strong{LVX}: levofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA12}{J01MA12}), - \strong{LIN}: lincomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF02}{J01FF02}), - \strong{LNZ}: linezolid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX08}{J01XX08}), - \strong{MEM}: meropenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH02}{J01DH02}), - \strong{MTR}: metronidazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01XD01}{J01XD01}), - \strong{MEZ}: mezlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA10}{J01CA10}), - \strong{MNO}: minocycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA08}{J01AA08}), - \strong{MFX}: moxifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA14}{J01MA14}), - \strong{NAL}: nalidixic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01MB02}{J01MB02}), - \strong{NEO}: neomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB05}{J01GB05}), - \strong{NET}: netilmicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB07}{J01GB07}), - \strong{NIT}: nitrofurantoin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XE01}{J01XE01}), - \strong{NOR}: norfloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA06}{J01MA06}), - \strong{NOV}: novobiocin (\href{https://www.whocc.no/atc_ddd_index/?code=QJ01XX95}{QJ01XX95}), - \strong{OFX}: ofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA01}{J01MA01}), - \strong{OXA}: oxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF04}{J01CF04}), - \strong{PEN}: penicillin G (\href{https://www.whocc.no/atc_ddd_index/?code=J01CE01}{J01CE01}), - \strong{PIP}: piperacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA12}{J01CA12}), - \strong{TZP}: piperacillin/tazobactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR05}{J01CR05}), - \strong{PLB}: polymyxin B (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB02}{J01XB02}), - \strong{PRI}: pristinamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG01}{J01FG01}), - \strong{PZA}: pyrazinamide (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK01}{J04AK01}), - \strong{QDA}: quinupristin/dalfopristin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG02}{J01FG02}), - \strong{RIB}: rifabutin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB04}{J04AB04}), - \strong{RIF}: rifampicin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB02}{J04AB02}), - \strong{RFP}: rifapentine (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB05}{J04AB05}), - \strong{RXT}: roxithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA06}{J01FA06}), - \strong{SIS}: sisomicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB08}{J01GB08}), - \strong{STH}: streptomycin-high (no ATC code), - \strong{TEC}: teicoplanin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA02}{J01XA02}), - \strong{TLV}: telavancin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA03}{J01XA03}), - \strong{TCY}: tetracycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA07}{J01AA07}), - \strong{TIC}: ticarcillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA13}{J01CA13}), - \strong{TCC}: ticarcillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR03}{J01CR03}), - \strong{TGC}: tigecycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA12}{J01AA12}), - \strong{TOB}: tobramycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB01}{J01GB01}), - \strong{TMP}: trimethoprim (\href{https://www.whocc.no/atc_ddd_index/?code=J01EA01}{J01EA01}), - \strong{SXT}: trimethoprim/sulfamethoxazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01EE01}{J01EE01}), - \strong{VAN}: vancomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA01}{J01XA01}). +\strong{AMK}: amikacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB06}{J01GB06}), +\strong{AMX}: amoxicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA04}{J01CA04}), +\strong{AMC}: amoxicillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR02}{J01CR02}), +\strong{AMP}: ampicillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA01}{J01CA01}), +\strong{SAM}: ampicillin/sulbactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR01}{J01CR01}), +\strong{AZM}: azithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA10}{J01FA10}), +\strong{AZL}: azlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA09}{J01CA09}), +\strong{ATM}: aztreonam (\href{https://www.whocc.no/atc_ddd_index/?code=J01DF01}{J01DF01}), +\strong{CAP}: capreomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB30}{J04AB30}), +\strong{RID}: cefaloridine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB02}{J01DB02}), +\strong{CZO}: cefazolin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB04}{J01DB04}), +\strong{FEP}: cefepime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DE01}{J01DE01}), +\strong{CTX}: cefotaxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD01}{J01DD01}), +\strong{CTT}: cefotetan (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC05}{J01DC05}), +\strong{FOX}: cefoxitin (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC01}{J01DC01}), +\strong{CPT}: ceftaroline (\href{https://www.whocc.no/atc_ddd_index/?code=J01DI02}{J01DI02}), +\strong{CAZ}: ceftazidime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD02}{J01DD02}), +\strong{CRO}: ceftriaxone (\href{https://www.whocc.no/atc_ddd_index/?code=J01DD04}{J01DD04}), +\strong{CXM}: cefuroxime (\href{https://www.whocc.no/atc_ddd_index/?code=J01DC02}{J01DC02}), +\strong{CED}: cephradine (\href{https://www.whocc.no/atc_ddd_index/?code=J01DB09}{J01DB09}), +\strong{CHL}: chloramphenicol (\href{https://www.whocc.no/atc_ddd_index/?code=J01BA01}{J01BA01}), +\strong{CIP}: ciprofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA02}{J01MA02}), +\strong{CLR}: clarithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA09}{J01FA09}), +\strong{CLI}: clindamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF01}{J01FF01}), +\strong{COL}: colistin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB01}{J01XB01}), +\strong{DAP}: daptomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX09}{J01XX09}), +\strong{DOR}: doripenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH04}{J01DH04}), +\strong{DOX}: doxycycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA02}{J01AA02}), +\strong{ETP}: ertapenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH03}{J01DH03}), +\strong{ERY}: erythromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA01}{J01FA01}), +\strong{ETH}: ethambutol (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK02}{J04AK02}), +\strong{FLC}: flucloxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF05}{J01CF05}), +\strong{FOS}: fosfomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX01}{J01XX01}), +\strong{FUS}: fusidic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XC01}{J01XC01}), +\strong{GAT}: gatifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA16}{J01MA16}), +\strong{GEN}: gentamicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB03}{J01GB03}), +\strong{GEH}: gentamicin-high (no ATC code), +\strong{IPM}: imipenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH51}{J01DH51}), +\strong{INH}: isoniazid (\href{https://www.whocc.no/atc_ddd_index/?code=J04AC01}{J04AC01}), +\strong{KAN}: kanamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB04}{J01GB04}), +\strong{LVX}: levofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA12}{J01MA12}), +\strong{LIN}: lincomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FF02}{J01FF02}), +\strong{LNZ}: linezolid (\href{https://www.whocc.no/atc_ddd_index/?code=J01XX08}{J01XX08}), +\strong{MEM}: meropenem (\href{https://www.whocc.no/atc_ddd_index/?code=J01DH02}{J01DH02}), +\strong{MTR}: metronidazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01XD01}{J01XD01}), +\strong{MEZ}: mezlocillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA10}{J01CA10}), +\strong{MNO}: minocycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA08}{J01AA08}), +\strong{MFX}: moxifloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA14}{J01MA14}), +\strong{NAL}: nalidixic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01MB02}{J01MB02}), +\strong{NEO}: neomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB05}{J01GB05}), +\strong{NET}: netilmicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB07}{J01GB07}), +\strong{NIT}: nitrofurantoin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XE01}{J01XE01}), +\strong{NOR}: norfloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA06}{J01MA06}), +\strong{NOV}: novobiocin (\href{https://www.whocc.no/atc_ddd_index/?code=QJ01XX95}{QJ01XX95}), +\strong{OFX}: ofloxacin (\href{https://www.whocc.no/atc_ddd_index/?code=J01MA01}{J01MA01}), +\strong{OXA}: oxacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CF04}{J01CF04}), +\strong{PEN}: penicillin G (\href{https://www.whocc.no/atc_ddd_index/?code=J01CE01}{J01CE01}), +\strong{PIP}: piperacillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA12}{J01CA12}), +\strong{TZP}: piperacillin/tazobactam (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR05}{J01CR05}), +\strong{PLB}: polymyxin B (\href{https://www.whocc.no/atc_ddd_index/?code=J01XB02}{J01XB02}), +\strong{PRI}: pristinamycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG01}{J01FG01}), +\strong{PZA}: pyrazinamide (\href{https://www.whocc.no/atc_ddd_index/?code=J04AK01}{J04AK01}), +\strong{QDA}: quinupristin/dalfopristin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FG02}{J01FG02}), +\strong{RIB}: rifabutin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB04}{J04AB04}), +\strong{RIF}: rifampicin (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB02}{J04AB02}), +\strong{RFP}: rifapentine (\href{https://www.whocc.no/atc_ddd_index/?code=J04AB05}{J04AB05}), +\strong{RXT}: roxithromycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01FA06}{J01FA06}), +\strong{SIS}: sisomicin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB08}{J01GB08}), +\strong{STH}: streptomycin-high (no ATC code), +\strong{TEC}: teicoplanin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA02}{J01XA02}), +\strong{TLV}: telavancin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA03}{J01XA03}), +\strong{TCY}: tetracycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA07}{J01AA07}), +\strong{TIC}: ticarcillin (\href{https://www.whocc.no/atc_ddd_index/?code=J01CA13}{J01CA13}), +\strong{TCC}: ticarcillin/clavulanic acid (\href{https://www.whocc.no/atc_ddd_index/?code=J01CR03}{J01CR03}), +\strong{TGC}: tigecycline (\href{https://www.whocc.no/atc_ddd_index/?code=J01AA12}{J01AA12}), +\strong{TOB}: tobramycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01GB01}{J01GB01}), +\strong{TMP}: trimethoprim (\href{https://www.whocc.no/atc_ddd_index/?code=J01EA01}{J01EA01}), +\strong{SXT}: trimethoprim/sulfamethoxazole (\href{https://www.whocc.no/atc_ddd_index/?code=J01EE01}{J01EE01}), +\strong{VAN}: vancomycin (\href{https://www.whocc.no/atc_ddd_index/?code=J01XA01}{J01XA01}). } \section{Interpretation of S, I and R}{ In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". - \itemize{ - \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} - \item{\strong{I} - }{Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.} - \item{\strong{R} - }{Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.} +\item \strong{S} - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent. +\item \strong{I} - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection. +\item \strong{R} - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure. } Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. -This AMR package honours this new insight. Use \code{\link{susceptibility}()} (equal to \code{\link{proportion_SI}()}) to determine antimicrobial susceptibility and \code{\link{count_susceptible}()} (equal to \code{\link{count_SI}()}) to count susceptible isolates. +This AMR package honours this new insight. Use \code{\link[=susceptibility]{susceptibility()}} (equal to \code{\link[=proportion_SI]{proportion_SI()}}) to determine antimicrobial susceptibility and \code{\link[=count_susceptible]{count_susceptible()}} (equal to \code{\link[=count_SI]{count_SI()}}) to count susceptible isolates. } \section{Read more on our website!}{ diff --git a/man/microorganisms.Rd b/man/microorganisms.Rd index f8f1fbb15..34c0dc79e 100755 --- a/man/microorganisms.Rd +++ b/man/microorganisms.Rd @@ -5,38 +5,38 @@ \alias{microorganisms} \title{Data set with ~70,000 microorganisms} \format{A \code{\link{data.frame}} with 69,447 observations and 16 variables: -\describe{ - \item{\code{mo}}{ID of microorganism as used by this package} - \item{\code{col_id}}{Catalogue of Life ID} - \item{\code{fullname}}{Full name, like \code{"Escherichia coli"}} - \item{\code{kingdom}, \code{phylum}, \code{class}, \code{order}, \code{family}, \code{genus}, \code{species}, \code{subspecies}}{Taxonomic rank of the microorganism} - \item{\code{rank}}{Text of the taxonomic rank of the microorganism, like \code{"species"} or \code{"genus"}} - \item{\code{ref}}{Author(s) and year of concerning scientific publication} - \item{\code{species_id}}{ID of the species as used by the Catalogue of Life} - \item{\code{source}}{Either "CoL", "DSMZ" (see Source) or "manually added"} - \item{\code{prevalence}}{Prevalence of the microorganism, see \code{?as.mo}} +\itemize{ +\item \code{mo}\cr ID of microorganism as used by this package +\item \code{col_id}\cr Catalogue of Life ID +\item \code{fullname}\cr Full name, like \code{"Escherichia coli"} +\item \code{kingdom}, \code{phylum}, \code{class}, \code{order}, \code{family}, \code{genus}, \code{species}, \code{subspecies}\cr Taxonomic rank of the microorganism +\item \code{rank}\cr Text of the taxonomic rank of the microorganism, like \code{"species"} or \code{"genus"} +\item \code{ref}\cr Author(s) and year of concerning scientific publication +\item \code{species_id}\cr ID of the species as used by the Catalogue of Life +\item \code{source}\cr Either "CoL", "DSMZ" (see Source) or "manually added" +\item \code{prevalence}\cr Prevalence of the microorganism, see \code{\link[=as.mo]{as.mo()}} }} \source{ -Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link{catalogue_of_life_version}()}). +Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}). -Leibniz Institute DSMZ-German Collection of Microorganisms and Cell Cultures, Germany, Prokaryotic Nomenclature Up-to-Date, \url{http://www.dsmz.de/bacterial-diversity/prokaryotic-nomenclature-up-to-date} (check included version with \code{\link{catalogue_of_life_version}()}). +Leibniz Institute DSMZ-German Collection of Microorganisms and Cell Cultures, Germany, Prokaryotic Nomenclature Up-to-Date, \url{http://www.dsmz.de/bacterial-diversity/prokaryotic-nomenclature-up-to-date} (check included version with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}). } \usage{ microorganisms } \description{ -A data set containing the microbial taxonomy of six kingdoms from the Catalogue of Life. MO codes can be looked up using \code{\link{as.mo}}. +A data set containing the microbial taxonomy of six kingdoms from the Catalogue of Life. MO codes can be looked up using \code{\link[=as.mo]{as.mo()}}. } \details{ Manually added were: \itemize{ - \item{11 entries of \emph{Streptococcus} (beta-haemolytic: groups A, B, C, D, F, G, H, K and unspecified; other: viridans, milleri)} - \item{2 entries of \emph{Staphylococcus} (coagulase-negative [CoNS] and coagulase-positive [CoPS])} - \item{3 entries of \emph{Trichomonas} (\emph{Trichomonas vaginalis}, and its family and genus)} - \item{1 entry of \emph{Blastocystis} (\emph{Blastocystis hominis}), although it officially does not exist (Noel \emph{et al.} 2005, PMID 15634993)} - \item{5 other 'undefined' entries (unknown, unknown Gram negatives, unknown Gram positives, unknown yeast and unknown fungus)} - \item{6 families under the Enterobacterales order, according to Adeolu \emph{et al.} (2016, PMID 27620848), that are not in the Catalogue of Life} - \item{12,600 species from the DSMZ (Deutsche Sammlung von Mikroorganismen und Zellkulturen) since the DSMZ contain the latest taxonomic information based on recent publications} +\item 11 entries of \emph{Streptococcus} (beta-haemolytic: groups A, B, C, D, F, G, H, K and unspecified; other: viridans, milleri) +\item 2 entries of \emph{Staphylococcus} (coagulase-negative \link{CoNS} and coagulase-positive \link{CoPS}) +\item 3 entries of \emph{Trichomonas} (\emph{Trichomonas vaginalis}, and its family and genus) +\item 1 entry of \emph{Blastocystis} (\emph{Blastocystis hominis}), although it officially does not exist (Noel \emph{et al.} 2005, PMID 15634993) +\item 5 other 'undefined' entries (unknown, unknown Gram negatives, unknown Gram positives, unknown yeast and unknown fungus) +\item 6 families under the Enterobacterales order, according to Adeolu \emph{et al.} (2016, PMID 27620848), that are not in the Catalogue of Life +\item 12,600 species from the DSMZ (Deutsche Sammlung von Mikroorganismen und Zellkulturen) since the DSMZ contain the latest taxonomic information based on recent publications } } \section{About the records from DSMZ (see source)}{ @@ -51,7 +51,7 @@ From: \url{https://www.dsmz.de/support/bacterial-nomenclature-up-to-date-downloa \if{html}{\figure{logo_col.png}{options: height=40px style=margin-bottom:5px} \cr} This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (\url{http://www.catalogueoflife.org}). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. -\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link{catalogue_of_life_version}()}. +\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}. } \section{Read more on our website!}{ @@ -60,6 +60,6 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https:// } \seealso{ -\code{\link{as.mo}}, \code{\link{mo_property}}, \code{\link{microorganisms.codes}} +\code{\link[=as.mo]{as.mo()}}, \code{\link[=mo_property]{mo_property()}}, \link{microorganisms.codes} } \keyword{datasets} diff --git a/man/microorganisms.codes.Rd b/man/microorganisms.codes.Rd index 68932fa87..e3b8fdd66 100644 --- a/man/microorganisms.codes.Rd +++ b/man/microorganisms.codes.Rd @@ -5,22 +5,22 @@ \alias{microorganisms.codes} \title{Translation table for common microorganism codes} \format{A \code{\link{data.frame}} with 5,433 observations and 2 variables: -\describe{ - \item{\code{code}}{Commonly used code of a microorganism} - \item{\code{mo}}{ID of the microorganism in the \code{\link{microorganisms}} data set} +\itemize{ +\item \code{code}\cr Commonly used code of a microorganism +\item \code{mo}\cr ID of the microorganism in the \link{microorganisms} data set }} \usage{ microorganisms.codes } \description{ -A data set containing commonly used codes for microorganisms, from laboratory systems and WHONET. Define your own with \code{\link{set_mo_source}}. +A data set containing commonly used codes for microorganisms, from laboratory systems and WHONET. Define your own with \code{\link[=set_mo_source]{set_mo_source()}}. } \section{Catalogue of Life}{ \if{html}{\figure{logo_col.png}{options: height=40px style=margin-bottom:5px} \cr} This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (\url{http://www.catalogueoflife.org}). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. -\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link{catalogue_of_life_version}()}. +\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}. } \section{Read more on our website!}{ @@ -29,6 +29,6 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https:// } \seealso{ -\code{\link{as.mo}} \code{\link{microorganisms}} +\code{\link[=as.mo]{as.mo()}} \link{microorganisms} } \keyword{datasets} diff --git a/man/microorganisms.old.Rd b/man/microorganisms.old.Rd index 17085c87c..4031d01c0 100644 --- a/man/microorganisms.old.Rd +++ b/man/microorganisms.old.Rd @@ -5,28 +5,28 @@ \alias{microorganisms.old} \title{Data set with previously accepted taxonomic names} \format{A \code{\link{data.frame}} with 24,246 observations and 5 variables: -\describe{ - \item{\code{col_id}}{Catalogue of Life ID that was originally given} - \item{\code{col_id_new}}{New Catalogue of Life ID that responds to an entry in the \code{\link{microorganisms}} data set} - \item{\code{fullname}}{Old full taxonomic name of the microorganism} - \item{\code{ref}}{Author(s) and year of concerning scientific publication} - \item{\code{prevalence}}{Prevalence of the microorganism, see \code{?as.mo}} +\itemize{ +\item \code{col_id}\cr Catalogue of Life ID that was originally given +\item \code{col_id_new}\cr New Catalogue of Life ID that responds to an entry in the \link{microorganisms} data set +\item \code{fullname}\cr Old full taxonomic name of the microorganism +\item \code{ref}\cr Author(s) and year of concerning scientific publication +\item \code{prevalence}\cr Prevalence of the microorganism, see \code{\link[=as.mo]{as.mo()}} }} \source{ -Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link{catalogue_of_life_version}()}). +Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}). } \usage{ microorganisms.old } \description{ -A data set containing old (previously valid or accepted) taxonomic names according to the Catalogue of Life. This data set is used internally by \code{\link{as.mo}}. +A data set containing old (previously valid or accepted) taxonomic names according to the Catalogue of Life. This data set is used internally by \code{\link[=as.mo]{as.mo()}}. } \section{Catalogue of Life}{ \if{html}{\figure{logo_col.png}{options: height=40px style=margin-bottom:5px} \cr} This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (\url{http://www.catalogueoflife.org}). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. -\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link{catalogue_of_life_version}()}. +\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}. } \section{Read more on our website!}{ @@ -35,6 +35,6 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https:// } \seealso{ -\code{\link{as.mo}} \code{\link{mo_property}} \code{\link{microorganisms}} +\code{\link[=as.mo]{as.mo()}} \code{\link[=mo_property]{mo_property()}} \link{microorganisms} } \keyword{datasets} diff --git a/man/mo_property.Rd b/man/mo_property.Rd index 457a17fe4..08a5949a7 100644 --- a/man/mo_property.Rd +++ b/man/mo_property.Rd @@ -70,58 +70,57 @@ mo_url(x, open = FALSE, ...) mo_property(x, property = "fullname", language = get_locale(), ...) } \arguments{ -\item{x}{any (vector of) text that can be coerced to a valid microorganism code with \code{\link{as.mo}}} +\item{x}{any (vector of) text that can be coerced to a valid microorganism code with \code{\link[=as.mo]{as.mo()}}} -\item{language}{language of the returned text, defaults to system language (see \code{\link{get_locale}}) and can also be set with \code{\link{getOption}("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} +\item{language}{language of the returned text, defaults to system language (see \code{\link[=get_locale]{get_locale()}}) and can also be set with \code{getOption("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} -\item{...}{other parameters passed on to \code{\link{as.mo}}} +\item{...}{other parameters passed on to \code{\link[=as.mo]{as.mo()}}} -\item{open}{browse the URL using \code{\link[utils]{browseURL}()}} +\item{open}{browse the URL using \code{\link[utils:browseURL]{utils::browseURL()}}} -\item{property}{one of the column names of the \code{\link{microorganisms}} data set or \code{"shortname"}} +\item{property}{one of the column names of the \link{microorganisms} data set or \code{"shortname"}} } \value{ \itemize{ - \item{An \code{integer} in case of \code{mo_year}} - \item{A \code{list} in case of \code{mo_taxonomy}} - \item{A named \code{character} in case of \code{mo_url}} - \item{A \code{character} in all other cases} +\item An \code{\link{integer}} in case of \code{\link[=mo_year]{mo_year()}} +\item A \code{\link{list}} in case of \code{\link[=mo_taxonomy]{mo_taxonomy()}} +\item A named \code{\link{character}} in case of \code{\link[=mo_url]{mo_url()}} +\item A \code{\link{character}} in all other cases } } \description{ -Use these functions to return a specific property of a microorganism. All input values will be evaluated internally with \code{\link{as.mo}}, which makes it possible for input of these functions to use microbial abbreviations, codes and names. See Examples. +Use these functions to return a specific property of a microorganism. All input values will be evaluated internally with \code{\link[=as.mo]{as.mo()}}, which makes it possible for input of these functions to use microbial abbreviations, codes and names. See Examples. } \details{ -All functions will return the most recently known taxonomic property according to the Catalogue of Life, except for \code{mo_ref}, \code{mo_authors} and \code{mo_year}. This leads to the following results: +All functions will return the most recently known taxonomic property according to the Catalogue of Life, except for \code{\link[=mo_ref]{mo_ref()}}, \code{\link[=mo_authors]{mo_authors()}} and \code{\link[=mo_year]{mo_year()}}. This leads to the following results: \itemize{ - \item{\code{mo_name("Chlamydia psittaci")} will return \code{"Chlamydophila psittaci"} (with a warning about the renaming)} - \item{\code{mo_ref("Chlamydia psittaci")} will return \code{"Page, 1968"} (with a warning about the renaming)} - \item{\code{mo_ref("Chlamydophila psittaci")} will return \code{"Everett et al., 1999"} (without a warning)} +\item \code{mo_name("Chlamydia psittaci")} will return \code{"Chlamydophila psittaci"} (with a warning about the renaming) +\item \code{mo_ref("Chlamydia psittaci")} will return \code{"Page, 1968"} (with a warning about the renaming) +\item \code{mo_ref("Chlamydophila psittaci")} will return \code{"Everett et al., 1999"} (without a warning) } -The Gram stain - \code{mo_gramstain()} - will be determined on the taxonomic kingdom and phylum. According to Cavalier-Smith (2002) who defined subkingdoms Negibacteria and Posibacteria, only these phyla are Posibacteria: Actinobacteria, Chloroflexi, Firmicutes and Tenericutes. These bacteria are considered Gram positive - all other bacteria are considered Gram negative. Species outside the kingdom of Bacteria will return a value \code{NA}. +The Gram stain - \code{\link[=mo_gramstain]{mo_gramstain()}} - will be determined on the taxonomic kingdom and phylum. According to Cavalier-Smith (2002) who defined subkingdoms Negibacteria and Posibacteria, only these phyla are Posibacteria: Actinobacteria, Chloroflexi, Firmicutes and Tenericutes. These bacteria are considered Gram positive - all other bacteria are considered Gram negative. Species outside the kingdom of Bacteria will return a value \code{NA}. All output will be \link{translate}d where possible. -The function \code{mo_url()} will return the direct URL to the online database entry, which also shows the scientific reference of the concerned species. +The function \code{\link[=mo_url]{mo_url()}} will return the direct URL to the online database entry, which also shows the scientific reference of the concerned species. } \section{Catalogue of Life}{ \if{html}{\figure{logo_col.png}{options: height=40px style=margin-bottom:5px} \cr} This package contains the complete taxonomic tree of almost all microorganisms (~70,000 species) from the authoritative and comprehensive Catalogue of Life (\url{http://www.catalogueoflife.org}). The Catalogue of Life is the most comprehensive and authoritative global index of species currently available. -\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link{catalogue_of_life_version}()}. +\link[=catalogue_of_life]{Click here} for more information about the included taxa. Check which version of the Catalogue of Life was included in this package with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}. } \section{Source}{ -[1] Becker K \emph{et al.} \strong{Coagulase-Negative Staphylococci}. 2014. Clin Microbiol Rev. 27(4): 870–926. \url{https://dx.doi.org/10.1128/CMR.00109-13} - -[2] Becker K \emph{et al.} \strong{Implications of identifying the recently defined members of the \emph{S. aureus} complex, \emph{S. argenteus} and \emph{S. schweitzeri}: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS).} 2019. Clin Microbiol Infect. \url{https://doi.org/10.1016/j.cmi.2019.02.028} - -[3] Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} - -[4] Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link{catalogue_of_life_version}()}). +\enumerate{ +\item Becker K \emph{et al.} \strong{Coagulase-Negative Staphylococci}. 2014. Clin Microbiol Rev. 27(4): 870–926. \url{https://dx.doi.org/10.1128/CMR.00109-13} +\item Becker K \emph{et al.} \strong{Implications of identifying the recently defined members of the \emph{S. aureus} complex, \emph{S. argenteus} and \emph{S. schweitzeri}: A position paper of members of the ESCMID Study Group for staphylococci and Staphylococcal Diseases (ESGS).} 2019. Clin Microbiol Infect. \url{https://doi.org/10.1016/j.cmi.2019.02.028} +\item Lancefield RC \strong{A serological differentiation of human and other groups of hemolytic streptococci}. 1933. J Exp Med. 57(4): 571–95. \url{https://dx.doi.org/10.1084/jem.57.4.571} +\item Catalogue of Life: Annual Checklist (public online taxonomic database), \url{http://www.catalogueoflife.org} (check included annual version with \code{\link[=catalogue_of_life_version]{catalogue_of_life_version()}}). +} } \section{Read more on our website!}{ @@ -209,10 +208,10 @@ mo_fullname("S. pyogenes", # get a list with the complete taxonomy (from kingdom to subspecies) mo_taxonomy("E. coli") -# get a list with the taxonomy, the authors and the URL to the online database +# get a list with the taxonomy, the authors, Gram-stain and URL to the online database mo_info("E. coli") } } \seealso{ -\code{\link{microorganisms}} +\link{microorganisms} } diff --git a/man/mo_source.Rd b/man/mo_source.Rd index 9a51ae7b3..30fc5effc 100644 --- a/man/mo_source.Rd +++ b/man/mo_source.Rd @@ -14,24 +14,21 @@ get_mo_source() \item{path}{location of your reference file, see Details} } \description{ -These functions can be used to predefine your own reference to be used in \code{\link{as.mo}} and consequently all \code{mo_*} functions like \code{\link{mo_genus}} and \code{\link{mo_gramstain}}. +These functions can be used to predefine your own reference to be used in \code{\link[=as.mo]{as.mo()}} and consequently all \verb{mo_*} functions like \code{\link[=mo_genus]{mo_genus()}} and \code{\link[=mo_gramstain]{mo_gramstain()}}. This is \strong{the fastest way} to have your organisation (or analysis) specific codes picked up and translated by this package. } \details{ The reference file can be a text file seperated with commas (CSV) or tabs or pipes, an Excel file (either 'xls' or 'xlsx' format) or an R object file (extension '.rds'). To use an Excel file, you need to have the \code{readxl} package installed. -\code{set_mo_source} will check the file for validity: it must be a \code{data.frame}, must have a column named \code{"mo"} which contains values from \code{microorganisms$mo} and must have a reference column with your own defined values. If all tests pass, \code{set_mo_source} will read the file into R and export it to \code{"~/.mo_source.rds"}. This compressed data file will then be used at default for MO determination (function \code{\link{as.mo}} and consequently all \code{mo_*} functions like \code{\link{mo_genus}} and \code{\link{mo_gramstain}}). The location of the original file will be saved as option with \code{\link{options}(mo_source = path)}. Its timestamp will be saved with \code{\link{options}(mo_source_datetime = ...)}. +\code{\link[=set_mo_source]{set_mo_source()}} will check the file for validity: it must be a \code{\link{data.frame}}, must have a column named \code{"mo"} which contains values from \code{\link[=microorganisms]{microorganisms$mo}} and must have a reference column with your own defined values. If all tests pass, \code{\link[=set_mo_source]{set_mo_source()}} will read the file into R and export it to \code{"~/.mo_source.rds"}. This compressed data file will then be used at default for MO determination (function \code{\link[=as.mo]{as.mo()}} and consequently all \verb{mo_*} functions like \code{\link[=mo_genus]{mo_genus()}} and \code{\link[=mo_gramstain]{mo_gramstain()}}). The location of the original file will be saved as option with \code{options(mo_source = path)}. Its timestamp will be saved with \code{options(mo_source_datetime = ...)}. -\code{get_mo_source} will return the data set by reading \code{"~/.mo_source.rds"} with \code{\link{readRDS}}. If the original file has changed (the file defined with \code{path}), it will call \code{set_mo_source} to update the data file automatically. +\code{\link[=get_mo_source]{get_mo_source()}} will return the data set by reading \code{"~/.mo_source.rds"} with \code{\link[=readRDS]{readRDS()}}. If the original file has changed (the file defined with \code{path}), it will call \code{\link[=set_mo_source]{set_mo_source()}} to update the data file automatically. -Reading an Excel file (\code{.xlsx}) with only one row has a size of 8-9 kB. The compressed file used by this package will have a size of 0.1 kB and can be read by \code{get_mo_source} in only a couple of microseconds (a millionth of a second). -} -\section{How it works}{ +Reading an Excel file (\code{.xlsx}) with only one row has a size of 8-9 kB. The compressed file used by this package will have a size of 0.1 kB and can be read by \code{\link[=get_mo_source]{get_mo_source()}} in only a couple of microseconds (a millionth of a second). +\subsection{How it works}{ -Imagine this data on a sheet of an Excel file (mo codes were looked up in the `microorganisms` data set). The first column contains the organisation specific codes, the second column contains an MO code from this package: -\preformatted{ - | A | B | +Imagine this data on a sheet of an Excel file (mo codes were looked up in the \code{microorganisms} data set). The first column contains the organisation specific codes, the second column contains an MO code from this package:\preformatted{ | A | B | --|--------------------|-------------| 1 | Organisation XYZ | mo | 2 | lab_mo_ecoli | B_ESCHR_COL | @@ -39,56 +36,46 @@ Imagine this data on a sheet of an Excel file (mo codes were looked up in the `m 4 | | | } -We save it as \code{'home/me/ourcodes.xlsx'}. Now we have to set it as a source: -\preformatted{ -set_mo_source("home/me/ourcodes.xlsx") +We save it as \code{"home/me/ourcodes.xlsx"}. Now we have to set it as a source:\preformatted{set_mo_source("home/me/ourcodes.xlsx") # Created mo_source file '~/.mo_source.rds' from 'home/me/ourcodes.xlsx'. } -It has now created a file "~/.mo_source.rds" with the contents of our Excel file, but only the first column with foreign values and the 'mo' column will be kept. +It has now created a file \code{"~/.mo_source.rds"} with the contents of our Excel file, but only the first column with foreign values and the 'mo' column will be kept. -And now we can use it in our functions: -\preformatted{ -as.mo("lab_mo_ecoli") -[1] B_ESCHR_COL +And now we can use it in our functions:\preformatted{as.mo("lab_mo_ecoli") +\[1\] B_ESCHR_COLI mo_genus("lab_mo_kpneumoniae") [1] "Klebsiella" # other input values still work too as.mo(c("Escherichia coli", "E. coli", "lab_mo_ecoli")) -[1] B_ESCHR_COL B_ESCHR_COL B_ESCHR_COL +[1] B_ESCHR_COLI B_ESCHR_COLI B_ESCHR_COLI } -If we edit the Excel file to, let's say, this: -\preformatted{ - | A | B | ---|--------------------|-------------| -1 | Organisation XYZ | mo | -2 | lab_mo_ecoli | B_ESCHR_COL | -3 | lab_mo_kpneumoniae | B_KLBSL_PNE | -4 | lab_Staph_aureus | B_STPHY_AUR | -5 | | | +If we edit the Excel file to, let's say, this:\preformatted{ | A | B | +--|--------------------|--------------| +1 | Organisation XYZ | mo | +2 | lab_mo_ecoli | B_ESCHR_COLI | +3 | lab_mo_kpneumoniae | B_KLBSL_PNMN | +4 | lab_Staph_aureus | B_STPHY_AURS | +5 | | | } -...any new usage of an MO function in this package will update your data: -\preformatted{ -as.mo("lab_mo_ecoli") +...any new usage of an MO function in this package will update your data:\preformatted{as.mo("lab_mo_ecoli") # Updated mo_source file '~/.mo_source.rds' from 'home/me/ourcodes.xlsx'. -[1] B_ESCHR_COL +[1] B_ESCHR_COLI mo_genus("lab_Staph_aureus") [1] "Staphylococcus" } -To remove the reference completely, just use any of these: -\preformatted{ -set_mo_source("") +To remove the reference completely, just use any of these:\preformatted{set_mo_source("") set_mo_source(NULL) # Removed mo_source file '~/.mo_source.rds'. } } - +} \section{Read more on our website!}{ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https://msberends.gitlab.io/AMR/articles/AMR.html}{a tutorial} about how to conduct AMR analysis, the \href{https://msberends.gitlab.io/AMR/reference}{complete documentation of all functions} (which reads a lot easier than here in R) and \href{https://msberends.gitlab.io/AMR/articles/WHONET.html}{an example analysis using WHONET data}. diff --git a/man/p_symbol.Rd b/man/p_symbol.Rd index 8ed48cb9a..e432200da 100644 --- a/man/p_symbol.Rd +++ b/man/p_symbol.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/p_symbol.R \name{p_symbol} \alias{p_symbol} -\title{Symbol of a p value} +\title{Symbol of a p-value} \usage{ p_symbol(p, emptychar = " ") } @@ -15,7 +15,7 @@ p_symbol(p, emptychar = " ") Text } \description{ -Return the symbol related to the p value: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1. Values above \code{p = 1} will return \code{NA}. +Return the symbol related to the p-value: 0 '\verb{***}' 0.001 '\verb{**}' 0.01 '\code{*}' 0.05 '\code{.}' 0.1 ' ' 1. Values above \code{p = 1} will return \code{NA}. } \section{Read more on our website!}{ diff --git a/man/proportion.Rd b/man/proportion.Rd index 6d605ad94..7b4f46703 100644 --- a/man/proportion.Rd +++ b/man/proportion.Rd @@ -17,77 +17,79 @@ \strong{M39 Analysis and Presentation of Cumulative Antimicrobial Susceptibility Test Data, 4th Edition}, 2014, \emph{Clinical and Laboratory Standards Institute (CLSI)}. \url{https://clsi.org/standards/products/microbiology/documents/m39/}. } \usage{ -resistance(..., minimum = 30, as_percent = FALSE, - only_all_tested = FALSE) +resistance(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) -susceptibility(..., minimum = 30, as_percent = FALSE, - only_all_tested = FALSE) +susceptibility(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) -proportion_R(..., minimum = 30, as_percent = FALSE, - only_all_tested = FALSE) +proportion_R(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) -proportion_IR(..., minimum = 30, as_percent = FALSE, - only_all_tested = FALSE) +proportion_IR(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) -proportion_I(..., minimum = 30, as_percent = FALSE, - only_all_tested = FALSE) +proportion_I(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) -proportion_SI(..., minimum = 30, as_percent = FALSE, - only_all_tested = FALSE) +proportion_SI(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) -proportion_S(..., minimum = 30, as_percent = FALSE, - only_all_tested = FALSE) +proportion_S(..., minimum = 30, as_percent = FALSE, only_all_tested = FALSE) -proportion_df(data, translate_ab = "name", language = get_locale(), - minimum = 30, as_percent = FALSE, combine_SI = TRUE, - combine_IR = FALSE) +proportion_df( + data, + translate_ab = "name", + language = get_locale(), + minimum = 30, + as_percent = FALSE, + combine_SI = TRUE, + combine_IR = FALSE +) -rsi_df(data, translate_ab = "name", language = get_locale(), - minimum = 30, as_percent = FALSE, combine_SI = TRUE, - combine_IR = FALSE) +rsi_df( + data, + translate_ab = "name", + language = get_locale(), + minimum = 30, + as_percent = FALSE, + combine_SI = TRUE, + combine_IR = FALSE +) } \arguments{ -\item{...}{one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with \code{\link{as.rsi}} if needed. Use multiple columns to calculate (the lack of) co-resistance: the probability where one of two drugs have a resistant or susceptible result. See Examples.} +\item{...}{one or more vectors (or columns) with antibiotic interpretations. They will be transformed internally with \code{\link[=as.rsi]{as.rsi()}} if needed. Use multiple columns to calculate (the lack of) co-resistance: the probability where one of two drugs have a resistant or susceptible result. See Examples.} \item{minimum}{the minimum allowed number of available (tested) isolates. Any isolate count lower than \code{minimum} will return \code{NA} with a warning. The default number of \code{30} isolates is advised by the Clinical and Laboratory Standards Institute (CLSI) as best practice, see Source.} \item{as_percent}{a logical to indicate whether the output must be returned as a hundred fold with \% sign (a character). A value of \code{0.123456} will then be returned as \code{"12.3\%"}.} -\item{only_all_tested}{(for combination therapies, i.e. using more than one variable for \code{...}) a logical to indicate that isolates must be tested for all antibiotics, see section \emph{Combination therapy} below} +\item{only_all_tested}{(for combination therapies, i.e. using more than one variable for \code{...}): a logical to indicate that isolates must be tested for all antibiotics, see section \emph{Combination therapy} below} -\item{data}{a \code{data.frame} containing columns with class \code{rsi} (see \code{\link{as.rsi}})} +\item{data}{a \code{\link{data.frame}} containing columns with class \code{\link{rsi}} (see \code{\link[=as.rsi]{as.rsi()}})} -\item{translate_ab}{a column name of the \code{\link{antibiotics}} data set to translate the antibiotic abbreviations to, using \code{\link{ab_property}}} +\item{translate_ab}{a column name of the \link{antibiotics} data set to translate the antibiotic abbreviations to, using \code{\link[=ab_property]{ab_property()}}} -\item{language}{language of the returned text, defaults to system language (see \code{\link{get_locale}}) and can also be set with \code{\link{getOption}("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} +\item{language}{language of the returned text, defaults to system language (see \code{\link[=get_locale]{get_locale()}}) and can also be set with \code{getOption("AMR_locale")}. Use \code{language = NULL} or \code{language = ""} to prevent translation.} \item{combine_SI}{a logical to indicate whether all values of S and I must be merged into one, so the output only consists of S+I vs. R (susceptible vs. resistant). This used to be the parameter \code{combine_IR}, but this now follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below. Default is \code{TRUE}.} \item{combine_IR}{a logical to indicate whether all values of I and R must be merged into one, so the output only consists of S vs. I+R (susceptible vs. non-susceptible). This is outdated, see parameter \code{combine_SI}.} } \value{ -Double or, when \code{as_percent = TRUE}, a character. +A \code{\link{double}} or, when \code{as_percent = TRUE}, a \code{\link{character}}. } \description{ -These functions can be used to calculate the (co-)resistance or susceptibility of microbial isolates (i.e. percentage of S, SI, I, IR or R). All functions support quasiquotation with pipes, can be used in \code{dplyr}s \code{\link[dplyr]{summarise}} and support grouped variables, see \emph{Examples}. +These functions can be used to calculate the (co-)resistance or susceptibility of microbial isolates (i.e. percentage of S, SI, I, IR or R). All functions support quasiquotation with pipes, can be used in \code{\link[dplyr:summarise]{dplyr::summarise()}} and support grouped variables, please see \emph{Examples}. -\code{resistance()} should be used to calculate resistance, \code{susceptibility()} should be used to calculate susceptibility.\cr +\code{\link[=resistance]{resistance()}} should be used to calculate resistance, \code{\link[=susceptibility]{susceptibility()}} should be used to calculate susceptibility.\cr } \details{ -The function \code{resistance()} is equal to the function \code{proportion_R()}. The function \code{susceptibility()} is equal to the function \code{proportion_SI()}. - -\strong{Remember that you should filter your table to let it contain only first isolates!} This is needed to exclude duplicates and to reduce selection bias. Use \code{\link{first_isolate}} to determine them in your data set. +The function \code{\link[=resistance]{resistance()}} is equal to the function \code{\link[=proportion_R]{proportion_R()}}. The function \code{\link[=susceptibility]{susceptibility()}} is equal to the function \code{\link[=proportion_SI]{proportion_SI()}}. -These functions are not meant to count isolates, but to calculate the proportion of resistance/susceptibility. Use the \code{\link[AMR]{count}} functions to count isolates. The function \code{susceptibility()} is essentially equal to \code{count_susceptible() / count_all()}. \emph{Low counts can infuence the outcome - the \code{proportion} functions may camouflage this, since they only return the proportion (albeit being dependent on the \code{minimum} parameter).} +\strong{Remember that you should filter your table to let it contain only first isolates!} This is needed to exclude duplicates and to reduce selection bias. Use \code{\link[=first_isolate]{first_isolate()}} to determine them in your data set. -The function \code{proportion_df()} takes any variable from \code{data} that has an \code{"rsi"} class (created with \code{\link{as.rsi}()}) and calculates the proportions R, I and S. The function \code{rsi_df()} works exactly like \code{proportion_df()}, but adds the number of isolates. +These functions are not meant to count isolates, but to calculate the proportion of resistance/susceptibility. Use the \code{\link[AMR:count]{AMR::count()}} functions to count isolates. The function \code{\link[=susceptibility]{susceptibility()}} is essentially equal to \code{count_susceptible() / count_all()}. \emph{Low counts can infuence the outcome - the \code{proportion} functions may camouflage this, since they only return the proportion (albeit being dependent on the \code{minimum} parameter).} + +The function \code{\link[=proportion_df]{proportion_df()}} takes any variable from \code{data} that has an \code{\link{rsi}} class (created with \code{\link[=as.rsi]{as.rsi()}}) and calculates the proportions R, I and S. The function \code{\link[=rsi_df]{rsi_df()}} works exactly like \code{\link[=proportion_df]{proportion_df()}}, but adds the number of isolates. } \section{Combination therapy}{ -When using more than one variable for \code{...} (= combination therapy)), use \code{only_all_tested} to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how \code{susceptibility} works to calculate the \%SI: - -\preformatted{ --------------------------------------------------------------------- +When using more than one variable for \code{...} (= combination therapy)), use \code{only_all_tested} to only count isolates that are tested for all antibiotics/variables that you test them for. See this example for two antibiotics, Antibiotic A and Antibiotic B, about how \code{\link[=susceptibility]{susceptibility()}} works to calculate the \%SI:\preformatted{-------------------------------------------------------------------- only_all_tested = FALSE only_all_tested = TRUE ----------------------- ----------------------- Drug A Drug B include as include as include as include as @@ -105,14 +107,11 @@ When using more than one variable for \code{...} (= combination therapy)), use \ -------------------------------------------------------------------- } -Please note that, in combination therapies, for \code{only_all_tested = TRUE} applies that: -\preformatted{ - count_S() + count_I() + count_R() = count_all() +Please note that, in combination therapies, for \code{only_all_tested = TRUE} applies that:\preformatted{ count_S() + count_I() + count_R() = count_all() proportion_S() + proportion_I() + proportion_R() = 1 } -and that, in combination therapies, for \code{only_all_tested = FALSE} applies that: -\preformatted{ - count_S() + count_I() + count_R() >= count_all() + +and that, in combination therapies, for \code{only_all_tested = FALSE} applies that:\preformatted{ count_S() + count_I() + count_R() >= count_all() proportion_S() + proportion_I() + proportion_R() >= 1 } @@ -122,16 +121,15 @@ Using \code{only_all_tested} has no impact when only using one antibiotic as inp \section{Interpretation of S, I and R}{ In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". - \itemize{ - \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} - \item{\strong{I} - }{Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.} - \item{\strong{R} - }{Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.} +\item \strong{S} - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent. +\item \strong{I} - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection. +\item \strong{R} - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure. } Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. -This AMR package honours this new insight. Use \code{\link{susceptibility}()} (equal to \code{\link{proportion_SI}()}) to determine antimicrobial susceptibility and \code{\link{count_susceptible}()} (equal to \code{\link{count_SI}()}) to count susceptible isolates. +This AMR package honours this new insight. Use \code{\link[=susceptibility]{susceptibility()}} (equal to \code{\link[=proportion_SI]{proportion_SI()}}) to determine antimicrobial susceptibility and \code{\link[=count_susceptible]{count_susceptible()}} (equal to \code{\link[=count_SI]{count_SI()}}) to count susceptible isolates. } \section{Read more on our website!}{ @@ -222,5 +220,5 @@ my_table \%>\% } } \seealso{ -\code{\link[AMR]{count}_*} to count resistant and susceptible isolates. +\code{\link[AMR:count]{AMR::count()}} to count resistant and susceptible isolates. } diff --git a/man/read.4D.Rd b/man/read.4D.Rd index f6b7fcf39..319c5779c 100644 --- a/man/read.4D.Rd +++ b/man/read.4D.Rd @@ -4,11 +4,24 @@ \alias{read.4D} \title{Read data from 4D database} \usage{ -read.4D(file, info = interactive(), header = TRUE, row.names = NULL, - sep = "\\t", quote = "\\"'", dec = ",", na.strings = c("NA", "", - "."), skip = 2, check.names = TRUE, strip.white = TRUE, - fill = TRUE, blank.lines.skip = TRUE, stringsAsFactors = FALSE, - fileEncoding = "UTF-8", encoding = "UTF-8") +read.4D( + file, + info = interactive(), + header = TRUE, + row.names = NULL, + sep = "\\t", + quote = "\\"'", + dec = ",", + na.strings = c("NA", "", "."), + skip = 2, + check.names = TRUE, + strip.white = TRUE, + fill = TRUE, + blank.lines.skip = TRUE, + stringsAsFactors = FALSE, + fileEncoding = "UTF-8", + encoding = "UTF-8" +) } \arguments{ \item{file}{the name of the file which the data are to be read from. @@ -117,7 +130,7 @@ read.4D(file, info = interactive(), header = TRUE, row.names = NULL, } } \description{ -This function is only useful for the MMB department of the UMCG. Use this function to \strong{import data by just defining the \code{file} parameter}. It will automatically transform birth dates and calculate patients age, translate the column names to English, transform the MO codes with \code{\link{as.mo}} and transform all antimicrobial columns with \code{\link{as.rsi}}. +This function is only useful for the MMB department of the UMCG. Use this function to \strong{import data by just defining the \code{file} parameter}. It will automatically transform birth dates and calculate patients age, translate the column names to English, transform the MO codes with \code{\link[=as.mo]{as.mo()}} and transform all antimicrobial columns with \code{\link[=as.rsi]{as.rsi()}}. } \details{ Column names will be transformed, but the original column names are set as a "label" attribute and can be seen in e.g. RStudio Viewer. diff --git a/man/resistance_predict.Rd b/man/resistance_predict.Rd index c29ef00cd..0a8a2d1bf 100644 --- a/man/resistance_predict.Rd +++ b/man/resistance_predict.Rd @@ -7,24 +7,49 @@ \alias{ggplot_rsi_predict} \title{Predict antimicrobial resistance} \usage{ -resistance_predict(x, col_ab, col_date = NULL, year_min = NULL, - year_max = NULL, year_every = 1, minimum = 30, model = NULL, - I_as_S = TRUE, preserve_measurements = TRUE, info = TRUE, ...) +resistance_predict( + x, + col_ab, + col_date = NULL, + year_min = NULL, + year_max = NULL, + year_every = 1, + minimum = 30, + model = NULL, + I_as_S = TRUE, + preserve_measurements = TRUE, + info = TRUE, + ... +) -rsi_predict(x, col_ab, col_date = NULL, year_min = NULL, - year_max = NULL, year_every = 1, minimum = 30, model = NULL, - I_as_S = TRUE, preserve_measurements = TRUE, info = TRUE, ...) +rsi_predict( + x, + col_ab, + col_date = NULL, + year_min = NULL, + year_max = NULL, + year_every = 1, + minimum = 30, + model = NULL, + I_as_S = TRUE, + preserve_measurements = TRUE, + info = TRUE, + ... +) -\method{plot}{resistance_predict}(x, - main = paste("Resistance Prediction of", x_name), ...) +\method{plot}{resistance_predict}(x, main = paste("Resistance Prediction of", x_name), ...) -ggplot_rsi_predict(x, main = paste("Resistance Prediction of", x_name), - ribbon = TRUE, ...) +ggplot_rsi_predict( + x, + main = paste("Resistance Prediction of", x_name), + ribbon = TRUE, + ... +) } \arguments{ -\item{x}{a \code{data.frame} containing isolates.} +\item{x}{a \code{\link{data.frame}} containing isolates.} -\item{col_ab}{column name of \code{x} with antimicrobial interpretations (\code{R}, \code{I} and \code{S})} +\item{col_ab}{column name of \code{x} containing antimicrobial interpretations (\code{"R"}, \code{"I"} and \code{"S"})} \item{col_date}{column name of the date, will be used to calculate years if this column doesn't consist of years already, defaults to the first column of with a date class} @@ -36,13 +61,13 @@ ggplot_rsi_predict(x, main = paste("Resistance Prediction of", x_name), \item{minimum}{minimal amount of available isolates per year to include. Years containing less observations will be estimated by the model.} -\item{model}{the statistical model of choice. This could be a generalised linear regression model with binomial distribution (i.e. using \code{\link{glm}(..., family = \link{binomial})}), assuming that a period of zero resistance was followed by a period of increasing resistance leading slowly to more and more resistance. See Details for all valid options.} +\item{model}{the statistical model of choice. This could be a generalised linear regression model with binomial distribution (i.e. using `glm(..., family = binomial)``, assuming that a period of zero resistance was followed by a period of increasing resistance leading slowly to more and more resistance. See Details for all valid options.} -\item{I_as_S}{a logical to indicate whether values \code{I} should be treated as \code{S} (will otherwise be treated as \code{R}). The default, \code{TRUE}, follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below.} +\item{I_as_S}{a logical to indicate whether values \code{I} should be treated as \code{S} (will otherwise be treated as \code{R}). The default, \code{TRUE}, follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section \emph{Interpretation of S, I and R} below.} \item{preserve_measurements}{a logical to indicate whether predictions of years that are actually available in the data should be overwritten by the original data. The standard errors of those years will be \code{NA}.} -\item{info}{a logical to indicate whether textual analysis should be printed with the name and \code{\link{summary}} of the statistical model.} +\item{info}{a logical to indicate whether textual analysis should be printed with the name and \code{\link[=summary]{summary()}} of the statistical model.} \item{...}{parameters passed on to functions} @@ -51,42 +76,42 @@ ggplot_rsi_predict(x, main = paste("Resistance Prediction of", x_name), \item{ribbon}{a logical to indicate whether a ribbon should be shown (default) or error bars} } \value{ -\code{data.frame} with extra class \code{"resistance_predict"} with columns: +A \code{\link{data.frame}} with extra class \code{\link{resistance_predict}} with columns: \itemize{ - \item{\code{year}} - \item{\code{value}, the same as \code{estimated} when \code{preserve_measurements = FALSE}, and a combination of \code{observed} and \code{estimated} otherwise} - \item{\code{se_min}, the lower bound of the standard error with a minimum of \code{0} (so the standard error will never go below 0\%)} - \item{\code{se_max} the upper bound of the standard error with a maximum of \code{1} (so the standard error will never go above 100\%)} - \item{\code{observations}, the total number of available observations in that year, i.e. S + I + R} - \item{\code{observed}, the original observed resistant percentages} - \item{\code{estimated}, the estimated resistant percentages, calculated by the model} +\item \code{year} +\item \code{value}, the same as \code{estimated} when \code{preserve_measurements = FALSE}, and a combination of \code{observed} and \code{estimated} otherwise +\item \code{se_min}, the lower bound of the standard error with a minimum of \code{0} (so the standard error will never go below 0\%) +\item \code{se_max} the upper bound of the standard error with a maximum of \code{1} (so the standard error will never go above 100\%) +\item \code{observations}, the total number of available observations in that year, i.e. \eqn{S + I + R} +\item \code{observed}, the original observed resistant percentages +\item \code{estimated}, the estimated resistant percentages, calculated by the model } -Furthermore, the model itself is available as an attribute: \code{attributes(x)$model}, see Examples. + +Furthermore, the model itself is available as an attribute: \code{attributes(x)$model}, please see \emph{Examples}. } \description{ -Create a prediction model to predict antimicrobial resistance for the next years on statistical solid ground. Standard errors (SE) will be returned as columns \code{se_min} and \code{se_max}. See Examples for a real live example. +Create a prediction model to predict antimicrobial resistance for the next years on statistical solid ground. Standard errors (SE) will be returned as columns \code{se_min} and \code{se_max}. See \emph{Examples} for a real live example. } \details{ -Valid options for the statistical model are: +Valid options for the statistical model (parameter \code{model}) are: \itemize{ - \item{\code{"binomial"} or \code{"binom"} or \code{"logit"}: a generalised linear regression model with binomial distribution} - \item{\code{"loglin"} or \code{"poisson"}: a generalised log-linear regression model with poisson distribution} - \item{\code{"lin"} or \code{"linear"}: a linear regression model} +\item \code{"binomial"} or \code{"binom"} or \code{"logit"}: a generalised linear regression model with binomial distribution +\item \code{"loglin"} or \code{"poisson"}: a generalised log-linear regression model with poisson distribution +\item \code{"lin"} or \code{"linear"}: a linear regression model } } \section{Interpretation of S, I and R}{ In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories S, I and R as shown below (\url{http://www.eucast.org/newsiandr/}). Results of several consultations on the new definitions are available on the EUCAST website under "Consultations". - \itemize{ - \item{\strong{S} - }{Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent.} - \item{\strong{I} - }{Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection.} - \item{\strong{R} - }{Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure.} +\item \strong{S} - Susceptible, standard dosing regimen: A microorganism is categorised as "Susceptible, standard dosing regimen", when there is a high likelihood of therapeutic success using a standard dosing regimen of the agent. +\item \strong{I} - Susceptible, increased exposure: A microorganism is categorised as "Susceptible, Increased exposure" when there is a high likelihood of therapeutic success because exposure to the agent is increased by adjusting the dosing regimen or by its concentration at the site of infection. +\item \strong{R} - Resistant: A microorganism is categorised as "Resistant" when there is a high likelihood of therapeutic failure even when there is increased exposure. } Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. -This AMR package honours this new insight. Use \code{\link{susceptibility}()} (equal to \code{\link{proportion_SI}()}) to determine antimicrobial susceptibility and \code{\link{count_susceptible}()} (equal to \code{\link{count_SI}()}) to count susceptible isolates. +This AMR package honours this new insight. Use \code{\link[=susceptibility]{susceptibility()}} (equal to \code{\link[=proportion_SI]{proportion_SI()}}) to determine antimicrobial susceptibility and \code{\link[=count_susceptible]{count_susceptible()}} (equal to \code{\link[=count_SI]{count_SI()}}) to count susceptible isolates. } \section{Read more on our website!}{ @@ -95,7 +120,10 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https:// } \examples{ -x <- resistance_predict(example_isolates, col_ab = "AMX", year_min = 2010, model = "binomial") +x <- resistance_predict(example_isolates, + col_ab = "AMX", + year_min = 2010, + model = "binomial") plot(x) ggplot_rsi_predict(x) @@ -134,13 +162,15 @@ if (!require(ggplot2)) { scale_y_continuous(limits = c(0, 1), breaks = seq(0, 1, 0.1), labels = paste0(seq(0, 100, 10), "\%")) + - labs(title = expression(paste("Forecast of amoxicillin resistance in ", + labs(title = expression(paste("Forecast of Amoxicillin Resistance in ", italic("E. coli"))), - y = "\%IR", + y = "\%R", x = "Year") + theme_minimal(base_size = 13) } } \seealso{ -The \code{\link{portion}} function to calculate resistance, \cr \code{\link{lm}} \code{\link{glm}} +The \code{\link[=proportion]{proportion()}} functions to calculate resistance + +Models: \code{\link[=lm]{lm()}} \code{\link[=glm]{glm()}} } diff --git a/man/rsi_translation.Rd b/man/rsi_translation.Rd index 2c558b744..673e03e26 100644 --- a/man/rsi_translation.Rd +++ b/man/rsi_translation.Rd @@ -5,22 +5,22 @@ \alias{rsi_translation} \title{Data set for RSI interpretation} \format{A \code{\link{data.frame}} with 13,975 observations and 9 variables: -\describe{ - \item{\code{guideline}}{Name of the guideline} - \item{\code{method}}{Either "MIC" or "DISK"} - \item{\code{site}}{Body site, e.g. "Oral" or "Respiratory"} - \item{\code{mo}}{Microbial ID, see \code{\link{as.mo}}} - \item{\code{ab}}{Antibiotic ID, see \code{\link{as.ab}}} - \item{\code{ref_tbl}}{Info about where the guideline rule can be found} - \item{\code{disk_dose}}{Dose of the used disk diffusion method} - \item{\code{breakpoint_S}}{Lowest MIC value or highest number of millimeters that leads to "S"} - \item{\code{breakpoint_R}}{Highest MIC value or lowest number of millimeters that leads to "R"} +\itemize{ +\item \code{guideline}\cr Name of the guideline +\item \code{method}\cr Either "MIC" or "DISK" +\item \code{site}\cr Body site, e.g. "Oral" or "Respiratory" +\item \code{mo}\cr Microbial ID, see \code{\link[=as.mo]{as.mo()}} +\item \code{ab}\cr Antibiotic ID, see \code{\link[=as.ab]{as.ab()}} +\item \code{ref_tbl}\cr Info about where the guideline rule can be found +\item \code{disk_dose}\cr Dose of the used disk diffusion method +\item \code{breakpoint_S}\cr Lowest MIC value or highest number of millimeters that leads to "S" +\item \code{breakpoint_R}\cr Highest MIC value or lowest number of millimeters that leads to "R" }} \usage{ rsi_translation } \description{ -Data set to interpret MIC and disk diffusion to RSI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2019). Use \code{\link{as.rsi}} to transform MICs or disks measurements to RSI values. +Data set to interpret MIC and disk diffusion to RSI values. Included guidelines are CLSI (2011-2019) and EUCAST (2011-2019). Use \code{\link[=as.rsi]{as.rsi()}} to transform MICs or disks measurements to RSI values. } \section{Read more on our website!}{ diff --git a/man/skewness.Rd b/man/skewness.Rd index a5efcdaf0..e78e00d44 100644 --- a/man/skewness.Rd +++ b/man/skewness.Rd @@ -16,7 +16,7 @@ skewness(x, na.rm = FALSE) \method{skewness}{data.frame}(x, na.rm = FALSE) } \arguments{ -\item{x}{a vector of values, a \code{matrix} or a \code{data frame}} +\item{x}{a vector of values, a \code{\link{matrix}} or a \code{\link{data.frame}}} \item{na.rm}{a logical value indicating whether \code{NA} values should be stripped before the computation proceeds.} } @@ -31,5 +31,5 @@ On our website \url{https://msberends.gitlab.io/AMR} you can find \href{https:// } \seealso{ -\code{\link{kurtosis}} +\code{\link[=kurtosis]{kurtosis()}} } diff --git a/man/translate.Rd b/man/translate.Rd index 54476b533..d1bbd23bb 100644 --- a/man/translate.Rd +++ b/man/translate.Rd @@ -8,7 +8,7 @@ get_locale() } \description{ -For language-dependent output of AMR functions, like \code{\link{mo_name}}, \code{\link{mo_type}} and \code{\link{ab_name}}. +For language-dependent output of AMR functions, like \code{\link[=mo_name]{mo_name()}}, \code{\link[=mo_type]{mo_type()}} and \code{\link[=ab_name]{ab_name()}}. } \details{ Strings will be translated to foreign languages if they are defined in a local translation file. Additions to this file can be suggested at our repository. The file can be found here: \url{https://gitlab.com/msberends/AMR/blob/master/data-raw/translations.tsv}. @@ -17,9 +17,9 @@ Currently supported languages can be found if running: \code{unique(AMR:::transl Please suggest your own translations \href{https://gitlab.com/msberends/AMR/issues/new?issue[title]=Translation\%20suggestion}{by creating a new issue on our repository}. -This file will be read by all functions where a translated output can be desired, like all \code{\link{mo_property}} functions (\code{\link{mo_fullname}}, \code{\link{mo_type}}, etc.). +This file will be read by all functions where a translated output can be desired, like all \code{\link[=mo_property]{mo_property()}} functions (\code{\link[=mo_fullname]{mo_fullname()}}, \code{\link[=mo_type]{mo_type()}}, etc.). -The system language will be used at default, if that language is supported. The system language can be overwritten with \code{\link{getOption}("AMR_locale")}. +The system language will be used at default, if that language is supported. The system language can be overwritten with \code{Sys.setenv(AMR_locale = yourlanguage)}. } \section{Read more on our website!}{ diff --git a/tests/testthat/test-mo_history.R b/tests/testthat/test-mo_history.R index 04d83ed57..92f06634b 100644 --- a/tests/testthat/test-mo_history.R +++ b/tests/testthat/test-mo_history.R @@ -18,27 +18,3 @@ # ANY WARRANTY OR LIABILITY. # # Visit our website for more info: https://msberends.gitlab.io/AMR. # # ==================================================================== # - -# context("mo_history.R") -# -# test_that("mo_history works", { -# clean_mo_history(force = TRUE) -# expect_equal(read_mo_history(force = TRUE), -# NULL) -# -# expect_equal(as.character(suppressWarnings(as.mo("testsubject"))), "UNKNOWN") -# -# set_mo_history("testsubject", "B_ESCHR_COL", -# uncertainty_level = translate_allow_uncertain(TRUE), -# force = TRUE) -# -# expect_equal(get_mo_history("testsubject", -# uncertainty_level = translate_allow_uncertain(TRUE), -# force = TRUE), -# "B_ESCHR_COL") -# -# expect_equal(as.character(as.mo("testsubject", force_mo_history = TRUE)), "B_ESCHR_COL") -# -# expect_equal(colnames(read_mo_history(force = TRUE)), -# c("x", "mo", "uncertainty_level", "package_v")) -# })
                    x

                    a data.frame containing isolates.

                    a data.frame containing isolates.

                    col_ab

                    column name of x with antimicrobial interpretations (R, I and S)

                    column name of x containing antimicrobial interpretations ("R", "I" and "S")

                    col_date
                    model

                    the statistical model of choice. This could be a generalised linear regression model with binomial distribution (i.e. using glm(..., family = binomial)), assuming that a period of zero resistance was followed by a period of increasing resistance leading slowly to more and more resistance. See Details for all valid options.

                    the statistical model of choice. This could be a generalised linear regression model with binomial distribution (i.e. using `glm(..., family = binomial)``, assuming that a period of zero resistance was followed by a period of increasing resistance leading slowly to more and more resistance. See Details for all valid options.

                    I_as_S

                    a logical to indicate whether values I should be treated as S (will otherwise be treated as R). The default, TRUE, follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section 'Interpretation of S, I and R' below.

                    a logical to indicate whether values I should be treated as S (will otherwise be treated as R). The default, TRUE, follows the redefinition by EUCAST about the interpretion of I (increased exposure) in 2019, see section Interpretation of S, I and R below.

                    preserve_measurements
                    info

                    a logical to indicate whether textual analysis should be printed with the name and summary of the statistical model.

                    a logical to indicate whether textual analysis should be printed with the name and summary() of the statistical model.

                    ...
                    x

                    a vector of values, a matrix or a data frame

                    a vector of values, a matrix or a data.frame

                    na.rm

    Vr=Tll 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%0DcbaKK)Dy|NT#YXub;xx`JO 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