mirror of
https://github.com/msberends/AMR.git
synced 2026-08-29 10:38:55 +02:00
Built site for AMR@3.0.1.9003: ba30b08
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
15
reference/AMR-deprecated.md
Normal file
15
reference/AMR-deprecated.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Deprecated Functions, Arguments, or Datasets
|
||||
|
||||
These objects are so-called
|
||||
'[Deprecated](https://rdrr.io/r/base/Deprecated.html)'. **They will be
|
||||
removed in a future version of this package.** Using these will give a
|
||||
warning with the name of the alternative object it has been replaced by
|
||||
(if there is one).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
ab_class(...)
|
||||
|
||||
ab_selector(...)
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
153
reference/AMR-options.md
Normal file
153
reference/AMR-options.md
Normal file
@@ -0,0 +1,153 @@
|
||||
# Options for the AMR package
|
||||
|
||||
This is an overview of all the package-specific
|
||||
[`options()`](https://rdrr.io/r/base/options.html) you can set in the
|
||||
`AMR` package.
|
||||
|
||||
## Options
|
||||
|
||||
- `AMR_antibiogram_formatting_type`
|
||||
A [numeric](https://rdrr.io/r/base/numeric.html) (1-22) to use in
|
||||
[`antibiogram()`](https://amr-for-r.org/reference/antibiogram.md), to
|
||||
indicate which formatting type to use.
|
||||
|
||||
- `AMR_breakpoint_type`
|
||||
A [character](https://rdrr.io/r/base/character.html) to use in
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md), to indicate
|
||||
which breakpoint type to use. This must be either "ECOFF", "animal",
|
||||
or "human".
|
||||
|
||||
- `AMR_capped_mic_handling`
|
||||
A [character](https://rdrr.io/r/base/character.html) to use in
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md), to indicate
|
||||
how capped MIC values (`<`, `<=`, `>`, `>=`) should be interpreted.
|
||||
Must be one of `"standard"`, `"strict"`, `"relaxed"`, or `"inverse"` -
|
||||
the default is `"standard"`.
|
||||
|
||||
- `AMR_cleaning_regex`
|
||||
A [regular expression](https://rdrr.io/r/base/regex.html)
|
||||
(case-insensitive) to use in
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md) and all
|
||||
[`mo_*`](https://amr-for-r.org/reference/mo_property.md) functions, to
|
||||
clean the user input. The default is the outcome of
|
||||
[`mo_cleaning_regex()`](https://amr-for-r.org/reference/as.mo.md),
|
||||
which removes texts between brackets and texts such as "species" and
|
||||
"serovar".
|
||||
|
||||
- `AMR_custom_ab`
|
||||
A file location to an RDS file, to use custom antimicrobial drugs with
|
||||
this package. This is explained in
|
||||
[`add_custom_antimicrobials()`](https://amr-for-r.org/reference/add_custom_antimicrobials.md).
|
||||
|
||||
- `AMR_custom_mo`
|
||||
A file location to an RDS file, to use custom microorganisms with this
|
||||
package. This is explained in
|
||||
[`add_custom_microorganisms()`](https://amr-for-r.org/reference/add_custom_microorganisms.md).
|
||||
|
||||
- `AMR_eucastrules`
|
||||
A [character](https://rdrr.io/r/base/character.html) to set the
|
||||
default types of rules for
|
||||
[`eucast_rules()`](https://amr-for-r.org/reference/eucast_rules.md)
|
||||
function, must be one or more of: `"breakpoints"`, `"expert"`,
|
||||
`"other"`, `"custom"`, `"all"`, and defaults to
|
||||
`c("breakpoints", "expert")`.
|
||||
|
||||
- `AMR_guideline`
|
||||
A [character](https://rdrr.io/r/base/character.html) to set the
|
||||
default guideline for interpreting MIC values and disk diffusion
|
||||
diameters with
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md). Can be only
|
||||
the guideline name (e.g., `"CLSI"`) or the name with a year (e.g.
|
||||
`"CLSI 2019"`). The default to the latest implemented EUCAST
|
||||
guideline, currently `"EUCAST 2025"`. Supported guideline are
|
||||
currently EUCAST (2011-2025) and CLSI (2011-2025).
|
||||
|
||||
- `AMR_ignore_pattern`
|
||||
A [regular expression](https://rdrr.io/r/base/regex.html) to ignore
|
||||
(i.e., make `NA`) any match given in
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md) and all
|
||||
[`mo_*`](https://amr-for-r.org/reference/mo_property.md) functions.
|
||||
|
||||
- `AMR_include_PKPD`
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to use in
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md), to indicate
|
||||
that PK/PD clinical breakpoints must be applied as a last resort - the
|
||||
default is `TRUE`.
|
||||
|
||||
- `AMR_substitute_missing_r_breakpoint`
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to use in
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md), to indicate
|
||||
that missing R breakpoints must be substituted with `"R"` - the
|
||||
default is `FALSE`.
|
||||
|
||||
- `AMR_include_screening`
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to use in
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md), to indicate
|
||||
that clinical breakpoints for screening are allowed - the default is
|
||||
`FALSE`.
|
||||
|
||||
- `AMR_keep_synonyms`
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to use in
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md) and all
|
||||
[`mo_*`](https://amr-for-r.org/reference/mo_property.md) functions, to
|
||||
indicate if old, previously valid taxonomic names must be preserved
|
||||
and not be corrected to currently accepted names. The default is
|
||||
`FALSE`.
|
||||
|
||||
- `AMR_locale`
|
||||
A [character](https://rdrr.io/r/base/character.html) to set the
|
||||
language for the `AMR` package, can be one of these supported language
|
||||
names or [ISO 639-1 codes](https://en.wikipedia.org/wiki/ISO_639-1):
|
||||
English (en), Arabic (ar), Bengali (bn), Chinese (zh), Czech (cs),
|
||||
Danish (da), Dutch (nl), Finnish (fi), French (fr), German (de), Greek
|
||||
(el), Hindi (hi), Indonesian (id), Italian (it), Japanese (ja), Korean
|
||||
(ko), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro),
|
||||
Russian (ru), Spanish (es), Swahili (sw), Swedish (sv), Turkish (tr),
|
||||
Ukrainian (uk), Urdu (ur), or Vietnamese (vi). The default is the
|
||||
current system language (if supported, English otherwise).
|
||||
|
||||
- `AMR_mo_source`
|
||||
A file location for a manual code list to be used in
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md) and all
|
||||
[`mo_*`](https://amr-for-r.org/reference/mo_property.md) functions.
|
||||
This is explained in
|
||||
[`set_mo_source()`](https://amr-for-r.org/reference/mo_source.md).
|
||||
|
||||
## Saving Settings Between Sessions
|
||||
|
||||
Settings in R are not saved globally and are thus lost when R is exited.
|
||||
You can save your options to your own `.Rprofile` file, which is a
|
||||
user-specific file. You can edit it using:
|
||||
|
||||
utils::file.edit("~/.Rprofile")
|
||||
|
||||
In this file, you can set options such as...
|
||||
|
||||
options(AMR_locale = "pt")
|
||||
options(AMR_include_PKPD = TRUE)
|
||||
|
||||
...to add Portuguese language support of antimicrobials, and allow PK/PD
|
||||
rules when interpreting MIC values with
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md).
|
||||
|
||||
### Share Options Within Team
|
||||
|
||||
For a more global approach, e.g. within a (data) team, save an options
|
||||
file to a remote file location, such as a shared network drive, and have
|
||||
each user read in this file automatically at start-up. This would work
|
||||
in this way:
|
||||
|
||||
1. Save a plain text file to e.g. "X:/team_folder/R_options.R" and fill
|
||||
it with preferred settings.
|
||||
|
||||
2. For each user, open the `.Rprofile` file using
|
||||
`utils::file.edit("~/.Rprofile")` and put in there:
|
||||
|
||||
source("X:/team_folder/R_options.R")
|
||||
|
||||
3. Reload R/RStudio and check the settings with
|
||||
[`getOption()`](https://rdrr.io/r/base/options.html), e.g.
|
||||
`getOption("AMR_locale")` if you have set that value.
|
||||
|
||||
Now the team settings are configured in only one place, and can be
|
||||
maintained there.
|
||||
@@ -21,7 +21,7 @@ The AMR package is available in English, Arabic, Bengali, Chinese, Czech, Danish
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
184
reference/AMR.md
Normal file
184
reference/AMR.md
Normal file
@@ -0,0 +1,184 @@
|
||||
# The `AMR` Package
|
||||
|
||||
Welcome to the `AMR` package.
|
||||
|
||||
The `AMR` package is a peer-reviewed, [free and
|
||||
open-source](https://amr-for-r.org/#copyright) R package with [zero
|
||||
dependencies](https://en.wikipedia.org/wiki/Dependency_hell) to simplify
|
||||
the analysis and prediction of Antimicrobial Resistance (AMR) and to
|
||||
work with microbial and antimicrobial data and properties, by using
|
||||
evidence-based methods. **Our aim is to provide a standard** for clean
|
||||
and reproducible AMR data analysis, that can therefore empower
|
||||
epidemiological analyses to continuously enable surveillance and
|
||||
treatment evaluation in any setting. We are a team of [many different
|
||||
researchers](https://amr-for-r.org/authors.html) from around the globe
|
||||
to make this a successful and durable project!
|
||||
|
||||
This work was published in the Journal of Statistical Software (Volume
|
||||
104(3);
|
||||
[doi:10.18637/jss.v104.i03](https://doi.org/10.18637/jss.v104.i03) ) and
|
||||
formed the basis of two PhD theses
|
||||
([doi:10.33612/diss.177417131](https://doi.org/10.33612/diss.177417131)
|
||||
and
|
||||
[doi:10.33612/diss.192486375](https://doi.org/10.33612/diss.192486375)
|
||||
).
|
||||
|
||||
After installing this package, R knows [**~79 000 distinct microbial
|
||||
species**](https://amr-for-r.org/reference/microorganisms.html) (updated
|
||||
June 2024) and all [**~620 antimicrobial and antiviral
|
||||
drugs**](https://amr-for-r.org/reference/antimicrobials.html) by name
|
||||
and code (including ATC, EARS-Net, ASIARS-Net, PubChem, LOINC and SNOMED
|
||||
CT), and knows all about valid SIR and MIC values. The integral clinical
|
||||
breakpoint guidelines from CLSI 2011-2025 and EUCAST 2011-2025 are
|
||||
included, even with epidemiological cut-off (ECOFF) values. It supports
|
||||
and can read any data format, including WHONET data. This package works
|
||||
on Windows, macOS and Linux with all versions of R since R-3.0 (April
|
||||
2013). **It was designed to work in any setting, including those with
|
||||
very limited resources**. It was created for both routine data analysis
|
||||
and academic research at the Faculty of Medical Sciences of the
|
||||
[University of Groningen](https://www.rug.nl) and the [University
|
||||
Medical Center Groningen](https://www.umcg.nl).
|
||||
|
||||
The `AMR` package is available in English, Arabic, Bengali, Chinese,
|
||||
Czech, Danish, Dutch, Finnish, French, German, Greek, Hindi, Indonesian,
|
||||
Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian,
|
||||
Russian, Spanish, Swahili, Swedish, Turkish, Ukrainian, Urdu, and
|
||||
Vietnamese. Antimicrobial drug (group) names and colloquial
|
||||
microorganism names are provided in these languages.
|
||||
|
||||
## Source
|
||||
|
||||
To cite AMR in publications use:
|
||||
|
||||
Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C
|
||||
(2022). "AMR: An R Package for Working with Antimicrobial Resistance
|
||||
Data." *Journal of Statistical Software*, *104*(3), 1-31.
|
||||
[doi:10.18637/jss.v104.i03](https://doi.org/10.18637/jss.v104.i03)
|
||||
|
||||
A BibTeX entry for LaTeX users is:
|
||||
|
||||
@Article{,
|
||||
title = {{AMR}: An {R} Package for Working with Antimicrobial Resistance Data},
|
||||
author = {Matthijs S. Berends and Christian F. Luz and Alexander W. Friedrich and Bhanu N. M. Sinha and Casper J. Albers and Corinna Glasner},
|
||||
journal = {Journal of Statistical Software},
|
||||
year = {2022},
|
||||
volume = {104},
|
||||
number = {3},
|
||||
pages = {1--31},
|
||||
doi = {10.18637/jss.v104.i03},
|
||||
}
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
Useful links:
|
||||
|
||||
- <https://amr-for-r.org>
|
||||
|
||||
- <https://github.com/msberends/AMR>
|
||||
|
||||
- Report bugs at <https://github.com/msberends/AMR/issues>
|
||||
|
||||
## Author
|
||||
|
||||
**Maintainer**: Matthijs S. Berends <m.s.berends@umcg.nl>
|
||||
([ORCID](https://orcid.org/0000-0001-7620-1800))
|
||||
|
||||
Authors:
|
||||
|
||||
- Dennis Souverein ([ORCID](https://orcid.org/0000-0003-0455-0336))
|
||||
\[contributor\]
|
||||
|
||||
- Erwin E. A. Hassing \[contributor\]
|
||||
|
||||
Other contributors:
|
||||
|
||||
- Aislinn Cook ([ORCID](https://orcid.org/0000-0002-9189-7815))
|
||||
\[contributor\]
|
||||
|
||||
- Andrew P. Norgan ([ORCID](https://orcid.org/0000-0002-2955-2066))
|
||||
\[contributor\]
|
||||
|
||||
- Anita Williams ([ORCID](https://orcid.org/0000-0002-5295-8451))
|
||||
\[contributor\]
|
||||
|
||||
- Annick Lenglet ([ORCID](https://orcid.org/0000-0003-2013-8405))
|
||||
\[contributor\]
|
||||
|
||||
- Anthony Underwood ([ORCID](https://orcid.org/0000-0002-8547-4277))
|
||||
\[contributor\]
|
||||
|
||||
- Anton Mymrikov \[contributor\]
|
||||
|
||||
- Bart C. Meijer \[contributor\]
|
||||
|
||||
- Christian F. Luz ([ORCID](https://orcid.org/0000-0001-5809-5995))
|
||||
\[contributor\]
|
||||
|
||||
- Dmytro Mykhailenko \[contributor\]
|
||||
|
||||
- Eric H. L. C. M. Hazenberg \[contributor\]
|
||||
|
||||
- Gwen Knight ([ORCID](https://orcid.org/0000-0002-7263-9896))
|
||||
\[contributor\]
|
||||
|
||||
- Jane Hawkey ([ORCID](https://orcid.org/0000-0001-9661-5293))
|
||||
\[contributor\]
|
||||
|
||||
- Jason Stull ([ORCID](https://orcid.org/0000-0002-9028-8153))
|
||||
\[contributor\]
|
||||
|
||||
- Javier Sanchez ([ORCID](https://orcid.org/0000-0003-2605-8094))
|
||||
\[contributor\]
|
||||
|
||||
- Jonas Salm \[contributor\]
|
||||
|
||||
- Judith M. Fonville \[contributor\]
|
||||
|
||||
- Kathryn Holt ([ORCID](https://orcid.org/0000-0003-3949-2471))
|
||||
\[contributor\]
|
||||
|
||||
- Larisse Bolton ([ORCID](https://orcid.org/0000-0001-7879-2173))
|
||||
\[contributor\]
|
||||
|
||||
- Matthew Saab ([ORCID](https://orcid.org/0009-0008-6626-7919))
|
||||
\[contributor\]
|
||||
|
||||
- Natacha Couto ([ORCID](https://orcid.org/0000-0002-9152-5464))
|
||||
\[contributor\]
|
||||
|
||||
- Peter Dutey-Magni ([ORCID](https://orcid.org/0000-0002-8942-9836))
|
||||
\[contributor\]
|
||||
|
||||
- Rogier P. Schade ([ORCID](https://orcid.org/0000-0002-9487-4467))
|
||||
\[contributor\]
|
||||
|
||||
- Sofia Ny ([ORCID](https://orcid.org/0000-0002-2017-1363))
|
||||
\[contributor\]
|
||||
|
||||
- Alex W. Friedrich ([ORCID](https://orcid.org/0000-0003-4881-038X))
|
||||
\[thesis advisor\]
|
||||
|
||||
- Bhanu N. M. Sinha ([ORCID](https://orcid.org/0000-0003-1634-0010))
|
||||
\[thesis advisor\]
|
||||
|
||||
- Casper J. Albers ([ORCID](https://orcid.org/0000-0002-9213-6743))
|
||||
\[thesis advisor\]
|
||||
|
||||
- Corinna Glasner ([ORCID](https://orcid.org/0000-0003-1241-1328))
|
||||
\[thesis advisor\]
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
45
reference/WHOCC.md
Normal file
45
reference/WHOCC.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# WHOCC: WHO Collaborating Centre for Drug Statistics Methodology
|
||||
|
||||
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.
|
||||
|
||||
## WHOCC
|
||||
|
||||
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://atcddd.fhi.no>) and the Pharmaceuticals Community Register of
|
||||
the European Commission
|
||||
(<https://ec.europa.eu/health/documents/community-register/html/reg_hum_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://atcddd.fhi.no/copyright_disclaimer/.>
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
as.ab("meropenem")
|
||||
#> Class 'ab'
|
||||
#> [1] MEM
|
||||
ab_name("J01DH02")
|
||||
#> [1] "Meropenem"
|
||||
|
||||
ab_tradenames("flucloxacillin")
|
||||
#> [1] "bactopen" "cloxacap" "cloxacillinhydrate"
|
||||
#> [4] "cloxypen" "floxacillin" "floxacillinanhydrous"
|
||||
#> [7] "floxapen" "floxapensalt" "fluclomix"
|
||||
#> [10] "flucloxacilina" "flucloxacilline" "flucloxacillinum"
|
||||
#> [13] "flucloxin" "fluorochloroxacillin" "galfloxin"
|
||||
#> [16] "latocillin" "orbeninhydrate" "rimaflox"
|
||||
#> [19] "staphobristol" "zoxin"
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
151
reference/WHONET.md
Normal file
151
reference/WHONET.md
Normal file
@@ -0,0 +1,151 @@
|
||||
# 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 antimicrobial results are from our
|
||||
[example_isolates](https://amr-for-r.org/reference/example_isolates.md)
|
||||
data set. All patient names were created using online surname generators
|
||||
and are only in place for practice purposes.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
WHONET
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
A [tibble](https://tibble.tidyverse.org/reference/tibble.html) 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()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- `Country`
|
||||
Country of origin
|
||||
|
||||
- `Laboratory`
|
||||
Name of laboratory
|
||||
|
||||
- `Last name`
|
||||
Fictitious last name of patient
|
||||
|
||||
- `First name`
|
||||
Fictitious initial of patient
|
||||
|
||||
- `Sex`
|
||||
Fictitious gender of patient
|
||||
|
||||
- `Age`
|
||||
Fictitious age of patient
|
||||
|
||||
- `Age category`
|
||||
Age group, can also be looked up using
|
||||
[`age_groups()`](https://amr-for-r.org/reference/age_groups.md)
|
||||
|
||||
- `Date of admission`
|
||||
[Date](https://rdrr.io/r/base/Dates.html) of hospital admission
|
||||
|
||||
- `Specimen date`
|
||||
[Date](https://rdrr.io/r/base/Dates.html) 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()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
|
||||
- `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](https://rdrr.io/r/base/Dates.html) this data was entered in
|
||||
WHONET
|
||||
|
||||
- `AMP_ND10:CIP_EE`
|
||||
28 different antimicrobials. You can lookup the abbreviations in the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set, or use e.g.
|
||||
[`ab_name("AMP")`](https://amr-for-r.org/reference/ab_property.md) to
|
||||
get the official name immediately. Before analysis, you should
|
||||
transform this to a valid antimicrobial class, using
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md).
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
WHONET
|
||||
#> # A tibble: 500 × 53
|
||||
#> `Identification number` `Specimen number` Organism Country Laboratory
|
||||
#> <chr> <int> <chr> <chr> <chr>
|
||||
#> 1 fe41d7bafa 1748 SPN Belgium National …
|
||||
#> 2 91f175ec37 1767 eco The Netherlands National …
|
||||
#> 3 cc4015056e 1343 eco The Netherlands National …
|
||||
#> 4 e864b692f5 1894 MAP Denmark National …
|
||||
#> 5 3d051fe345 1739 PVU Belgium National …
|
||||
#> 6 c80762a08d 1846 103 The Netherlands National …
|
||||
#> 7 8022d3727c 1628 103 Denmark National …
|
||||
#> 8 f3dc5f553d 1493 eco The Netherlands National …
|
||||
#> 9 15add38f6c 1847 eco France National …
|
||||
#> 10 fd41248def 1458 eco Germany National …
|
||||
#> # ℹ 490 more rows
|
||||
#> # ℹ 48 more variables: `Last name` <chr>, `First name` <chr>, Sex <chr>,
|
||||
#> # Age <dbl>, `Age category` <chr>, `Date of admission` <date>,
|
||||
#> # `Specimen date` <date>, `Specimen type` <chr>,
|
||||
#> # `Specimen type (Numeric)` <dbl>, Reason <chr>, `Isolate number` <int>,
|
||||
#> # `Organism type` <chr>, Serotype <chr>, `Beta-lactamase` <lgl>, ESBL <lgl>,
|
||||
#> # Carbapenemase <lgl>, `MRSA screening test` <lgl>, …
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
192
reference/ab_from_text.md
Normal file
192
reference/ab_from_text.md
Normal file
@@ -0,0 +1,192 @@
|
||||
# Retrieve Antimicrobial Drug Names and Doses from Clinical Text
|
||||
|
||||
Use this function on e.g. clinical texts from health care records. It
|
||||
returns a [list](https://rdrr.io/r/base/list.html) with all
|
||||
antimicrobial drugs, doses and forms of administration found in the
|
||||
texts.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
ab_from_text(text, type = c("drug", "dose", "administration"),
|
||||
collapse = NULL, translate_ab = FALSE, thorough_search = NULL,
|
||||
info = interactive(), ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- text:
|
||||
|
||||
Text to analyse.
|
||||
|
||||
- type:
|
||||
|
||||
Type of property to search for, either `"drug"`, `"dose"` or
|
||||
`"administration"`, see *Examples*.
|
||||
|
||||
- collapse:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) to pass on to
|
||||
`paste(, collapse = ...)` to only return one
|
||||
[character](https://rdrr.io/r/base/character.html) per element of
|
||||
`text`, see *Examples*.
|
||||
|
||||
- translate_ab:
|
||||
|
||||
If `type = "drug"`: a column name of the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set to translate the antibiotic abbreviations to, using
|
||||
[`ab_property()`](https://amr-for-r.org/reference/ab_property.md). The
|
||||
default is `FALSE`. Using `TRUE` is equal to using "name".
|
||||
|
||||
- thorough_search:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the input must be extensively searched for misspelling and other
|
||||
faulty input values. Setting this to `TRUE` will take considerably
|
||||
more time than when using `FALSE`. At default, it will turn `TRUE`
|
||||
when all input elements contain a maximum of three words.
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
progress bar should be printed - the default is `TRUE` only in
|
||||
interactive mode.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md).
|
||||
|
||||
## Value
|
||||
|
||||
A [list](https://rdrr.io/r/base/list.html), or a
|
||||
[character](https://rdrr.io/r/base/character.html) if `collapse` is not
|
||||
`NULL`
|
||||
|
||||
## Details
|
||||
|
||||
This function is also internally used by
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md), although it then
|
||||
only searches for the first drug name and will throw a note if more drug
|
||||
names could have been returned. Note: the
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md) function may use
|
||||
very long regular expression to match brand names of antimicrobial
|
||||
drugs. This may fail on some systems.
|
||||
|
||||
### Argument `type`
|
||||
|
||||
At default, the function will search for antimicrobial drug names. All
|
||||
text elements will be searched for official names, ATC codes and brand
|
||||
names. As it uses [`as.ab()`](https://amr-for-r.org/reference/as.ab.md)
|
||||
internally, it will correct for misspelling.
|
||||
|
||||
With `type = "dose"` (or similar, like "dosing", "doses"), all text
|
||||
elements will be searched for
|
||||
[numeric](https://rdrr.io/r/base/numeric.html) values that are higher
|
||||
than 100 and do not resemble years. The output will be
|
||||
[numeric](https://rdrr.io/r/base/numeric.html). It supports any unit (g,
|
||||
mg, IE, etc.) and multiple values in one clinical text, see *Examples*.
|
||||
|
||||
With `type = "administration"` (or abbreviations, like "admin", "adm"),
|
||||
all text elements will be searched for a form of drug administration. It
|
||||
supports the following forms (including common abbreviations): buccal,
|
||||
implant, inhalation, instillation, intravenous, nasal, oral, parenteral,
|
||||
rectal, sublingual, transdermal and vaginal. Abbreviations for oral
|
||||
(such as 'po', 'per os') will become "oral", all values for intravenous
|
||||
(such as 'iv', 'intraven') will become "iv". It supports multiple values
|
||||
in one clinical text, see *Examples*.
|
||||
|
||||
### Argument `collapse`
|
||||
|
||||
Without using `collapse`, this function will return a
|
||||
[list](https://rdrr.io/r/base/list.html). This can be convenient to use
|
||||
e.g. inside a
|
||||
[`mutate()`](https://dplyr.tidyverse.org/reference/mutate.html)):
|
||||
`df %>% mutate(abx = ab_from_text(clinical_text))`
|
||||
|
||||
The returned AB codes can be transformed to official names, groups, etc.
|
||||
with all [`ab_*`](https://amr-for-r.org/reference/ab_property.md)
|
||||
functions such as
|
||||
[`ab_name()`](https://amr-for-r.org/reference/ab_property.md) and
|
||||
[`ab_group()`](https://amr-for-r.org/reference/ab_property.md), or by
|
||||
using the `translate_ab` argument.
|
||||
|
||||
With using `collapse`, this function will return a
|
||||
[character](https://rdrr.io/r/base/character.html):
|
||||
`df %>% mutate(abx = ab_from_text(clinical_text, collapse = "|"))`
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# mind the bad spelling of amoxicillin in this line,
|
||||
# straight from a true health care record:
|
||||
ab_from_text("28/03/2020 regular amoxicilliin 500mg po tid")
|
||||
#> [[1]]
|
||||
#> Class 'ab'
|
||||
#> [1] AMX
|
||||
#>
|
||||
|
||||
ab_from_text("500 mg amoxi po and 400mg cipro iv")
|
||||
#> [[1]]
|
||||
#> Class 'ab'
|
||||
#> [1] AMX CIP
|
||||
#>
|
||||
ab_from_text("500 mg amoxi po and 400mg cipro iv", type = "dose")
|
||||
#> [[1]]
|
||||
#> [1] 500 400
|
||||
#>
|
||||
ab_from_text("500 mg amoxi po and 400mg cipro iv", type = "admin")
|
||||
#> [[1]]
|
||||
#> [1] "oral" "iv"
|
||||
#>
|
||||
|
||||
ab_from_text("500 mg amoxi po and 400mg cipro iv", collapse = ", ")
|
||||
#> [1] "AMX, CIP"
|
||||
# \donttest{
|
||||
# if you want to know which antibiotic groups were administered, do e.g.:
|
||||
abx <- ab_from_text("500 mg amoxi po and 400mg cipro iv")
|
||||
ab_group(abx[[1]])
|
||||
#> [1] "Beta-lactams/penicillins" "Fluoroquinolones"
|
||||
|
||||
if (require("dplyr")) {
|
||||
tibble(clinical_text = c(
|
||||
"given 400mg cipro and 500 mg amox",
|
||||
"started on doxy iv today"
|
||||
)) %>%
|
||||
mutate(
|
||||
abx_codes = ab_from_text(clinical_text),
|
||||
abx_doses = ab_from_text(clinical_text, type = "doses"),
|
||||
abx_admin = ab_from_text(clinical_text, type = "admin"),
|
||||
abx_coll = ab_from_text(clinical_text, collapse = "|"),
|
||||
abx_coll_names = ab_from_text(clinical_text,
|
||||
collapse = "|",
|
||||
translate_ab = "name"
|
||||
),
|
||||
abx_coll_doses = ab_from_text(clinical_text,
|
||||
type = "doses",
|
||||
collapse = "|"
|
||||
),
|
||||
abx_coll_admin = ab_from_text(clinical_text,
|
||||
type = "admin",
|
||||
collapse = "|"
|
||||
)
|
||||
)
|
||||
}
|
||||
#> Loading required package: dplyr
|
||||
#>
|
||||
#> Attaching package: ‘dplyr’
|
||||
#> The following objects are masked from ‘package:stats’:
|
||||
#>
|
||||
#> filter, lag
|
||||
#> The following objects are masked from ‘package:base’:
|
||||
#>
|
||||
#> intersect, setdiff, setequal, union
|
||||
#> # A tibble: 2 × 8
|
||||
#> clinical_text abx_codes abx_doses abx_admin abx_coll abx_coll_names
|
||||
#> <chr> <list> <list> <list> <chr> <chr>
|
||||
#> 1 given 400mg cipro and 5… <ab [2]> <dbl [2]> <chr [1]> CIP|AMX Ciprofloxacin…
|
||||
#> 2 started on doxy iv today <ab [1]> <dbl [1]> <chr [1]> DOX Doxycycline
|
||||
#> # ℹ 2 more variables: abx_coll_doses <chr>, abx_coll_admin <chr>
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
436
reference/ab_property.md
Normal file
436
reference/ab_property.md
Normal file
@@ -0,0 +1,436 @@
|
||||
# Get Properties of an Antibiotic
|
||||
|
||||
Use these functions to return a specific property of an antibiotic from
|
||||
the [antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set. All input values will be evaluated internally with
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
ab_name(x, language = get_AMR_locale(), tolower = FALSE, ...)
|
||||
|
||||
ab_cid(x, ...)
|
||||
|
||||
ab_synonyms(x, ...)
|
||||
|
||||
ab_tradenames(x, ...)
|
||||
|
||||
ab_group(x, language = get_AMR_locale(), ...)
|
||||
|
||||
ab_atc(x, only_first = FALSE, ...)
|
||||
|
||||
ab_atc_group1(x, language = get_AMR_locale(), ...)
|
||||
|
||||
ab_atc_group2(x, language = get_AMR_locale(), ...)
|
||||
|
||||
ab_loinc(x, ...)
|
||||
|
||||
ab_ddd(x, administration = "oral", ...)
|
||||
|
||||
ab_ddd_units(x, administration = "oral", ...)
|
||||
|
||||
ab_info(x, language = get_AMR_locale(), ...)
|
||||
|
||||
ab_url(x, open = FALSE, ...)
|
||||
|
||||
ab_property(x, property = "name", language = get_AMR_locale(), ...)
|
||||
|
||||
set_ab_names(data, ..., property = "name", language = get_AMR_locale(),
|
||||
snake_case = NULL)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
Any (vector of) text that can be coerced to a valid antibiotic drug
|
||||
code with [`as.ab()`](https://amr-for-r.org/reference/as.ab.md).
|
||||
|
||||
- language:
|
||||
|
||||
Language of the returned text - the default is the current system
|
||||
language (see
|
||||
[`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md))
|
||||
and can also be set with the package option
|
||||
[`AMR_locale`](https://amr-for-r.org/reference/AMR-options.md). Use
|
||||
`language = NULL` or `language = ""` to prevent translation.
|
||||
|
||||
- tolower:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the first [character](https://rdrr.io/r/base/character.html) of every
|
||||
output should be transformed to a lower case
|
||||
[character](https://rdrr.io/r/base/character.html). This will lead to
|
||||
e.g. "polymyxin B" and not "polymyxin b".
|
||||
|
||||
- ...:
|
||||
|
||||
In case of `set_ab_names()` and `data` is a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html): columns to
|
||||
select (supports tidy selection such as `column1:column4`), otherwise
|
||||
other arguments passed on to
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md).
|
||||
|
||||
- only_first:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
only the first ATC code must be returned, with giving preference to
|
||||
J0-codes (i.e., the antimicrobial drug group).
|
||||
|
||||
- administration:
|
||||
|
||||
Way of administration, either `"oral"` or `"iv"`.
|
||||
|
||||
- open:
|
||||
|
||||
Browse the URL using
|
||||
[`utils::browseURL()`](https://rdrr.io/r/utils/browseURL.html).
|
||||
|
||||
- property:
|
||||
|
||||
One of the column names of one of the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set: `vector_or(colnames(antimicrobials), sort = FALSE)`.
|
||||
|
||||
- data:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) of which the
|
||||
columns need to be renamed, or a
|
||||
[character](https://rdrr.io/r/base/character.html) vector of column
|
||||
names.
|
||||
|
||||
- snake_case:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the names should be in so-called [snake
|
||||
case](https://en.wikipedia.org/wiki/Snake_case): in lower case and all
|
||||
spaces/slashes replaced with an underscore (`_`).
|
||||
|
||||
## Value
|
||||
|
||||
- An [integer](https://rdrr.io/r/base/integer.html) in case of
|
||||
`ab_cid()`
|
||||
|
||||
- A named [list](https://rdrr.io/r/base/list.html) in case of
|
||||
`ab_info()` and multiple `ab_atc()`/`ab_synonyms()`/`ab_tradenames()`
|
||||
|
||||
- A [double](https://rdrr.io/r/base/double.html) in case of `ab_ddd()`
|
||||
|
||||
- A [data.frame](https://rdrr.io/r/base/data.frame.html) in case of
|
||||
`set_ab_names()`
|
||||
|
||||
- A [character](https://rdrr.io/r/base/character.html) in all other
|
||||
cases
|
||||
|
||||
## Details
|
||||
|
||||
All output [will be
|
||||
translated](https://amr-for-r.org/reference/translate.md) where
|
||||
possible.
|
||||
|
||||
The function `ab_url()` will return the direct URL to the official WHO
|
||||
website. A warning will be returned if the required ATC code is not
|
||||
available.
|
||||
|
||||
The function `set_ab_names()` is a special column renaming function for
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html)s. It renames
|
||||
columns names that resemble antimicrobial drugs. It always makes sure
|
||||
that the new column names are unique. If `property = "atc"` is set,
|
||||
preference is given to ATC codes from the J-group.
|
||||
|
||||
## Source
|
||||
|
||||
World Health Organization (WHO) Collaborating Centre for Drug Statistics
|
||||
Methodology: <https://atcddd.fhi.no/atc_ddd_index/>
|
||||
|
||||
European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER:
|
||||
<https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm>
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# all properties:
|
||||
ab_name("AMX")
|
||||
#> [1] "Amoxicillin"
|
||||
ab_atc("AMX")
|
||||
#> [1] "J01CA04" "QG51AA03" "QJ01CA04"
|
||||
ab_cid("AMX")
|
||||
#> [1] 33613
|
||||
ab_synonyms("AMX")
|
||||
#> [1] "acuotricina" "alfamox" "alfida" "amitron"
|
||||
#> [5] "amoclen" "amodex" "amoksicillin" "amolin"
|
||||
#> [9] "amopen" "amopenixin" "amophar" "amoran"
|
||||
#> [13] "amoxi" "amoxicaps" "amoxicilina" "amoxicilline"
|
||||
#> [17] "amoxicillinum" "amoxidal" "amoxiden" "amoxil"
|
||||
#> [21] "amoxillat" "amoxina" "amoxine" "amoxipen"
|
||||
#> [25] "amoxivet" "amoxycillin" "amoxycillinsalt" "amoxyke"
|
||||
#> [29] "anemolin" "aspenil" "atoksilin" "bristamox"
|
||||
#> [33] "cemoxin" "ciblor" "clamoxyl" "damoxy"
|
||||
#> [37] "danoxillin" "delacillin" "demoksil" "dispermox"
|
||||
#> [41] "efpenix" "eupen" "flemoxin" "flemoxine"
|
||||
#> [45] "galenamox" "gramidil" "hiconcil" "himinomax"
|
||||
#> [49] "histocillin" "ibiamox" "imacillin" "izoltil"
|
||||
#> [53] "kentrocyllin" "lamoxy" "largopen" "larotid"
|
||||
#> [57] "matasedrin" "metifarma" "moksilin" "moxacin"
|
||||
#> [61] "moxal" "moxaline" "moxatag" "neotetranase"
|
||||
#> [65] "novabritine" "ospamox" "pacetocin" "pamocil"
|
||||
#> [69] "paradroxil" "pasetocin" "penamox" "piramox"
|
||||
#> [73] "promoxil" "quimiopen" "remoxil" "riotapen"
|
||||
#> [77] "robamox" "sawacillin" "siganopen" "simplamox"
|
||||
#> [81] "sintopen" "sumox" "topramoxin" "trifamox"
|
||||
#> [85] "trimox" "unicillin" "utimox" "velamox"
|
||||
#> [89] "vetramox" "wymox" "zamocillin" "zamocilline"
|
||||
#> [93] "zimox"
|
||||
ab_tradenames("AMX")
|
||||
#> [1] "acuotricina" "alfamox" "alfida" "amitron"
|
||||
#> [5] "amoclen" "amodex" "amoksicillin" "amolin"
|
||||
#> [9] "amopen" "amopenixin" "amophar" "amoran"
|
||||
#> [13] "amoxi" "amoxicaps" "amoxicilina" "amoxicilline"
|
||||
#> [17] "amoxicillinum" "amoxidal" "amoxiden" "amoxil"
|
||||
#> [21] "amoxillat" "amoxina" "amoxine" "amoxipen"
|
||||
#> [25] "amoxivet" "amoxycillin" "amoxycillinsalt" "amoxyke"
|
||||
#> [29] "anemolin" "aspenil" "atoksilin" "bristamox"
|
||||
#> [33] "cemoxin" "ciblor" "clamoxyl" "damoxy"
|
||||
#> [37] "danoxillin" "delacillin" "demoksil" "dispermox"
|
||||
#> [41] "efpenix" "eupen" "flemoxin" "flemoxine"
|
||||
#> [45] "galenamox" "gramidil" "hiconcil" "himinomax"
|
||||
#> [49] "histocillin" "ibiamox" "imacillin" "izoltil"
|
||||
#> [53] "kentrocyllin" "lamoxy" "largopen" "larotid"
|
||||
#> [57] "matasedrin" "metifarma" "moksilin" "moxacin"
|
||||
#> [61] "moxal" "moxaline" "moxatag" "neotetranase"
|
||||
#> [65] "novabritine" "ospamox" "pacetocin" "pamocil"
|
||||
#> [69] "paradroxil" "pasetocin" "penamox" "piramox"
|
||||
#> [73] "promoxil" "quimiopen" "remoxil" "riotapen"
|
||||
#> [77] "robamox" "sawacillin" "siganopen" "simplamox"
|
||||
#> [81] "sintopen" "sumox" "topramoxin" "trifamox"
|
||||
#> [85] "trimox" "unicillin" "utimox" "velamox"
|
||||
#> [89] "vetramox" "wymox" "zamocillin" "zamocilline"
|
||||
#> [93] "zimox"
|
||||
ab_group("AMX")
|
||||
#> [1] "Beta-lactams/penicillins"
|
||||
ab_atc_group1("AMX")
|
||||
#> [1] "Beta-lactam antibacterials, penicillins"
|
||||
ab_atc_group2("AMX")
|
||||
#> [1] "Penicillins with extended spectrum"
|
||||
ab_url("AMX")
|
||||
#> Amoxicillin
|
||||
#> "https://atcddd.fhi.no/atc_ddd_index//?code=J01CA04&showdescription=no"
|
||||
|
||||
# smart lowercase transformation
|
||||
ab_name(x = c("AMC", "PLB"))
|
||||
#> [1] "Amoxicillin/clavulanic acid" "Polymyxin B"
|
||||
ab_name(x = c("AMC", "PLB"), tolower = TRUE)
|
||||
#> [1] "amoxicillin/clavulanic acid" "polymyxin B"
|
||||
|
||||
# defined daily doses (DDD)
|
||||
ab_ddd("AMX", "oral")
|
||||
#> [1] 1.5
|
||||
ab_ddd_units("AMX", "oral")
|
||||
#> [1] "g"
|
||||
ab_ddd("AMX", "iv")
|
||||
#> [1] 3
|
||||
ab_ddd_units("AMX", "iv")
|
||||
#> [1] "g"
|
||||
|
||||
ab_info("AMX") # all properties as a list
|
||||
#> $ab
|
||||
#> [1] "AMX"
|
||||
#>
|
||||
#> $cid
|
||||
#> [1] 33613
|
||||
#>
|
||||
#> $name
|
||||
#> [1] "Amoxicillin"
|
||||
#>
|
||||
#> $group
|
||||
#> [1] "Beta-lactams/penicillins"
|
||||
#>
|
||||
#> $atc
|
||||
#> [1] "J01CA04" "QG51AA03" "QJ01CA04"
|
||||
#>
|
||||
#> $atc_group1
|
||||
#> [1] "Beta-lactam antibacterials, penicillins"
|
||||
#>
|
||||
#> $atc_group2
|
||||
#> [1] "Penicillins with extended spectrum"
|
||||
#>
|
||||
#> $tradenames
|
||||
#> [1] "acuotricina" "alfamox" "alfida" "amitron"
|
||||
#> [5] "amoclen" "amodex" "amoksicillin" "amolin"
|
||||
#> [9] "amopen" "amopenixin" "amophar" "amoran"
|
||||
#> [13] "amoxi" "amoxicaps" "amoxicilina" "amoxicilline"
|
||||
#> [17] "amoxicillinum" "amoxidal" "amoxiden" "amoxil"
|
||||
#> [21] "amoxillat" "amoxina" "amoxine" "amoxipen"
|
||||
#> [25] "amoxivet" "amoxycillin" "amoxycillinsalt" "amoxyke"
|
||||
#> [29] "anemolin" "aspenil" "atoksilin" "bristamox"
|
||||
#> [33] "cemoxin" "ciblor" "clamoxyl" "damoxy"
|
||||
#> [37] "danoxillin" "delacillin" "demoksil" "dispermox"
|
||||
#> [41] "efpenix" "eupen" "flemoxin" "flemoxine"
|
||||
#> [45] "galenamox" "gramidil" "hiconcil" "himinomax"
|
||||
#> [49] "histocillin" "ibiamox" "imacillin" "izoltil"
|
||||
#> [53] "kentrocyllin" "lamoxy" "largopen" "larotid"
|
||||
#> [57] "matasedrin" "metifarma" "moksilin" "moxacin"
|
||||
#> [61] "moxal" "moxaline" "moxatag" "neotetranase"
|
||||
#> [65] "novabritine" "ospamox" "pacetocin" "pamocil"
|
||||
#> [69] "paradroxil" "pasetocin" "penamox" "piramox"
|
||||
#> [73] "promoxil" "quimiopen" "remoxil" "riotapen"
|
||||
#> [77] "robamox" "sawacillin" "siganopen" "simplamox"
|
||||
#> [81] "sintopen" "sumox" "topramoxin" "trifamox"
|
||||
#> [85] "trimox" "unicillin" "utimox" "velamox"
|
||||
#> [89] "vetramox" "wymox" "zamocillin" "zamocilline"
|
||||
#> [93] "zimox"
|
||||
#>
|
||||
#> $loinc
|
||||
#> [1] "101498-4" "15-8" "16-6" "16365-9" "17-4" "18-2"
|
||||
#> [7] "18861-5" "18862-3" "19-0" "20-8" "21-6" "22-4"
|
||||
#> [13] "25274-2" "25310-4" "3344-9" "55614-2" "55615-9" "55616-7"
|
||||
#> [19] "6976-5" "6977-3" "80133-2"
|
||||
#>
|
||||
#> $ddd
|
||||
#> $ddd$oral
|
||||
#> $ddd$oral$amount
|
||||
#> [1] 1.5
|
||||
#>
|
||||
#> $ddd$oral$units
|
||||
#> [1] "g"
|
||||
#>
|
||||
#>
|
||||
#> $ddd$iv
|
||||
#> $ddd$iv$amount
|
||||
#> [1] 3
|
||||
#>
|
||||
#> $ddd$iv$units
|
||||
#> [1] "g"
|
||||
#>
|
||||
#>
|
||||
#>
|
||||
|
||||
# all ab_* functions use as.ab() internally, so you can go from 'any' to 'any':
|
||||
ab_atc("AMP")
|
||||
#> [1] "J01CA01" "QJ01CA01" "QJ51CA01" "QS01AA19" "S01AA19"
|
||||
ab_group("J01CA01")
|
||||
#> [1] "Beta-lactams/penicillins"
|
||||
ab_loinc("ampicillin")
|
||||
#> [1] "101477-8" "101478-6" "18864-9" "18865-6" "20374-5" "21066-6"
|
||||
#> [7] "23618-2" "27-3" "28-1" "29-9" "30-7" "31-5"
|
||||
#> [13] "32-3" "33-1" "3355-5" "33562-0" "33919-2" "34-9"
|
||||
#> [19] "43883-8" "43884-6" "6979-9" "6980-7" "87604-5"
|
||||
ab_name("21066-6")
|
||||
#> [1] "Ampicillin"
|
||||
ab_name(6249)
|
||||
#> [1] "Ampicillin"
|
||||
ab_name("J01CA01")
|
||||
#> [1] "Ampicillin"
|
||||
|
||||
# spelling from different languages and dyslexia are no problem
|
||||
ab_atc("ceftriaxon")
|
||||
#> [1] "J01DD04" "QJ01DD04"
|
||||
ab_atc("cephtriaxone")
|
||||
#> [1] "J01DD04" "QJ01DD04"
|
||||
ab_atc("cephthriaxone")
|
||||
#> [1] "J01DD04" "QJ01DD04"
|
||||
ab_atc("seephthriaaksone")
|
||||
#> [1] "J01DD04" "QJ01DD04"
|
||||
|
||||
# use set_ab_names() for renaming columns
|
||||
colnames(example_isolates)
|
||||
#> [1] "date" "patient" "age" "gender" "ward" "mo" "PEN"
|
||||
#> [8] "OXA" "FLC" "AMX" "AMC" "AMP" "TZP" "CZO"
|
||||
#> [15] "FEP" "CXM" "FOX" "CTX" "CAZ" "CRO" "GEN"
|
||||
#> [22] "TOB" "AMK" "KAN" "TMP" "SXT" "NIT" "FOS"
|
||||
#> [29] "LNZ" "CIP" "MFX" "VAN" "TEC" "TCY" "TGC"
|
||||
#> [36] "DOX" "ERY" "CLI" "AZM" "IPM" "MEM" "MTR"
|
||||
#> [43] "CHL" "COL" "MUP" "RIF"
|
||||
colnames(set_ab_names(example_isolates))
|
||||
#> [1] "date" "patient"
|
||||
#> [3] "age" "gender"
|
||||
#> [5] "ward" "mo"
|
||||
#> [7] "benzylpenicillin" "oxacillin"
|
||||
#> [9] "flucloxacillin" "amoxicillin"
|
||||
#> [11] "amoxicillin_clavulanic_acid" "ampicillin"
|
||||
#> [13] "piperacillin_tazobactam" "cefazolin"
|
||||
#> [15] "cefepime" "cefuroxime"
|
||||
#> [17] "cefoxitin" "cefotaxime"
|
||||
#> [19] "ceftazidime" "ceftriaxone"
|
||||
#> [21] "gentamicin" "tobramycin"
|
||||
#> [23] "amikacin" "kanamycin"
|
||||
#> [25] "trimethoprim" "trimethoprim_sulfamethoxazole"
|
||||
#> [27] "nitrofurantoin" "fosfomycin"
|
||||
#> [29] "linezolid" "ciprofloxacin"
|
||||
#> [31] "moxifloxacin" "vancomycin"
|
||||
#> [33] "teicoplanin" "tetracycline"
|
||||
#> [35] "tigecycline" "doxycycline"
|
||||
#> [37] "erythromycin" "clindamycin"
|
||||
#> [39] "azithromycin" "imipenem"
|
||||
#> [41] "meropenem" "metronidazole"
|
||||
#> [43] "chloramphenicol" "colistin"
|
||||
#> [45] "mupirocin" "rifampicin"
|
||||
colnames(set_ab_names(example_isolates, NIT:VAN))
|
||||
#> [1] "date" "patient" "age" "gender"
|
||||
#> [5] "ward" "mo" "PEN" "OXA"
|
||||
#> [9] "FLC" "AMX" "AMC" "AMP"
|
||||
#> [13] "TZP" "CZO" "FEP" "CXM"
|
||||
#> [17] "FOX" "CTX" "CAZ" "CRO"
|
||||
#> [21] "GEN" "TOB" "AMK" "KAN"
|
||||
#> [25] "TMP" "SXT" "nitrofurantoin" "fosfomycin"
|
||||
#> [29] "linezolid" "ciprofloxacin" "moxifloxacin" "vancomycin"
|
||||
#> [33] "TEC" "TCY" "TGC" "DOX"
|
||||
#> [37] "ERY" "CLI" "AZM" "IPM"
|
||||
#> [41] "MEM" "MTR" "CHL" "COL"
|
||||
#> [45] "MUP" "RIF"
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
example_isolates %>%
|
||||
set_ab_names()
|
||||
|
||||
# this does the same:
|
||||
example_isolates %>%
|
||||
rename_with(set_ab_names)
|
||||
|
||||
# set_ab_names() works with any AB property:
|
||||
example_isolates %>%
|
||||
set_ab_names(property = "atc")
|
||||
|
||||
example_isolates %>%
|
||||
set_ab_names(where(is.sir)) %>%
|
||||
colnames()
|
||||
|
||||
example_isolates %>%
|
||||
set_ab_names(NIT:VAN) %>%
|
||||
colnames()
|
||||
}
|
||||
#> [1] "date" "patient" "age" "gender"
|
||||
#> [5] "ward" "mo" "PEN" "OXA"
|
||||
#> [9] "FLC" "AMX" "AMC" "AMP"
|
||||
#> [13] "TZP" "CZO" "FEP" "CXM"
|
||||
#> [17] "FOX" "CTX" "CAZ" "CRO"
|
||||
#> [21] "GEN" "TOB" "AMK" "KAN"
|
||||
#> [25] "TMP" "SXT" "nitrofurantoin" "fosfomycin"
|
||||
#> [29] "linezolid" "ciprofloxacin" "moxifloxacin" "vancomycin"
|
||||
#> [33] "TEC" "TCY" "TGC" "DOX"
|
||||
#> [37] "ERY" "CLI" "AZM" "IPM"
|
||||
#> [41] "MEM" "MTR" "CHL" "COL"
|
||||
#> [45] "MUP" "RIF"
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
193
reference/add_custom_antimicrobials.md
Normal file
193
reference/add_custom_antimicrobials.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# Add Custom Antimicrobials
|
||||
|
||||
With `add_custom_antimicrobials()` you can add your own custom
|
||||
antimicrobial drug names and codes.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
add_custom_antimicrobials(x)
|
||||
|
||||
clear_custom_antimicrobials()
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) resembling the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set, at least containing columns "ab" and "name".
|
||||
|
||||
## Details
|
||||
|
||||
**Important:** Due to how R works, the `add_custom_antimicrobials()`
|
||||
function has to be run in every R session - added antimicrobials are not
|
||||
stored between sessions and are thus lost when R is exited.
|
||||
|
||||
There are two ways to circumvent this and automate the process of adding
|
||||
antimicrobials:
|
||||
|
||||
**Method 1:** Using the package option
|
||||
[`AMR_custom_ab`](https://amr-for-r.org/reference/AMR-options.md), which
|
||||
is the preferred method. To use this method:
|
||||
|
||||
1. Create a data set in the structure of the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set (containing at the very least columns "ab" and "name") and
|
||||
save it with [`saveRDS()`](https://rdrr.io/r/base/readRDS.html) to a
|
||||
location of choice, e.g. `"~/my_custom_ab.rds"`, or any remote
|
||||
location.
|
||||
|
||||
2. Set the file location to the package option
|
||||
[`AMR_custom_ab`](https://amr-for-r.org/reference/AMR-options.md):
|
||||
`options(AMR_custom_ab = "~/my_custom_ab.rds")`. This can even be a
|
||||
remote file location, such as an https URL. Since options are not
|
||||
saved between R sessions, it is best to save this option to the
|
||||
`.Rprofile` file so that it will be loaded on start-up of R. To do
|
||||
this, open the `.Rprofile` file using e.g.
|
||||
`utils::file.edit("~/.Rprofile")`, add this text and save the file:
|
||||
|
||||
# Add custom antimicrobial codes:
|
||||
options(AMR_custom_ab = "~/my_custom_ab.rds")
|
||||
|
||||
Upon package load, this file will be loaded and run through the
|
||||
`add_custom_antimicrobials()` function.
|
||||
|
||||
**Method 2:** Loading the antimicrobial additions directly from your
|
||||
`.Rprofile` file. Note that the definitions will be stored in a
|
||||
user-specific R file, which is a suboptimal workflow. To use this
|
||||
method:
|
||||
|
||||
1. Edit the `.Rprofile` file using e.g.
|
||||
`utils::file.edit("~/.Rprofile")`.
|
||||
|
||||
2. Add a text like below and save the file:
|
||||
|
||||
# Add custom antibiotic drug codes:
|
||||
AMR::add_custom_antimicrobials(
|
||||
data.frame(ab = "TESTAB",
|
||||
name = "Test Antibiotic",
|
||||
group = "Test Group")
|
||||
)
|
||||
|
||||
Use `clear_custom_antimicrobials()` to clear the previously added
|
||||
antimicrobials.
|
||||
|
||||
## See also
|
||||
|
||||
[`add_custom_microorganisms()`](https://amr-for-r.org/reference/add_custom_microorganisms.md)
|
||||
to add custom microorganisms.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# \donttest{
|
||||
# returns a wildly guessed result:
|
||||
as.ab("testab")
|
||||
#> Class 'ab'
|
||||
#> [1] THA
|
||||
|
||||
# now add a custom entry - it will be considered by as.ab() and
|
||||
# all ab_*() functions
|
||||
add_custom_antimicrobials(
|
||||
data.frame(
|
||||
ab = "TESTAB",
|
||||
name = "Test Antibiotic",
|
||||
# you can add any property present in the
|
||||
# 'antimicrobials' data set, such as 'group':
|
||||
group = "Test Group"
|
||||
)
|
||||
)
|
||||
#> ℹ Added one record to the internal `antimicrobials` data set.
|
||||
|
||||
# "testab" is now a new antibiotic:
|
||||
as.ab("testab")
|
||||
#> Class 'ab'
|
||||
#> [1] TESTAB
|
||||
ab_name("testab")
|
||||
#> [1] "Test Antibiotic"
|
||||
ab_group("testab")
|
||||
#> [1] "Test Group"
|
||||
|
||||
ab_info("testab")
|
||||
#> $ab
|
||||
#> [1] "TESTAB"
|
||||
#>
|
||||
#> $cid
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $name
|
||||
#> [1] "Test Antibiotic"
|
||||
#>
|
||||
#> $group
|
||||
#> [1] "Test Group"
|
||||
#>
|
||||
#> $atc
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $atc_group1
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $atc_group2
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $tradenames
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $loinc
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $ddd
|
||||
#> $ddd$oral
|
||||
#> $ddd$oral$amount
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $ddd$oral$units
|
||||
#> [1] NA
|
||||
#>
|
||||
#>
|
||||
#> $ddd$iv
|
||||
#> $ddd$iv$amount
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $ddd$iv$units
|
||||
#> [1] NA
|
||||
#>
|
||||
#>
|
||||
#>
|
||||
|
||||
|
||||
# Add Co-fluampicil, which is one of the many J01CR50 codes, see
|
||||
# https://atcddd.fhi.no/ddd/list_of_ddds_combined_products/
|
||||
add_custom_antimicrobials(
|
||||
data.frame(
|
||||
ab = "COFLU",
|
||||
name = "Co-fluampicil",
|
||||
atc = "J01CR50",
|
||||
group = "Beta-lactams/penicillins"
|
||||
)
|
||||
)
|
||||
#> ℹ Added one record to the internal `antimicrobials` data set.
|
||||
ab_atc("Co-fluampicil")
|
||||
#> [1] "J01CR50"
|
||||
ab_name("J01CR50")
|
||||
#> [1] "Co-fluampicil"
|
||||
|
||||
# even antimicrobial selectors work
|
||||
# see ?amr_selector
|
||||
x <- data.frame(
|
||||
random_column = "some value",
|
||||
coflu = as.sir("S"),
|
||||
ampicillin = as.sir("R")
|
||||
)
|
||||
x
|
||||
#> random_column coflu ampicillin
|
||||
#> 1 some value S R
|
||||
x[, betalactams()]
|
||||
#> ℹ For `betalactams()` using columns 'coflu' (co-fluampicil) and
|
||||
#> 'ampicillin'
|
||||
#> coflu ampicillin
|
||||
#> 1 S R
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
225
reference/add_custom_microorganisms.md
Normal file
225
reference/add_custom_microorganisms.md
Normal file
@@ -0,0 +1,225 @@
|
||||
# Add Custom Microorganisms
|
||||
|
||||
With `add_custom_microorganisms()` you can add your own custom
|
||||
microorganisms, such the non-taxonomic outcome of laboratory analysis.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
add_custom_microorganisms(x)
|
||||
|
||||
clear_custom_microorganisms()
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) resembling the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set, at least containing column "genus" (case-insensitive).
|
||||
|
||||
## Details
|
||||
|
||||
This function will fill in missing taxonomy for you, if specific
|
||||
taxonomic columns are missing, see *Examples*.
|
||||
|
||||
**Important:** Due to how R works, the `add_custom_microorganisms()`
|
||||
function has to be run in every R session - added microorganisms are not
|
||||
stored between sessions and are thus lost when R is exited.
|
||||
|
||||
There are two ways to circumvent this and automate the process of adding
|
||||
microorganisms:
|
||||
|
||||
**Method 1:** Using the package option
|
||||
[`AMR_custom_mo`](https://amr-for-r.org/reference/AMR-options.md), which
|
||||
is the preferred method. To use this method:
|
||||
|
||||
1. Create a data set in the structure of the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set (containing at the very least column "genus") and save it
|
||||
with [`saveRDS()`](https://rdrr.io/r/base/readRDS.html) to a
|
||||
location of choice, e.g. `"~/my_custom_mo.rds"`, or any remote
|
||||
location.
|
||||
|
||||
2. Set the file location to the package option
|
||||
[`AMR_custom_mo`](https://amr-for-r.org/reference/AMR-options.md):
|
||||
`options(AMR_custom_mo = "~/my_custom_mo.rds")`. This can even be a
|
||||
remote file location, such as an https URL. Since options are not
|
||||
saved between R sessions, it is best to save this option to the
|
||||
`.Rprofile` file so that it will be loaded on start-up of R. To do
|
||||
this, open the `.Rprofile` file using e.g.
|
||||
`utils::file.edit("~/.Rprofile")`, add this text and save the file:
|
||||
|
||||
# Add custom microorganism codes:
|
||||
options(AMR_custom_mo = "~/my_custom_mo.rds")
|
||||
|
||||
Upon package load, this file will be loaded and run through the
|
||||
`add_custom_microorganisms()` function.
|
||||
|
||||
**Method 2:** Loading the microorganism directly from your `.Rprofile`
|
||||
file. Note that the definitions will be stored in a user-specific R
|
||||
file, which is a suboptimal workflow. To use this method:
|
||||
|
||||
1. Edit the `.Rprofile` file using e.g.
|
||||
`utils::file.edit("~/.Rprofile")`.
|
||||
|
||||
2. Add a text like below and save the file:
|
||||
|
||||
# Add custom antibiotic drug codes:
|
||||
AMR::add_custom_microorganisms(
|
||||
data.frame(genus = "Enterobacter",
|
||||
species = "asburiae/cloacae")
|
||||
)
|
||||
|
||||
Use `clear_custom_microorganisms()` to clear the previously added
|
||||
microorganisms.
|
||||
|
||||
## See also
|
||||
|
||||
[`add_custom_antimicrobials()`](https://amr-for-r.org/reference/add_custom_antimicrobials.md)
|
||||
to add custom antimicrobials.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# \donttest{
|
||||
# a combination of species is not formal taxonomy, so
|
||||
# this will result in "Enterobacter cloacae cloacae",
|
||||
# since it resembles the input best:
|
||||
mo_name("Enterobacter asburiae/cloacae")
|
||||
#> [1] "Enterobacter asburiae"
|
||||
|
||||
# now add a custom entry - it will be considered by as.mo() and
|
||||
# all mo_*() functions
|
||||
add_custom_microorganisms(
|
||||
data.frame(
|
||||
genus = "Enterobacter",
|
||||
species = "asburiae/cloacae"
|
||||
)
|
||||
)
|
||||
#> ℹ Added Enterobacter asburiae/cloacae to the internal `microorganisms` data
|
||||
#> set.
|
||||
|
||||
# E. asburiae/cloacae is now a new microorganism:
|
||||
mo_name("Enterobacter asburiae/cloacae")
|
||||
#> [1] "Enterobacter asburiae/cloacae"
|
||||
|
||||
# its code:
|
||||
as.mo("Enterobacter asburiae/cloacae")
|
||||
#> Class 'mo'
|
||||
#> [1] CUSTOM1_ENTRB_ASB/
|
||||
|
||||
# all internal algorithms will work as well:
|
||||
mo_name("Ent asburia cloacae")
|
||||
#> [1] "Enterobacter asburiae/cloacae"
|
||||
|
||||
# and even the taxonomy was added based on the genus!
|
||||
mo_family("E. asburiae/cloacae")
|
||||
#> [1] "Enterobacteriaceae"
|
||||
mo_gramstain("Enterobacter asburiae/cloacae")
|
||||
#> [1] "Gram-negative"
|
||||
|
||||
mo_info("Enterobacter asburiae/cloacae")
|
||||
#> $mo
|
||||
#> [1] "CUSTOM1_ENTRB_ASB/"
|
||||
#>
|
||||
#> $rank
|
||||
#> [1] "species"
|
||||
#>
|
||||
#> $kingdom
|
||||
#> [1] "Bacteria"
|
||||
#>
|
||||
#> $phylum
|
||||
#> [1] "Pseudomonadota"
|
||||
#>
|
||||
#> $class
|
||||
#> [1] "Gammaproteobacteria"
|
||||
#>
|
||||
#> $order
|
||||
#> [1] "Enterobacterales"
|
||||
#>
|
||||
#> $family
|
||||
#> [1] "Enterobacteriaceae"
|
||||
#>
|
||||
#> $genus
|
||||
#> [1] "Enterobacter"
|
||||
#>
|
||||
#> $species
|
||||
#> [1] "asburiae/cloacae"
|
||||
#>
|
||||
#> $subspecies
|
||||
#> [1] ""
|
||||
#>
|
||||
#> $status
|
||||
#> [1] "accepted"
|
||||
#>
|
||||
#> $synonyms
|
||||
#> NULL
|
||||
#>
|
||||
#> $gramstain
|
||||
#> [1] "Gram-negative"
|
||||
#>
|
||||
#> $oxygen_tolerance
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $url
|
||||
#> [1] ""
|
||||
#>
|
||||
#> $ref
|
||||
#> [1] "Self-added, 2025"
|
||||
#>
|
||||
#> $snomed
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $lpsn
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $mycobank
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $gbif
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $group_members
|
||||
#> character(0)
|
||||
#>
|
||||
|
||||
|
||||
# the function tries to be forgiving:
|
||||
add_custom_microorganisms(
|
||||
data.frame(
|
||||
GENUS = "BACTEROIDES / PARABACTEROIDES SLASHLINE",
|
||||
SPECIES = "SPECIES"
|
||||
)
|
||||
)
|
||||
#> ℹ Added Bacteroides/Parabacteroides to the internal `microorganisms` data
|
||||
#> set.
|
||||
mo_name("BACTEROIDES / PARABACTEROIDES")
|
||||
#> [1] "Bacteroides/Parabacteroides"
|
||||
mo_rank("BACTEROIDES / PARABACTEROIDES")
|
||||
#> [1] "genus"
|
||||
|
||||
# taxonomy still works, even though a slashline genus was given as input:
|
||||
mo_family("Bacteroides/Parabacteroides")
|
||||
#> [1] "Bacteroidaceae"
|
||||
|
||||
|
||||
# for groups and complexes, set them as species or subspecies:
|
||||
add_custom_microorganisms(
|
||||
data.frame(
|
||||
genus = "Citrobacter",
|
||||
species = c("freundii", "braakii complex"),
|
||||
subspecies = c("complex", "")
|
||||
)
|
||||
)
|
||||
#> ℹ Added Citrobacter braakii complex and Citrobacter freundii complex to the
|
||||
#> internal `microorganisms` data set.
|
||||
mo_name(c("C. freundii complex", "C. braakii complex"))
|
||||
#> [1] "Citrobacter freundii complex" "Citrobacter braakii complex"
|
||||
mo_species(c("C. freundii complex", "C. braakii complex"))
|
||||
#> [1] "freundii complex" "braakii complex"
|
||||
mo_gramstain(c("C. freundii complex", "C. braakii complex"))
|
||||
#> [1] "Gram-negative" "Gram-negative"
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -112,16 +112,16 @@
|
||||
<span class="r-in"><span></span></span>
|
||||
<span class="r-in"><span><span class="va">df</span></span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> birth_date age age_exact age_at_y2k</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 1 1980-02-27 45 45.62466 19</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 2 1953-07-26 72 72.21644 46</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 3 1949-09-02 76 76.11233 50</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 4 1986-08-03 39 39.19452 13</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 5 1932-11-19 92 92.89863 67</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 6 1949-03-30 76 76.53973 50</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 7 1996-06-23 29 29.30685 3</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 8 1963-09-16 62 62.07397 36</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 9 1952-05-16 73 73.41096 47</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 10 1952-11-14 72 72.91233 47</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 1 1980-02-27 45 45.73973 19</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 2 1953-07-26 72 72.33151 46</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 3 1949-09-02 76 76.22740 50</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 4 1986-08-03 39 39.30959 13</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 5 1932-11-19 93 93.01370 67</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 6 1949-03-30 76 76.65479 50</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 7 1996-06-23 29 29.42192 3</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 8 1963-09-16 62 62.18904 36</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 9 1952-05-16 73 73.52603 47</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> 10 1952-11-14 73 73.02740 47</span>
|
||||
</code></pre></div>
|
||||
</div>
|
||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
||||
|
||||
94
reference/age.md
Normal file
94
reference/age.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# Age in Years of Individuals
|
||||
|
||||
Calculates age in years based on a reference date, which is the system
|
||||
date at default.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
age(x, reference = Sys.Date(), exact = FALSE, na.rm = FALSE, ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
Date(s), [character](https://rdrr.io/r/base/character.html) (vectors)
|
||||
will be coerced with
|
||||
[`as.POSIXlt()`](https://rdrr.io/r/base/as.POSIXlt.html).
|
||||
|
||||
- reference:
|
||||
|
||||
Reference date(s) (default is today),
|
||||
[character](https://rdrr.io/r/base/character.html) (vectors) will be
|
||||
coerced with [`as.POSIXlt()`](https://rdrr.io/r/base/as.POSIXlt.html).
|
||||
|
||||
- exact:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) 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).
|
||||
|
||||
- na.rm:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
missing values should be removed.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to
|
||||
[`as.POSIXlt()`](https://rdrr.io/r/base/as.POSIXlt.html), such as
|
||||
`origin`.
|
||||
|
||||
## Value
|
||||
|
||||
An [integer](https://rdrr.io/r/base/integer.html) (no decimals) if
|
||||
`exact = FALSE`, a [double](https://rdrr.io/r/base/double.html) (with
|
||||
decimals) otherwise
|
||||
|
||||
## Details
|
||||
|
||||
Ages below 0 will be returned as `NA` with a warning. Ages above 120
|
||||
will only give a warning.
|
||||
|
||||
This function vectorises over both `x` and `reference`, meaning that
|
||||
either can have a length of 1 while the other argument has a larger
|
||||
length.
|
||||
|
||||
## See also
|
||||
|
||||
To split ages into groups, use the
|
||||
[`age_groups()`](https://amr-for-r.org/reference/age_groups.md)
|
||||
function.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# 10 random pre-Y2K birth dates
|
||||
df <- data.frame(birth_date = as.Date("2000-01-01") - runif(10) * 25000)
|
||||
|
||||
# add ages
|
||||
df$age <- age(df$birth_date)
|
||||
|
||||
# add exact ages
|
||||
df$age_exact <- age(df$birth_date, exact = TRUE)
|
||||
|
||||
# add age at millenium switch
|
||||
df$age_at_y2k <- age(df$birth_date, "2000-01-01")
|
||||
|
||||
df
|
||||
#> birth_date age age_exact age_at_y2k
|
||||
#> 1 1980-02-27 45 45.73973 19
|
||||
#> 2 1953-07-26 72 72.33151 46
|
||||
#> 3 1949-09-02 76 76.22740 50
|
||||
#> 4 1986-08-03 39 39.30959 13
|
||||
#> 5 1932-11-19 93 93.01370 67
|
||||
#> 6 1949-03-30 76 76.65479 50
|
||||
#> 7 1996-06-23 29 29.42192 3
|
||||
#> 8 1963-09-16 62 62.18904 36
|
||||
#> 9 1952-05-16 73 73.52603 47
|
||||
#> 10 1952-11-14 73 73.02740 47
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
129
reference/age_groups.md
Normal file
129
reference/age_groups.md
Normal file
@@ -0,0 +1,129 @@
|
||||
# Split Ages into Age Groups
|
||||
|
||||
Split ages into age groups defined by the `split` argument. This allows
|
||||
for easier demographic (antimicrobial resistance) analysis. The function
|
||||
returns an ordered [factor](https://rdrr.io/r/base/factor.html).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
age_groups(x, split_at = c(0, 12, 25, 55, 75), names = NULL,
|
||||
na.rm = FALSE)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
Age, e.g. calculated with
|
||||
[`age()`](https://amr-for-r.org/reference/age.md).
|
||||
|
||||
- split_at:
|
||||
|
||||
Values to split `x` at - the default is age groups 0-11, 12-24, 25-54,
|
||||
55-74 and 75+. See *Details*.
|
||||
|
||||
- names:
|
||||
|
||||
Optional names to be given to the various age groups.
|
||||
|
||||
- na.rm:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
missing values should be removed.
|
||||
|
||||
## Value
|
||||
|
||||
Ordered [factor](https://rdrr.io/r/base/factor.html)
|
||||
|
||||
## Details
|
||||
|
||||
To split ages, the input for the `split_at` argument can be:
|
||||
|
||||
- A [numeric](https://rdrr.io/r/base/numeric.html) vector. A value of
|
||||
e.g. `c(10, 20)` will split `x` on 0-9, 10-19 and 20+. A value of only
|
||||
`50` will split `x` 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,
|
||||
..., 95-99, 100+.
|
||||
|
||||
- `"tens"`, equivalent of: `1:10 * 10`. This will split on 0-9, 10-19,
|
||||
..., 90-99, 100+.
|
||||
|
||||
## See also
|
||||
|
||||
To determine ages, based on one or more reference dates, use the
|
||||
[`age()`](https://amr-for-r.org/reference/age.md) function.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
ages <- c(3, 8, 16, 54, 31, 76, 101, 43, 21)
|
||||
|
||||
# split into 0-49 and 50+
|
||||
age_groups(ages, 50)
|
||||
#> [1] 0-49 0-49 0-49 50+ 0-49 50+ 50+ 0-49 0-49
|
||||
#> Levels: 0-49 < 50+
|
||||
|
||||
# split into 0-19, 20-49 and 50+
|
||||
age_groups(ages, c(20, 50))
|
||||
#> [1] 0-19 0-19 0-19 50+ 20-49 50+ 50+ 20-49 20-49
|
||||
#> Levels: 0-19 < 20-49 < 50+
|
||||
age_groups(ages, c(20, 50), names = c("Under 20 years", "20 to 50 years", "Over 50 years"))
|
||||
#> [1] Under 20 years Under 20 years Under 20 years Over 50 years 20 to 50 years
|
||||
#> [6] Over 50 years Over 50 years 20 to 50 years 20 to 50 years
|
||||
#> Levels: Under 20 years < 20 to 50 years < Over 50 years
|
||||
|
||||
# split into groups of ten years
|
||||
age_groups(ages, 1:10 * 10)
|
||||
#> [1] 0-9 0-9 10-19 50-59 30-39 70-79 100+ 40-49 20-29
|
||||
#> 11 Levels: 0-9 < 10-19 < 20-29 < 30-39 < 40-49 < 50-59 < 60-69 < ... < 100+
|
||||
age_groups(ages, split_at = "tens")
|
||||
#> [1] 0-9 0-9 10-19 50-59 30-39 70-79 100+ 40-49 20-29
|
||||
#> 11 Levels: 0-9 < 10-19 < 20-29 < 30-39 < 40-49 < 50-59 < 60-69 < ... < 100+
|
||||
|
||||
# split into groups of five years
|
||||
age_groups(ages, 1:20 * 5)
|
||||
#> [1] 0-4 5-9 15-19 50-54 30-34 75-79 100+ 40-44 20-24
|
||||
#> 21 Levels: 0-4 < 5-9 < 10-14 < 15-19 < 20-24 < 25-29 < 30-34 < ... < 100+
|
||||
age_groups(ages, split_at = "fives")
|
||||
#> [1] 0-4 5-9 15-19 50-54 30-34 75-79 100+ 40-44 20-24
|
||||
#> 21 Levels: 0-4 < 5-9 < 10-14 < 15-19 < 20-24 < 25-29 < 30-34 < ... < 100+
|
||||
|
||||
# split specifically for children
|
||||
age_groups(ages, c(1, 2, 4, 6, 13, 18))
|
||||
#> [1] 2-3 6-12 13-17 18+ 18+ 18+ 18+ 18+ 18+
|
||||
#> Levels: 0 < 1 < 2-3 < 4-5 < 6-12 < 13-17 < 18+
|
||||
age_groups(ages, "children")
|
||||
#> [1] 2-3 6-12 13-17 18+ 18+ 18+ 18+ 18+ 18+
|
||||
#> Levels: 0 < 1 < 2-3 < 4-5 < 6-12 < 13-17 < 18+
|
||||
|
||||
# \donttest{
|
||||
# resistance of ciprofloxacin per age group
|
||||
if (require("dplyr") && require("ggplot2")) {
|
||||
example_isolates %>%
|
||||
filter_first_isolate() %>%
|
||||
filter(mo == as.mo("Escherichia coli")) %>%
|
||||
group_by(age_group = age_groups(age)) %>%
|
||||
select(age_group, CIP) %>%
|
||||
ggplot_sir(
|
||||
x = "age_group",
|
||||
minimum = 0,
|
||||
x.title = "Age Group",
|
||||
title = "Ciprofloxacin resistance per age group"
|
||||
)
|
||||
}
|
||||
#> Loading required package: ggplot2
|
||||
|
||||
# }
|
||||
```
|
||||
@@ -9,7 +9,7 @@ Adhering to previously described approaches (see Source) and especially the Baye
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
838
reference/antibiogram.md
Normal file
838
reference/antibiogram.md
Normal file
@@ -0,0 +1,838 @@
|
||||
# Generate Traditional, Combination, Syndromic, or WISCA Antibiograms
|
||||
|
||||
Create detailed antibiograms with options for traditional, combination,
|
||||
syndromic, and Bayesian WISCA methods.
|
||||
|
||||
Adhering to previously described approaches (see *Source*) and
|
||||
especially the Bayesian WISCA model (Weighted-Incidence Syndromic
|
||||
Combination Antibiogram) by Bielicki *et al.*, these functions provide
|
||||
flexible output formats including plots and tables, ideal for
|
||||
integration with R Markdown and Quarto reports.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
antibiogram(x, antimicrobials = where(is.sir), mo_transform = "shortname",
|
||||
ab_transform = "name", syndromic_group = NULL, add_total_n = FALSE,
|
||||
only_all_tested = FALSE, digits = ifelse(wisca, 1, 0),
|
||||
formatting_type = getOption("AMR_antibiogram_formatting_type",
|
||||
ifelse(wisca, 14, 18)), col_mo = NULL, language = get_AMR_locale(),
|
||||
minimum = 30, combine_SI = TRUE, sep = " + ", sort_columns = TRUE,
|
||||
wisca = FALSE, simulations = 1000, conf_interval = 0.95,
|
||||
interval_side = "two-tailed", info = interactive(), ...)
|
||||
|
||||
wisca(x, antimicrobials = where(is.sir), ab_transform = "name",
|
||||
syndromic_group = NULL, only_all_tested = FALSE, digits = 1,
|
||||
formatting_type = getOption("AMR_antibiogram_formatting_type", 14),
|
||||
col_mo = NULL, language = get_AMR_locale(), combine_SI = TRUE,
|
||||
sep = " + ", sort_columns = TRUE, simulations = 1000,
|
||||
conf_interval = 0.95, interval_side = "two-tailed",
|
||||
info = interactive(), ...)
|
||||
|
||||
retrieve_wisca_parameters(wisca_model, ...)
|
||||
|
||||
# S3 method for class 'antibiogram'
|
||||
plot(x, ...)
|
||||
|
||||
# S3 method for class 'antibiogram'
|
||||
autoplot(object, ...)
|
||||
|
||||
# S3 method for class 'antibiogram'
|
||||
knit_print(x, italicise = TRUE,
|
||||
na = getOption("knitr.kable.NA", default = ""), ...)
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
- Bielicki JA *et al.* (2016). **Selecting appropriate empirical
|
||||
antibiotic regimens for paediatric bloodstream infections: application
|
||||
of a Bayesian decision model to local and pooled antimicrobial
|
||||
resistance surveillance data** *Journal of Antimicrobial Chemotherapy*
|
||||
71(3); [doi:10.1093/jac/dkv397](https://doi.org/10.1093/jac/dkv397)
|
||||
|
||||
- Bielicki JA *et al.* (2020). **Evaluation of the coverage of 3
|
||||
antibiotic regimens for neonatal sepsis in the hospital setting across
|
||||
Asian countries** *JAMA Netw Open.* 3(2):e1921124;
|
||||
[doi:10.1001/jamanetworkopen.2019.21124](https://doi.org/10.1001/jamanetworkopen.2019.21124)
|
||||
|
||||
- Klinker KP *et al.* (2021). **Antimicrobial stewardship and
|
||||
antibiograms: importance of moving beyond traditional antibiograms**.
|
||||
*Therapeutic Advances in Infectious Disease*, May
|
||||
5;8:20499361211011373;
|
||||
[doi:10.1177/20499361211011373](https://doi.org/10.1177/20499361211011373)
|
||||
|
||||
- Barbieri E *et al.* (2021). **Development of a Weighted-Incidence
|
||||
Syndromic Combination Antibiogram (WISCA) to guide the choice of the
|
||||
empiric antibiotic treatment for urinary tract infection in paediatric
|
||||
patients: a Bayesian approach** *Antimicrobial Resistance & Infection
|
||||
Control* May 1;10(1):74;
|
||||
[doi:10.1186/s13756-021-00939-2](https://doi.org/10.1186/s13756-021-00939-2)
|
||||
|
||||
- **M39 Analysis and Presentation of Cumulative Antimicrobial
|
||||
Susceptibility Test Data, 5th Edition**, 2022, *Clinical and
|
||||
Laboratory Standards Institute (CLSI)*.
|
||||
<https://clsi.org/standards/products/microbiology/documents/m39/>.
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) containing at
|
||||
least a column with microorganisms and columns with antimicrobial
|
||||
results (class 'sir', see
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md)).
|
||||
|
||||
- antimicrobials:
|
||||
|
||||
A vector specifying the antimicrobials containing SIR values to
|
||||
include in the antibiogram (see *Examples*). Will be evaluated using
|
||||
[`guess_ab_col()`](https://amr-for-r.org/reference/guess_ab_col.md).
|
||||
This can be:
|
||||
|
||||
- Any antimicrobial name or code that could match (see
|
||||
[`guess_ab_col()`](https://amr-for-r.org/reference/guess_ab_col.md))
|
||||
to any column in `x`
|
||||
|
||||
- Any [antimicrobial
|
||||
selector](https://amr-for-r.org/reference/antimicrobial_selectors.md),
|
||||
such as
|
||||
[`aminoglycosides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
or
|
||||
[`carbapenems()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
|
||||
- A combination of the above, using
|
||||
[`c()`](https://rdrr.io/r/base/c.html), e.g.:
|
||||
|
||||
- `c(aminoglycosides(), "AMP", "AMC")`
|
||||
|
||||
- `c(aminoglycosides(), carbapenems())`
|
||||
|
||||
- Column indices using numbers
|
||||
|
||||
- Combination therapy, indicated by using `"+"`, with or without
|
||||
[antimicrobial
|
||||
selectors](https://amr-for-r.org/reference/antimicrobial_selectors.md),
|
||||
e.g.:
|
||||
|
||||
- `"cipro + genta"`
|
||||
|
||||
- `"TZP+TOB"`
|
||||
|
||||
- `c("TZP", "TZP+GEN", "TZP+TOB")`
|
||||
|
||||
- `carbapenems() + "GEN"`
|
||||
|
||||
- `carbapenems() + c("", "GEN")`
|
||||
|
||||
- `carbapenems() + c("", aminoglycosides())`
|
||||
|
||||
- mo_transform:
|
||||
|
||||
A character to transform microorganism input - must be `"name"`,
|
||||
`"shortname"` (default), `"gramstain"`, or one of the column names of
|
||||
the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set: "mo", "fullname", "status", "kingdom", "phylum", "class",
|
||||
"order", "family", "genus", "species", "subspecies", "rank", "ref",
|
||||
"oxygen_tolerance", "source", "lpsn", "lpsn_parent",
|
||||
"lpsn_renamed_to", "mycobank", "mycobank_parent",
|
||||
"mycobank_renamed_to", "gbif", "gbif_parent", "gbif_renamed_to",
|
||||
"prevalence", or "snomed". Can also be `NULL` to not transform the
|
||||
input or `NA` to consider all microorganisms 'unknown'.
|
||||
|
||||
- ab_transform:
|
||||
|
||||
A character to transform antimicrobial input - must be one of the
|
||||
column names of the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set (defaults to `"name"`): "ab", "cid", "name", "group", "atc",
|
||||
"atc_group1", "atc_group2", "abbreviations", "synonyms", "oral_ddd",
|
||||
"oral_units", "iv_ddd", "iv_units", or "loinc". Can also be `NULL` to
|
||||
not transform the input.
|
||||
|
||||
- syndromic_group:
|
||||
|
||||
A column name of `x`, or values calculated to split rows of `x`, e.g.
|
||||
by using [`ifelse()`](https://rdrr.io/r/base/ifelse.html) or
|
||||
[`case_when()`](https://dplyr.tidyverse.org/reference/case_when.html).
|
||||
See *Examples*.
|
||||
|
||||
- add_total_n:
|
||||
|
||||
*(deprecated in favour of `formatting_type`)* A
|
||||
[logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
`n_tested` available numbers per pathogen should be added to the table
|
||||
(default is `TRUE`). This will add the lowest and highest number of
|
||||
available isolates per antimicrobial (e.g, if for *E. coli* 200
|
||||
isolates are available for ciprofloxacin and 150 for amoxicillin, the
|
||||
returned number will be "150-200"). This option is unavailable when
|
||||
`wisca = TRUE`; in that case, use `retrieve_wisca_parameters()` to get
|
||||
the parameters used for WISCA.
|
||||
|
||||
- only_all_tested:
|
||||
|
||||
(for combination antibiograms): a
|
||||
[logical](https://rdrr.io/r/base/logical.html) to indicate that
|
||||
isolates must be tested for all antimicrobials, see *Details*.
|
||||
|
||||
- digits:
|
||||
|
||||
Number of digits to use for rounding the antimicrobial coverage,
|
||||
defaults to 1 for WISCA and 0 otherwise.
|
||||
|
||||
- formatting_type:
|
||||
|
||||
Numeric value (1–22 for WISCA, 1-12 for non-WISCA) indicating how the
|
||||
'cells' of the antibiogram table should be formatted. See *Details* \>
|
||||
*Formatting Type* for a list of options.
|
||||
|
||||
- col_mo:
|
||||
|
||||
Column name of the names or codes of the microorganisms (see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) - the default
|
||||
is the first column of class
|
||||
[`mo`](https://amr-for-r.org/reference/as.mo.md). Values will be
|
||||
coerced using [`as.mo()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- language:
|
||||
|
||||
Language to translate text, which defaults to the system language (see
|
||||
[`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md)).
|
||||
|
||||
- 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*.
|
||||
|
||||
- combine_SI:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
all susceptibility should be determined by results of either S, SDD,
|
||||
or I, instead of only S (default is `TRUE`).
|
||||
|
||||
- sep:
|
||||
|
||||
A separating character for antimicrobial columns in combination
|
||||
antibiograms.
|
||||
|
||||
- sort_columns:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the antimicrobial columns must be sorted on name.
|
||||
|
||||
- wisca:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
Weighted-Incidence Syndromic Combination Antibiogram (WISCA) must be
|
||||
generated (default is `FALSE`). This will use a Bayesian decision
|
||||
model to estimate regimen coverage probabilities using [Monte Carlo
|
||||
simulations](https://en.wikipedia.org/wiki/Monte_Carlo_method). Set
|
||||
`simulations`, `conf_interval`, and `interval_side` to adjust.
|
||||
|
||||
- simulations:
|
||||
|
||||
(for WISCA) a numerical value to set the number of Monte Carlo
|
||||
simulations.
|
||||
|
||||
- conf_interval:
|
||||
|
||||
A numerical value to set confidence interval (default is `0.95`).
|
||||
|
||||
- interval_side:
|
||||
|
||||
The side of the confidence interval, either `"two-tailed"` (default),
|
||||
`"left"` or `"right"`.
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate info
|
||||
should be printed - the default is `TRUE` only in interactive mode.
|
||||
|
||||
- ...:
|
||||
|
||||
When used in [R Markdown or
|
||||
Quarto](https://rdrr.io/pkg/knitr/man/kable.html): arguments passed on
|
||||
to [`knitr::kable()`](https://rdrr.io/pkg/knitr/man/kable.html)
|
||||
(otherwise, has no use).
|
||||
|
||||
- wisca_model:
|
||||
|
||||
The outcome of `wisca()` or `antibiogram(..., wisca = TRUE)`.
|
||||
|
||||
- object:
|
||||
|
||||
An `antibiogram()` object.
|
||||
|
||||
- italicise:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the microorganism names in the
|
||||
[knitr](https://rdrr.io/pkg/knitr/man/kable.html) table should be made
|
||||
italic, using
|
||||
[`italicise_taxonomy()`](https://amr-for-r.org/reference/italicise_taxonomy.md).
|
||||
|
||||
- na:
|
||||
|
||||
Character to use for showing `NA` values.
|
||||
|
||||
## Details
|
||||
|
||||
These functions return a table with values between 0 and 100 for
|
||||
*susceptibility*, not resistance.
|
||||
|
||||
**Remember that you should filter your data to let it contain only first
|
||||
isolates!** This is needed to exclude duplicates and to reduce selection
|
||||
bias. Use
|
||||
[`first_isolate()`](https://amr-for-r.org/reference/first_isolate.md) to
|
||||
determine them with one of the four available algorithms: isolate-based,
|
||||
patient-based, episode-based, or phenotype-based.
|
||||
|
||||
For estimating antimicrobial coverage, especially when creating a WISCA,
|
||||
the outcome might become more reliable by only including the top *n*
|
||||
species encountered in the data. You can filter on this top *n* using
|
||||
[`top_n_microorganisms()`](https://amr-for-r.org/reference/top_n_microorganisms.md).
|
||||
For example, use `top_n_microorganisms(your_data, n = 10)` as a
|
||||
pre-processing step to only include the top 10 species in the data.
|
||||
|
||||
The numeric values of an antibiogram are stored in a long format as the
|
||||
[attribute](https://rdrr.io/r/base/attributes.html) `long_numeric`. You
|
||||
can retrieve them using `attributes(x)$long_numeric`, where `x` is the
|
||||
outcome of `antibiogram()` or `wisca()`. This is ideal for e.g. advanced
|
||||
plotting.
|
||||
|
||||
### Formatting Type
|
||||
|
||||
The formatting of the 'cells' of the table can be set with the argument
|
||||
`formatting_type`. In these examples, `5` indicates the antimicrobial
|
||||
coverage (`4-6` the confidence level), `15` the number of susceptible
|
||||
isolates, and `300` the number of tested (i.e., available) isolates:
|
||||
|
||||
1. 5
|
||||
|
||||
2. 15
|
||||
|
||||
3. 300
|
||||
|
||||
4. 15/300
|
||||
|
||||
5. 5 (300)
|
||||
|
||||
6. 5% (300)
|
||||
|
||||
7. 5 (N=300)
|
||||
|
||||
8. 5% (N=300)
|
||||
|
||||
9. 5 (15/300)
|
||||
|
||||
10. 5% (15/300)
|
||||
|
||||
11. 5 (N=15/300)
|
||||
|
||||
12. 5% (N=15/300)
|
||||
|
||||
13. 5 (4-6)
|
||||
|
||||
14. 5% (4-6%) - **default for WISCA**
|
||||
|
||||
15. 5 (4-6,300)
|
||||
|
||||
16. 5% (4-6%,300)
|
||||
|
||||
17. 5 (4-6,N=300)
|
||||
|
||||
18. 5% (4-6%,N=300) - **default for non-WISCA**
|
||||
|
||||
19. 5 (4-6,15/300)
|
||||
|
||||
20. 5% (4-6%,15/300)
|
||||
|
||||
21. 5 (4-6,N=15/300)
|
||||
|
||||
22. 5% (4-6%,N=15/300)
|
||||
|
||||
The default can be set globally with the package option
|
||||
[`AMR_antibiogram_formatting_type`](https://amr-for-r.org/reference/AMR-options.md),
|
||||
e.g. `options(AMR_antibiogram_formatting_type = 5)`. Do note that for
|
||||
WISCA, the total numbers of tested and susceptible isolates are less
|
||||
useful to report, since these are included in the Bayesian model and
|
||||
apparent from the susceptibility and its confidence level.
|
||||
|
||||
Set `digits` (defaults to `0`) to alter the rounding of the
|
||||
susceptibility percentages.
|
||||
|
||||
### Antibiogram Types
|
||||
|
||||
There are various antibiogram types, as summarised by Klinker *et al.*
|
||||
(2021,
|
||||
[doi:10.1177/20499361211011373](https://doi.org/10.1177/20499361211011373)
|
||||
), and they are all supported by `antibiogram()`.
|
||||
|
||||
For clinical coverage estimations, **use WISCA whenever possible**,
|
||||
since it provides more precise coverage estimates by accounting for
|
||||
pathogen incidence and antimicrobial susceptibility, as has been shown
|
||||
by Bielicki *et al.* (2020,
|
||||
[doi:10.1001/jamanetworkopen.2019.21124](https://doi.org/10.1001/jamanetworkopen.2019.21124)
|
||||
). See the section *Explaining WISCA* on this page. Do note that WISCA
|
||||
is pathogen-agnostic, meaning that the outcome is not stratied by
|
||||
pathogen, but rather by syndrome.
|
||||
|
||||
1. **Traditional Antibiogram**
|
||||
|
||||
Case example: Susceptibility of *Pseudomonas aeruginosa* to
|
||||
piperacillin/tazobactam (TZP)
|
||||
|
||||
Code example:
|
||||
|
||||
antibiogram(your_data,
|
||||
antimicrobials = "TZP")
|
||||
|
||||
2. **Combination Antibiogram**
|
||||
|
||||
Case example: Additional susceptibility of *Pseudomonas aeruginosa*
|
||||
to TZP + tobramycin versus TZP alone
|
||||
|
||||
Code example:
|
||||
|
||||
antibiogram(your_data,
|
||||
antimicrobials = c("TZP", "TZP+TOB", "TZP+GEN"))
|
||||
|
||||
3. **Syndromic Antibiogram**
|
||||
|
||||
Case example: Susceptibility of *Pseudomonas aeruginosa* to TZP
|
||||
among respiratory specimens (obtained among ICU patients only)
|
||||
|
||||
Code example:
|
||||
|
||||
antibiogram(your_data,
|
||||
antimicrobials = penicillins(),
|
||||
syndromic_group = "ward")
|
||||
|
||||
4. **Weighted-Incidence Syndromic Combination Antibiogram (WISCA)**
|
||||
|
||||
WISCA can be applied to any antibiogram, see the section *Explaining
|
||||
WISCA* on this page for more information.
|
||||
|
||||
Code example:
|
||||
|
||||
antibiogram(your_data,
|
||||
antimicrobials = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
wisca = TRUE)
|
||||
|
||||
# this is equal to:
|
||||
wisca(your_data,
|
||||
antimicrobials = c("TZP", "TZP+TOB", "TZP+GEN"))
|
||||
|
||||
WISCA uses a sophisticated Bayesian decision model to combine both
|
||||
local and pooled antimicrobial resistance data. This approach not
|
||||
only evaluates local patterns but can also draw on multi-centre
|
||||
datasets to improve regimen accuracy, even in low-incidence
|
||||
infections like paediatric bloodstream infections (BSIs).
|
||||
|
||||
### Grouped tibbles
|
||||
|
||||
For any type of antibiogram, grouped
|
||||
[tibbles](https://tibble.tidyverse.org/reference/tibble.html) can also
|
||||
be used to calculate susceptibilities over various groups.
|
||||
|
||||
Code example:
|
||||
|
||||
library(dplyr)
|
||||
your_data %>%
|
||||
group_by(has_sepsis, is_neonate, sex) %>%
|
||||
wisca(antimicrobials = c("TZP", "TZP+TOB", "TZP+GEN"))
|
||||
|
||||
### Stepped Approach for Clinical Insight
|
||||
|
||||
In clinical practice, antimicrobial coverage decisions evolve as more
|
||||
microbiological data becomes available. This theoretical stepped
|
||||
approach ensures empirical coverage can continuously assessed to improve
|
||||
patient outcomes:
|
||||
|
||||
1. **Initial Empirical Therapy (Admission / Pre-Culture Data)**
|
||||
|
||||
At admission, no pathogen information is available.
|
||||
|
||||
- Action: broad-spectrum coverage is based on local resistance
|
||||
patterns and syndromic antibiograms. Using the pathogen-agnostic
|
||||
yet incidence-weighted WISCA is preferred.
|
||||
|
||||
- Code example:
|
||||
|
||||
antibiogram(your_data,
|
||||
antimicrobials = selected_regimens,
|
||||
mo_transform = NA) # all pathogens set to `NA`
|
||||
|
||||
# preferred: use WISCA
|
||||
wisca(your_data,
|
||||
antimicrobials = selected_regimens)
|
||||
|
||||
2. **Refinement with Gram Stain Results**
|
||||
|
||||
When a blood culture becomes positive, the Gram stain provides an
|
||||
initial and crucial first stratification (Gram-positive vs.
|
||||
Gram-negative).
|
||||
|
||||
- Action: narrow coverage based on Gram stain-specific resistance
|
||||
patterns.
|
||||
|
||||
- Code example:
|
||||
|
||||
antibiogram(your_data,
|
||||
antimicrobials = selected_regimens,
|
||||
mo_transform = "gramstain") # all pathogens set to Gram-pos/Gram-neg
|
||||
|
||||
3. **Definitive Therapy Based on Species Identification**
|
||||
|
||||
After cultivation of the pathogen, full pathogen identification
|
||||
allows precise targeting of therapy.
|
||||
|
||||
- Action: adjust treatment to pathogen-specific antibiograms,
|
||||
minimizing resistance risks.
|
||||
|
||||
- Code example:
|
||||
|
||||
antibiogram(your_data,
|
||||
antimicrobials = selected_regimens,
|
||||
mo_transform = "shortname") # all pathogens set to 'G. species', e.g., E. coli
|
||||
|
||||
By structuring antibiograms around this stepped approach, clinicians can
|
||||
make data-driven adjustments at each stage, ensuring optimal empirical
|
||||
and targeted therapy while reducing unnecessary broad-spectrum
|
||||
antimicrobial use.
|
||||
|
||||
### Inclusion in Combination Antibiograms
|
||||
|
||||
Note that for combination antibiograms, it is important to realise that
|
||||
susceptibility can be calculated in two ways, which can be set with the
|
||||
`only_all_tested` argument (default is `FALSE`). See this example for
|
||||
two antimicrobials, Drug A and Drug B, about how `antibiogram()` works
|
||||
to calculate the %SI:
|
||||
|
||||
--------------------------------------------------------------------
|
||||
only_all_tested = FALSE only_all_tested = TRUE
|
||||
----------------------- -----------------------
|
||||
Drug A Drug B considered considered considered considered
|
||||
susceptible tested susceptible tested
|
||||
-------- -------- ----------- ---------- ----------- ----------
|
||||
S or I S or I X X X X
|
||||
R S or I X X X X
|
||||
<NA> S or I X X - -
|
||||
S or I R X X X X
|
||||
R R - X - X
|
||||
<NA> R - - - -
|
||||
S or I <NA> X X - -
|
||||
R <NA> - - - -
|
||||
<NA> <NA> - - - -
|
||||
--------------------------------------------------------------------
|
||||
|
||||
### Plotting
|
||||
|
||||
All types of antibiograms as listed above can be plotted (using
|
||||
[`ggplot2::autoplot()`](https://ggplot2.tidyverse.org/reference/autoplot.html)
|
||||
or base R's [`plot()`](https://amr-for-r.org/reference/plot.md) and
|
||||
[`barplot()`](https://rdrr.io/r/graphics/barplot.html)). As mentioned
|
||||
above, the numeric values of an antibiogram are stored in a long format
|
||||
as the [attribute](https://rdrr.io/r/base/attributes.html)
|
||||
`long_numeric`. You can retrieve them using
|
||||
`attributes(x)$long_numeric`, where `x` is the outcome of
|
||||
`antibiogram()` or `wisca()`.
|
||||
|
||||
The outcome of `antibiogram()` can also be used directly in R Markdown /
|
||||
Quarto (i.e., `knitr`) for reports. In this case,
|
||||
[`knitr::kable()`](https://rdrr.io/pkg/knitr/man/kable.html) will be
|
||||
applied automatically and microorganism names will even be printed in
|
||||
italics at default (see argument `italicise`).
|
||||
|
||||
You can also use functions from specific 'table reporting' packages to
|
||||
transform the output of `antibiogram()` to your needs, e.g. with
|
||||
`flextable::as_flextable()` or `gt::gt()`.
|
||||
|
||||
## Explaining WISCA
|
||||
|
||||
WISCA (Weighted-Incidence Syndromic Combination Antibiogram) estimates
|
||||
the probability of empirical coverage for combination regimens.
|
||||
|
||||
It weights susceptibility by pathogen prevalence within a clinical
|
||||
syndrome and provides credible intervals around the expected coverage.
|
||||
|
||||
For more background, interpretation, and examples, see [the WISCA
|
||||
vignette](https://amr-for-r.org/articles/WISCA.html).
|
||||
|
||||
## Author
|
||||
|
||||
Implementation: Dr. Larisse Bolton and Dr. Matthijs Berends
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# example_isolates is a data set available in the AMR package.
|
||||
# run ?example_isolates for more info.
|
||||
example_isolates
|
||||
#> # A tibble: 2,000 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA
|
||||
#> # ℹ 1,990 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
|
||||
# \donttest{
|
||||
# Traditional antibiogram ----------------------------------------------
|
||||
|
||||
antibiogram(example_isolates,
|
||||
antimicrobials = c(aminoglycosides(), carbapenems())
|
||||
)
|
||||
#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'
|
||||
#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
|
||||
#> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
|
||||
#> # An Antibiogram: 10 × 7
|
||||
#> # Type: Non-WISCA with 95% CI
|
||||
#> Pathogen Amikacin Gentamicin Imipenem Kanamycin Meropenem Tobramycin
|
||||
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 CoNS 0% (0-8%,N… 86% (82-9… 52% (37… 0% (0-8%… 52% (37-… 22% (12-3…
|
||||
#> 2 E. coli 100% (98-1… 98% (96-9… 100% (9… NA 100% (99… 97% (96-9…
|
||||
#> 3 E. faecalis 0% (0-9%,N… 0% (0-9%,… 100% (9… 0% (0-9%… NA 0% (0-9%,…
|
||||
#> 4 K. pneumoniae NA 90% (79-9… 100% (9… NA 100% (93… 90% (79-9…
|
||||
#> 5 P. aeruginosa NA 100% (88-… NA 0% (0-12… NA 100% (88-…
|
||||
#> 6 P. mirabilis NA 94% (80-9… 94% (79… NA NA 94% (80-9…
|
||||
#> 7 S. aureus NA 99% (97-1… NA NA NA 98% (92-1…
|
||||
#> 8 S. epidermidis 0% (0-8%,N… 79% (71-8… NA 0% (0-8%… NA 51% (40-6…
|
||||
#> 9 S. hominis NA 92% (84-9… NA NA NA 85% (74-9…
|
||||
#> 10 S. pneumoniae 0% (0-3%,N… 0% (0-3%,… NA 0% (0-3%… NA 0% (0-3%,…
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
antibiogram(example_isolates,
|
||||
antimicrobials = aminoglycosides(),
|
||||
ab_transform = "atc",
|
||||
mo_transform = "gramstain"
|
||||
)
|
||||
#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'
|
||||
#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
|
||||
#> # An Antibiogram: 2 × 5
|
||||
#> # Type: Non-WISCA with 95% CI
|
||||
#> Pathogen J01GB01 J01GB03 J01GB04 J01GB06
|
||||
#> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 Gram-negative 96% (94-97%,N=686) 96% (95-98%,N=684) 0% (0-10%,N=35) 98% (96-…
|
||||
#> 2 Gram-positive 34% (31-38%,N=665) 63% (60-66%,N=1170) 0% (0-1%,N=436) 0% (0-1%…
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
antibiogram(example_isolates,
|
||||
antimicrobials = carbapenems(),
|
||||
ab_transform = "name",
|
||||
mo_transform = "name"
|
||||
)
|
||||
#> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
|
||||
#> # An Antibiogram: 5 × 3
|
||||
#> # Type: Non-WISCA with 95% CI
|
||||
#> Pathogen Imipenem Meropenem
|
||||
#> <chr> <chr> <chr>
|
||||
#> 1 Coagulase-negative Staphylococcus (CoNS) 52% (37-67%,N=48) 52% (37-67%,N=4…
|
||||
#> 2 Enterococcus faecalis 100% (91-100%,N=38) NA
|
||||
#> 3 Escherichia coli 100% (99-100%,N=422) 100% (99-100%,N…
|
||||
#> 4 Klebsiella pneumoniae 100% (93-100%,N=51) 100% (93-100%,N…
|
||||
#> 5 Proteus mirabilis 94% (79-99%,N=32) NA
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
|
||||
# Combined antibiogram -------------------------------------------------
|
||||
|
||||
# combined antimicrobials yield higher empiric coverage
|
||||
antibiogram(example_isolates,
|
||||
antimicrobials = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
mo_transform = "gramstain"
|
||||
)
|
||||
#> # An Antibiogram: 2 × 4
|
||||
#> # Type: Non-WISCA with 95% CI
|
||||
#> Pathogen Piperacillin/tazobac…¹ Piperacillin/tazobac…² Piperacillin/tazobac…³
|
||||
#> <chr> <chr> <chr> <chr>
|
||||
#> 1 Gram-neg… 88% (85-91%,N=641) 99% (97-99%,N=691) 98% (97-99%,N=693)
|
||||
#> 2 Gram-pos… 86% (82-89%,N=345) 98% (96-98%,N=1044) 95% (93-97%,N=550)
|
||||
#> # ℹ abbreviated names: ¹`Piperacillin/tazobactam`,
|
||||
#> # ²`Piperacillin/tazobactam + Gentamicin`,
|
||||
#> # ³`Piperacillin/tazobactam + Tobramycin`
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
# you can use any antimicrobial selector with `+` too:
|
||||
antibiogram(example_isolates,
|
||||
antimicrobials = ureidopenicillins() + c("", "GEN", "tobra"),
|
||||
mo_transform = "gramstain"
|
||||
)
|
||||
#> ℹ For `ureidopenicillins()` using column 'TZP' (piperacillin/tazobactam)
|
||||
#> # An Antibiogram: 2 × 4
|
||||
#> # Type: Non-WISCA with 95% CI
|
||||
#> Pathogen Piperacillin/tazobac…¹ Piperacillin/tazobac…² Piperacillin/tazobac…³
|
||||
#> <chr> <chr> <chr> <chr>
|
||||
#> 1 Gram-neg… 88% (85-91%,N=641) 99% (97-99%,N=691) 98% (97-99%,N=693)
|
||||
#> 2 Gram-pos… 86% (82-89%,N=345) 98% (96-98%,N=1044) 95% (93-97%,N=550)
|
||||
#> # ℹ abbreviated names: ¹`Piperacillin/tazobactam`,
|
||||
#> # ²`Piperacillin/tazobactam + Gentamicin`,
|
||||
#> # ³`Piperacillin/tazobactam + Tobramycin`
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
# names of antimicrobials do not need to resemble columns exactly:
|
||||
antibiogram(example_isolates,
|
||||
antimicrobials = c("Cipro", "cipro + genta"),
|
||||
mo_transform = "gramstain",
|
||||
ab_transform = "name",
|
||||
sep = " & "
|
||||
)
|
||||
#> # An Antibiogram: 2 × 3
|
||||
#> # Type: Non-WISCA with 95% CI
|
||||
#> Pathogen Ciprofloxacin `Ciprofloxacin & Gentamicin`
|
||||
#> <chr> <chr> <chr>
|
||||
#> 1 Gram-negative 91% (88-93%,N=684) 99% (97-99%,N=694)
|
||||
#> 2 Gram-positive 77% (74-80%,N=724) 93% (91-94%,N=847)
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
|
||||
# Syndromic antibiogram ------------------------------------------------
|
||||
|
||||
# the data set could contain a filter for e.g. respiratory specimens
|
||||
antibiogram(example_isolates,
|
||||
antimicrobials = c(aminoglycosides(), carbapenems()),
|
||||
syndromic_group = "ward"
|
||||
)
|
||||
#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'
|
||||
#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
|
||||
#> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
|
||||
#> # An Antibiogram: 14 × 8
|
||||
#> # Type: Non-WISCA with 95% CI
|
||||
#> `Syndromic Group` Pathogen Amikacin Gentamicin Imipenem Kanamycin Meropenem
|
||||
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 Clinical CoNS NA 89% (84-9… 57% (39… NA 57% (39-…
|
||||
#> 2 ICU CoNS NA 79% (68-8… NA NA NA
|
||||
#> 3 Outpatient CoNS NA 84% (66-9… NA NA NA
|
||||
#> 4 Clinical E. coli 100% (9… 98% (96-9… 100% (9… NA 100% (99…
|
||||
#> 5 ICU E. coli 100% (9… 99% (95-1… 100% (9… NA 100% (97…
|
||||
#> 6 Clinical K. pneumo… NA 92% (81-9… 100% (9… NA 100% (92…
|
||||
#> 7 Clinical P. mirabi… NA 100% (88-… NA NA NA
|
||||
#> 8 Clinical S. aureus NA 99% (95-1… NA NA NA
|
||||
#> 9 ICU S. aureus NA 100% (95-… NA NA NA
|
||||
#> 10 Clinical S. epider… NA 82% (72-9… NA NA NA
|
||||
#> 11 ICU S. epider… NA 72% (60-8… NA NA NA
|
||||
#> 12 Clinical S. hominis NA 96% (85-9… NA NA NA
|
||||
#> 13 Clinical S. pneumo… 0% (0-5… 0% (0-5%,… NA 0% (0-5%… NA
|
||||
#> 14 ICU S. pneumo… 0% (0-1… 0% (0-12%… NA 0% (0-12… NA
|
||||
#> # ℹ 1 more variable: Tobramycin <chr>
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
# now define a data set with only E. coli
|
||||
ex1 <- example_isolates[which(mo_genus() == "Escherichia"), ]
|
||||
#> ℹ Using column 'mo' as input for `mo_genus()`
|
||||
|
||||
# with a custom language, though this will be determined automatically
|
||||
# (i.e., this table will be in Spanish on Spanish systems)
|
||||
antibiogram(ex1,
|
||||
antimicrobials = aminoglycosides(),
|
||||
ab_transform = "name",
|
||||
syndromic_group = ifelse(ex1$ward == "ICU",
|
||||
"UCI", "No UCI"
|
||||
),
|
||||
language = "es"
|
||||
)
|
||||
#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'
|
||||
#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
|
||||
#> # An Antibiogram: 2 × 5
|
||||
#> # Type: Non-WISCA with 95% CI
|
||||
#> `Grupo sindrómico` Patógeno Amikacina Gentamicina Tobramicina
|
||||
#> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 No UCI E. coli 100% (97-100%,N=119) 98% (96-99%,N=32… 98% (96-99…
|
||||
#> 2 UCI E. coli 100% (93-100%,N=52) 99% (95-100%,N=1… 96% (92-99…
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
|
||||
# WISCA antibiogram ----------------------------------------------------
|
||||
|
||||
# WISCA are not stratified by species, but rather on syndromes
|
||||
antibiogram(example_isolates,
|
||||
antimicrobials = c("TZP", "TZP+TOB", "TZP+GEN"),
|
||||
syndromic_group = "ward",
|
||||
wisca = TRUE
|
||||
)
|
||||
#> # An Antibiogram: 3 × 4
|
||||
#> # Type: WISCA with 95% CI
|
||||
#> `Syndromic Group` `Piperacillin/tazobactam` Piperacillin/tazobactam + Gentam…¹
|
||||
#> <chr> <chr> <chr>
|
||||
#> 1 Clinical 73.4% (67.6-78.6%) 92.4% (90.6-93.7%)
|
||||
#> 2 ICU 57.4% (49.7-65.6%) 85% (82.1-87.6%)
|
||||
#> 3 Outpatient 56.9% (46.9-66.7%) 74.4% (69-79.7%)
|
||||
#> # ℹ abbreviated name: ¹`Piperacillin/tazobactam + Gentamicin`
|
||||
#> # ℹ 1 more variable: `Piperacillin/tazobactam + Tobramycin` <chr>
|
||||
#> # Use `ggplot2::autoplot()` or base R `plot()` to create a plot of this antibiogram,
|
||||
#> # or use it directly in R Markdown or https://quarto.org, see ?antibiogram
|
||||
|
||||
|
||||
# Print the output for R Markdown / Quarto -----------------------------
|
||||
|
||||
ureido <- antibiogram(example_isolates,
|
||||
antimicrobials = ureidopenicillins(),
|
||||
syndromic_group = "ward",
|
||||
wisca = TRUE
|
||||
)
|
||||
#> ℹ For `ureidopenicillins()` using column 'TZP' (piperacillin/tazobactam)
|
||||
|
||||
# in an Rmd file, you would just need to return `ureido` in a chunk,
|
||||
# but to be explicit here:
|
||||
if (requireNamespace("knitr")) {
|
||||
cat(knitr::knit_print(ureido))
|
||||
}
|
||||
#>
|
||||
#>
|
||||
#> |Syndromic Group |Piperacillin/tazobactam |
|
||||
#> |:---------------|:-----------------------|
|
||||
#> |Clinical |73.6% (68.4-79%) |
|
||||
#> |ICU |57.4% (49.7-65.4%) |
|
||||
#> |Outpatient |57% (47.2-66.7%) |
|
||||
|
||||
|
||||
# Generate plots with ggplot2 or base R --------------------------------
|
||||
|
||||
ab1 <- antibiogram(example_isolates,
|
||||
antimicrobials = c("AMC", "CIP", "TZP", "TZP+TOB"),
|
||||
mo_transform = "gramstain"
|
||||
)
|
||||
ab2 <- antibiogram(example_isolates,
|
||||
antimicrobials = c("AMC", "CIP", "TZP", "TZP+TOB"),
|
||||
mo_transform = "gramstain",
|
||||
syndromic_group = "ward"
|
||||
)
|
||||
|
||||
if (requireNamespace("ggplot2")) {
|
||||
ggplot2::autoplot(ab1)
|
||||
}
|
||||
|
||||
if (requireNamespace("ggplot2")) {
|
||||
ggplot2::autoplot(ab2)
|
||||
}
|
||||
|
||||
|
||||
plot(ab1)
|
||||
|
||||
plot(ab2)
|
||||
|
||||
# }
|
||||
```
|
||||
@@ -17,7 +17,7 @@ my_data_with_all_these_columns %&gt;%
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -217,14 +217,14 @@ my_data_with_all_these_columns %&gt;%
|
||||
<li><p><code>aminopenicillins()</code> can select: <br> amoxicillin (AMX) and ampicillin (AMP)</p></li>
|
||||
<li><p><code>antifungals()</code> can select: <br> amorolfine (AMO), amphotericin B (AMB), amphotericin B-high (AMH), anidulafungin (ANI), butoconazole (BUT), caspofungin (CAS), ciclopirox (CIX), clotrimazole (CTR), econazole (ECO), fluconazole (FLU), flucytosine (FCT), fosfluconazole (FFL), griseofulvin (GRI), hachimycin (HCH), ibrexafungerp (IBX), isavuconazole (ISV), isoconazole (ISO), itraconazole (ITR), ketoconazole (KET), manogepix (MGX), micafungin (MIF), miconazole (MCZ), nystatin (NYS), oteseconazole (OTE), pimaricin (PMR), posaconazole (POS), rezafungin (RZF), ribociclib (RBC), sulconazole (SUC), terbinafine (TRB), terconazole (TRC), and voriconazole (VOR)</p></li>
|
||||
<li><p><code>antimycobacterials()</code> can select: <br> 4-aminosalicylic acid (AMA), calcium aminosalicylate (CLA), capreomycin (CAP), clofazimine (CLF), delamanid (DLM), enviomycin (ENV), ethambutol (ETH), ethambutol/isoniazid (ETI), ethionamide (ETI1), isoniazid (INH), isoniazid/sulfamethoxazole/trimethoprim/pyridoxine (IST), morinamide (MRN), p-aminosalicylic acid (PAS), pretomanid (PMD), protionamide (PTH), pyrazinamide (PZA), rifabutin (RIB), rifampicin (RIF), rifampicin/ethambutol/isoniazid (REI), rifampicin/isoniazid (RFI), rifampicin/pyrazinamide/ethambutol/isoniazid (RPEI), rifampicin/pyrazinamide/isoniazid (RPI), rifamycin (RFM), rifapentine (RFP), sodium aminosalicylate (SDA), streptomycin/isoniazid (STI), terizidone (TRZ), thioacetazone (TAT), thioacetazone/isoniazid (THI1), tiocarlide (TCR), and viomycin (VIO)</p></li>
|
||||
<li><p><code>betalactams()</code> can select: <br> amoxicillin (AMX), amoxicillin/clavulanic acid (AMC), amoxicillin/sulbactam (AXS), ampicillin (AMP), ampicillin/sulbactam (SAM), apalcillin (APL), aspoxicillin (APX), azidocillin (AZD), azlocillin (AZL), aztreonam (ATM), aztreonam/avibactam (AZA), aztreonam/nacubactam (ANC), bacampicillin (BAM), benzathine benzylpenicillin (BNB), benzathine phenoxymethylpenicillin (BNP), benzylpenicillin (PEN), benzylpenicillin screening test (PEN-S), biapenem (BIA), carbenicillin (CRB), carindacillin (CRN), carumonam (CAR), cefacetrile (CAC), cefaclor (CEC), cefadroxil (CFR), cefalexin (LEX), cefaloridine (RID), cefalotin (CEP), cefamandole (MAN), cefapirin (HAP), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefcapene (CCP), cefcapene pivoxil (CCX), cefdinir (CDR), cefditoren (DIT), cefditoren pivoxil (DIX), cefepime (FEP), cefepime/amikacin (CFA), cefepime/clavulanic acid (CPC), cefepime/enmetazobactam (FPE), cefepime/nacubactam (FNC), cefepime/tazobactam (FPT), cefepime/zidebactam (FPZ), cefetamet (CAT), cefetamet pivoxil (CPI), cefetecol (CCL), cefetrizole (CZL), cefiderocol (FDC), cefixime (CFM), cefmenoxime (CMX), cefmetazole (CMZ), cefodizime (DIZ), cefonicid (CID), cefoperazone (CFP), cefoperazone/sulbactam (CSL), ceforanide (CND), cefoselis (CSE), cefotaxime (CTX), cefotaxime screening test (CTX-S), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotetan (CTT), cefotiam (CTF), cefotiam hexetil (CHE), cefovecin (FOV), cefoxitin (FOX), cefoxitin screening test (FOX-S), cefozopran (ZOP), cefpimizole (CFZ), cefpiramide (CPM), cefpirome (CPO), cefpodoxime (CPD), cefpodoxime proxetil (CPX), cefpodoxime/clavulanic acid (CDC), cefprozil (CPR), cefquinome (CEQ), cefroxadine (CRD), cefsulodin (CFS), cefsumide (CSU), ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftazidime (CAZ), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), cefteram (CEM), cefteram pivoxil (CPL), ceftezole (CTL), ceftibuten (CTB), ceftiofur (TIO), ceftizoxime (CZX), ceftizoxime alapivoxil (CZP), ceftobiprole (BPR), ceftobiprole medocaril (CFM1), ceftolozane/tazobactam (CZT), ceftriaxone (CRO), ceftriaxone/beta-lactamase inhibitor (CEB), cefuroxime (CXM), cefuroxime axetil (CXA), cephradine (CED), ciclacillin (CIC), clometocillin (CLM), cloxacillin (CLO), dicloxacillin (DIC), doripenem (DOR), epicillin (EPC), ertapenem (ETP), flucloxacillin (FLC), hetacillin (HET), imipenem (IPM), imipenem/EDTA (IPE), imipenem/relebactam (IMR), latamoxef (LTM), lenampicillin (LEN), loracarbef (LOR), mecillinam (MEC), meropenem (MEM), meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), metampicillin (MTM), meticillin (MET), mezlocillin (MEZ), mezlocillin/sulbactam (MSU), nafcillin (NAF), oxacillin (OXA), oxacillin screening test (OXA-S), panipenem (PAN), penamecillin (PNM), penicillin/novobiocin (PNO), penicillin/sulbactam (PSU), pheneticillin (PHE), phenoxymethylpenicillin (PHN), piperacillin (PIP), piperacillin/sulbactam (PIS), piperacillin/tazobactam (TZP), piridicillin (PRC), pivampicillin (PVM), pivmecillinam (PME), procaine benzylpenicillin (PRB), propicillin (PRP), razupenem (RZM), ritipenem (RIT), ritipenem acoxil (RIA), sarmoxicillin (SRX), sulbenicillin (SBC), sultamicillin (SLT6), talampicillin (TAL), tebipenem (TBP), temocillin (TEM), ticarcillin (TIC), ticarcillin/clavulanic acid (TCC), and tigemonam (TMN)</p></li>
|
||||
<li><p><code>betalactams_with_inhibitor()</code> can select: <br> amoxicillin/clavulanic acid (AMC), amoxicillin/sulbactam (AXS), ampicillin/sulbactam (SAM), aztreonam/avibactam (AZA), aztreonam/nacubactam (ANC), cefepime/amikacin (CFA), cefepime/clavulanic acid (CPC), cefepime/enmetazobactam (FPE), cefepime/nacubactam (FNC), cefepime/tazobactam (FPT), cefepime/zidebactam (FPZ), cefoperazone/sulbactam (CSL), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefpodoxime/clavulanic acid (CDC), ceftaroline/avibactam (CPA), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), ceftolozane/tazobactam (CZT), ceftriaxone/beta-lactamase inhibitor (CEB), imipenem/relebactam (IMR), meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), mezlocillin/sulbactam (MSU), penicillin/novobiocin (PNO), penicillin/sulbactam (PSU), piperacillin/sulbactam (PIS), piperacillin/tazobactam (TZP), and ticarcillin/clavulanic acid (TCC)</p></li>
|
||||
<li><p><code>carbapenems()</code> can select: <br> biapenem (BIA), doripenem (DOR), ertapenem (ETP), imipenem (IPM), imipenem/EDTA (IPE), imipenem/relebactam (IMR), meropenem (MEM), meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), panipenem (PAN), razupenem (RZM), ritipenem (RIT), ritipenem acoxil (RIA), and tebipenem (TBP)</p></li>
|
||||
<li><p><code>cephalosporins()</code> can select: <br> cefacetrile (CAC), cefaclor (CEC), cefadroxil (CFR), cefalexin (LEX), cefaloridine (RID), cefalotin (CEP), cefamandole (MAN), cefapirin (HAP), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefcapene (CCP), cefcapene pivoxil (CCX), cefdinir (CDR), cefditoren (DIT), cefditoren pivoxil (DIX), cefepime (FEP), cefepime/amikacin (CFA), cefepime/clavulanic acid (CPC), cefepime/enmetazobactam (FPE), cefepime/nacubactam (FNC), cefepime/tazobactam (FPT), cefepime/zidebactam (FPZ), cefetamet (CAT), cefetamet pivoxil (CPI), cefetecol (CCL), cefetrizole (CZL), cefiderocol (FDC), cefixime (CFM), cefmenoxime (CMX), cefmetazole (CMZ), cefodizime (DIZ), cefonicid (CID), cefoperazone (CFP), cefoperazone/sulbactam (CSL), ceforanide (CND), cefoselis (CSE), cefotaxime (CTX), cefotaxime screening test (CTX-S), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotetan (CTT), cefotiam (CTF), cefotiam hexetil (CHE), cefovecin (FOV), cefoxitin (FOX), cefoxitin screening test (FOX-S), cefozopran (ZOP), cefpimizole (CFZ), cefpiramide (CPM), cefpirome (CPO), cefpodoxime (CPD), cefpodoxime proxetil (CPX), cefpodoxime/clavulanic acid (CDC), cefprozil (CPR), cefquinome (CEQ), cefroxadine (CRD), cefsulodin (CFS), cefsumide (CSU), ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftazidime (CAZ), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), cefteram (CEM), cefteram pivoxil (CPL), ceftezole (CTL), ceftibuten (CTB), ceftiofur (TIO), ceftizoxime (CZX), ceftizoxime alapivoxil (CZP), ceftobiprole (BPR), ceftobiprole medocaril (CFM1), ceftolozane/tazobactam (CZT), ceftriaxone (CRO), ceftriaxone/beta-lactamase inhibitor (CEB), cefuroxime (CXM), cefuroxime axetil (CXA), cephradine (CED), latamoxef (LTM), and loracarbef (LOR)</p></li>
|
||||
<li><p><code>betalactams()</code> can select: <br> amoxicillin (AMX), amoxicillin/clavulanic acid (AMC), amoxicillin/sulbactam (AXS), ampicillin (AMP), ampicillin/sulbactam (SAM), apalcillin (APL), aspoxicillin (APX), azidocillin (AZD), azlocillin (AZL), aztreonam (ATM), aztreonam/avibactam (AZA), aztreonam/nacubactam (ANC), bacampicillin (BAM), benzathine benzylpenicillin (BNB), benzathine phenoxymethylpenicillin (BNP), benzylpenicillin (PEN), benzylpenicillin screening test (PEN-S), biapenem (BIA), carbenicillin (CRB), carindacillin (CRN), carumonam (CAR), cefacetrile (CAC), cefaclor (CEC), cefadroxil (CFR), cefalexin (LEX), cefaloridine (RID), cefalotin (CEP), cefamandole (MAN), cefapirin (HAP), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefcapene (CCP), cefcapene pivoxil (CCX), cefdinir (CDR), cefditoren (DIT), cefditoren pivoxil (DIX), cefepime (FEP), cefepime/amikacin (CFA), cefepime/clavulanic acid (CPC), cefepime/enmetazobactam (FPE), cefepime/nacubactam (FNC), cefepime/taniborbactam (FTA), cefepime/tazobactam (FPT), cefepime/zidebactam (FPZ), cefetamet (CAT), cefetamet pivoxil (CPI), cefetecol (CCL), cefetrizole (CZL), cefiderocol (FDC), cefixime (CFM), cefmenoxime (CMX), cefmetazole (CMZ), cefodizime (DIZ), cefonicid (CID), cefoperazone (CFP), cefoperazone/sulbactam (CSL), ceforanide (CND), cefoselis (CSE), cefotaxime (CTX), cefotaxime screening test (CTX-S), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotetan (CTT), cefotiam (CTF), cefotiam hexetil (CHE), cefovecin (FOV), cefoxitin (FOX), cefoxitin screening test (FOX-S), cefozopran (ZOP), cefpimizole (CFZ), cefpiramide (CPM), cefpirome (CPO), cefpodoxime (CPD), cefpodoxime proxetil (CPX), cefpodoxime/clavulanic acid (CDC), cefprozil (CPR), cefquinome (CEQ), cefroxadine (CRD), cefsulodin (CFS), cefsumide (CSU), ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftazidime (CAZ), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), cefteram (CEM), cefteram pivoxil (CPL), ceftezole (CTL), ceftibuten (CTB), ceftiofur (TIO), ceftizoxime (CZX), ceftizoxime alapivoxil (CZP), ceftobiprole (BPR), ceftobiprole medocaril (CFM1), ceftolozane/tazobactam (CZT), ceftriaxone (CRO), ceftriaxone/beta-lactamase inhibitor (CEB), cefuroxime (CXM), cefuroxime axetil (CXA), cephradine (CED), ciclacillin (CIC), clometocillin (CLM), cloxacillin (CLO), dicloxacillin (DIC), doripenem (DOR), epicillin (EPC), ertapenem (ETP), flucloxacillin (FLC), hetacillin (HET), imipenem (IPM), imipenem/EDTA (IPE), imipenem/relebactam (IMR), latamoxef (LTM), lenampicillin (LEN), loracarbef (LOR), mecillinam (MEC), meropenem (MEM), meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), metampicillin (MTM), meticillin (MET), mezlocillin (MEZ), mezlocillin/sulbactam (MSU), nafcillin (NAF), oxacillin (OXA), oxacillin screening test (OXA-S), panipenem (PAN), penamecillin (PNM), penicillin/novobiocin (PNO), penicillin/sulbactam (PSU), pheneticillin (PHE), phenoxymethylpenicillin (PHN), piperacillin (PIP), piperacillin/sulbactam (PIS), piperacillin/tazobactam (TZP), piridicillin (PRC), pivampicillin (PVM), pivmecillinam (PME), procaine benzylpenicillin (PRB), propicillin (PRP), razupenem (RZM), ritipenem (RIT), ritipenem acoxil (RIA), sarmoxicillin (SRX), sulbenicillin (SBC), sultamicillin (SLT6), talampicillin (TAL), taniborbactam (TAN), tebipenem (TBP), temocillin (TEM), ticarcillin (TIC), ticarcillin/clavulanic acid (TCC), and tigemonam (TMN)</p></li>
|
||||
<li><p><code>betalactams_with_inhibitor()</code> can select: <br> amoxicillin/clavulanic acid (AMC), amoxicillin/sulbactam (AXS), ampicillin/sulbactam (SAM), aztreonam/avibactam (AZA), aztreonam/nacubactam (ANC), cefepime/amikacin (CFA), cefepime/clavulanic acid (CPC), cefepime/enmetazobactam (FPE), cefepime/nacubactam (FNC), cefepime/taniborbactam (FTA), cefepime/tazobactam (FPT), cefepime/zidebactam (FPZ), cefoperazone/sulbactam (CSL), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefpodoxime/clavulanic acid (CDC), ceftaroline/avibactam (CPA), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), ceftolozane/tazobactam (CZT), ceftriaxone/beta-lactamase inhibitor (CEB), imipenem/relebactam (IMR), meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), mezlocillin/sulbactam (MSU), penicillin/novobiocin (PNO), penicillin/sulbactam (PSU), piperacillin/sulbactam (PIS), piperacillin/tazobactam (TZP), and ticarcillin/clavulanic acid (TCC)</p></li>
|
||||
<li><p><code>carbapenems()</code> can select: <br> biapenem (BIA), doripenem (DOR), ertapenem (ETP), imipenem (IPM), imipenem/EDTA (IPE), imipenem/relebactam (IMR), meropenem (MEM), meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), panipenem (PAN), razupenem (RZM), ritipenem (RIT), ritipenem acoxil (RIA), taniborbactam (TAN), and tebipenem (TBP)</p></li>
|
||||
<li><p><code>cephalosporins()</code> can select: <br> cefacetrile (CAC), cefaclor (CEC), cefadroxil (CFR), cefalexin (LEX), cefaloridine (RID), cefalotin (CEP), cefamandole (MAN), cefapirin (HAP), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefcapene (CCP), cefcapene pivoxil (CCX), cefdinir (CDR), cefditoren (DIT), cefditoren pivoxil (DIX), cefepime (FEP), cefepime/amikacin (CFA), cefepime/clavulanic acid (CPC), cefepime/enmetazobactam (FPE), cefepime/nacubactam (FNC), cefepime/taniborbactam (FTA), cefepime/tazobactam (FPT), cefepime/zidebactam (FPZ), cefetamet (CAT), cefetamet pivoxil (CPI), cefetecol (CCL), cefetrizole (CZL), cefiderocol (FDC), cefixime (CFM), cefmenoxime (CMX), cefmetazole (CMZ), cefodizime (DIZ), cefonicid (CID), cefoperazone (CFP), cefoperazone/sulbactam (CSL), ceforanide (CND), cefoselis (CSE), cefotaxime (CTX), cefotaxime screening test (CTX-S), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotetan (CTT), cefotiam (CTF), cefotiam hexetil (CHE), cefovecin (FOV), cefoxitin (FOX), cefoxitin screening test (FOX-S), cefozopran (ZOP), cefpimizole (CFZ), cefpiramide (CPM), cefpirome (CPO), cefpodoxime (CPD), cefpodoxime proxetil (CPX), cefpodoxime/clavulanic acid (CDC), cefprozil (CPR), cefquinome (CEQ), cefroxadine (CRD), cefsulodin (CFS), cefsumide (CSU), ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftazidime (CAZ), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), cefteram (CEM), cefteram pivoxil (CPL), ceftezole (CTL), ceftibuten (CTB), ceftiofur (TIO), ceftizoxime (CZX), ceftizoxime alapivoxil (CZP), ceftobiprole (BPR), ceftobiprole medocaril (CFM1), ceftolozane/tazobactam (CZT), ceftriaxone (CRO), ceftriaxone/beta-lactamase inhibitor (CEB), cefuroxime (CXM), cefuroxime axetil (CXA), cephradine (CED), latamoxef (LTM), and loracarbef (LOR)</p></li>
|
||||
<li><p><code>cephalosporins_1st()</code> can select: <br> cefacetrile (CAC), cefadroxil (CFR), cefalexin (LEX), cefaloridine (RID), cefalotin (CEP), cefapirin (HAP), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefroxadine (CRD), ceftezole (CTL), and cephradine (CED)</p></li>
|
||||
<li><p><code>cephalosporins_2nd()</code> can select: <br> cefaclor (CEC), cefamandole (MAN), cefmetazole (CMZ), cefonicid (CID), ceforanide (CND), cefotetan (CTT), cefotiam (CTF), cefoxitin (FOX), cefoxitin screening test (FOX-S), cefprozil (CPR), cefuroxime (CXM), cefuroxime axetil (CXA), and loracarbef (LOR)</p></li>
|
||||
<li><p><code>cephalosporins_3rd()</code> can select: <br> cefcapene (CCP), cefcapene pivoxil (CCX), cefdinir (CDR), cefditoren (DIT), cefditoren pivoxil (DIX), cefetamet (CAT), cefetamet pivoxil (CPI), cefixime (CFM), cefmenoxime (CMX), cefodizime (DIZ), cefoperazone (CFP), cefoperazone/sulbactam (CSL), cefotaxime (CTX), cefotaxime screening test (CTX-S), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotiam hexetil (CHE), cefovecin (FOV), cefpimizole (CFZ), cefpiramide (CPM), cefpodoxime (CPD), cefpodoxime proxetil (CPX), cefpodoxime/clavulanic acid (CDC), cefsulodin (CFS), ceftazidime (CAZ), ceftazidime/avibactam (CZA), ceftazidime/clavulanic acid (CCV), cefteram (CEM), cefteram pivoxil (CPL), ceftibuten (CTB), ceftiofur (TIO), ceftizoxime (CZX), ceftizoxime alapivoxil (CZP), ceftriaxone (CRO), ceftriaxone/beta-lactamase inhibitor (CEB), and latamoxef (LTM)</p></li>
|
||||
<li><p><code>cephalosporins_4th()</code> can select: <br> cefepime (FEP), cefepime/amikacin (CFA), cefepime/clavulanic acid (CPC), cefepime/enmetazobactam (FPE), cefepime/nacubactam (FNC), cefepime/tazobactam (FPT), cefepime/zidebactam (FPZ), cefetecol (CCL), cefoselis (CSE), cefozopran (ZOP), cefpirome (CPO), and cefquinome (CEQ)</p></li>
|
||||
<li><p><code>cephalosporins_4th()</code> can select: <br> cefepime (FEP), cefepime/amikacin (CFA), cefepime/clavulanic acid (CPC), cefepime/enmetazobactam (FPE), cefepime/nacubactam (FNC), cefepime/taniborbactam (FTA), cefepime/tazobactam (FPT), cefepime/zidebactam (FPZ), cefetecol (CCL), cefoselis (CSE), cefozopran (ZOP), cefpirome (CPO), and cefquinome (CEQ)</p></li>
|
||||
<li><p><code>cephalosporins_5th()</code> can select: <br> ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftobiprole (BPR), ceftobiprole medocaril (CFM1), and ceftolozane/tazobactam (CZT)</p></li>
|
||||
<li><p><code>fluoroquinolones()</code> can select: <br> besifloxacin (BES), ciprofloxacin (CIP), ciprofloxacin/metronidazole (CIM), ciprofloxacin/ornidazole (CIO), ciprofloxacin/tinidazole (CIT), clinafloxacin (CLX), danofloxacin (DAN), delafloxacin (DFX), difloxacin (DIF), enoxacin (ENX), enrofloxacin (ENR), finafloxacin (FIN), fleroxacin (FLE), garenoxacin (GRN), gatifloxacin (GAT), gemifloxacin (GEM), grepafloxacin (GRX), lascufloxacin (LSC), levofloxacin (LVX), levofloxacin/ornidazole (LEO), levonadifloxacin (LND), lomefloxacin (LOM), marbofloxacin (MAR), metioxate (MXT), miloxacin (MIL), moxifloxacin (MFX), nadifloxacin (NAD), nemonoxacin (NEM), nifuroquine (NIF), nitroxoline (NTR), norfloxacin (NOR), norfloxacin screening test (NOR-S), norfloxacin/metronidazole (NME), norfloxacin/tinidazole (NTI), ofloxacin (OFX), ofloxacin/ornidazole (OOR), orbifloxacin (ORB), pazufloxacin (PAZ), pefloxacin (PEF), pefloxacin screening test (PEF-S), pradofloxacin (PRA), premafloxacin (PRX), prulifloxacin (PRU), rufloxacin (RFL), sarafloxacin (SAR), sitafloxacin (SIT), sparfloxacin (SPX), temafloxacin (TMX), tilbroquinol (TBQ), tioxacin (TXC), tosufloxacin (TFX), and trovafloxacin (TVA)</p></li>
|
||||
<li><p><code>glycopeptides()</code> can select: <br> avoparcin (AVO), bleomycin (BLM), dalbavancin (DAL), norvancomycin (NVA), oritavancin (ORI), ramoplanin (RAM), teicoplanin (TEC), teicoplanin-macromethod (TCM), telavancin (TLV), vancomycin (VAN), and vancomycin-macromethod (VAM)</p></li>
|
||||
@@ -294,7 +294,7 @@ my_data_with_all_these_columns %&gt;%
|
||||
<span class="r-msg co"><span class="r-pr">#></span> <span style="color: #0000BB;"> • your_data[, carbapenems()]</span></span>
|
||||
<span class="r-msg co"><span class="r-pr">#></span> <span style="color: #0000BB;"> • your_data[, c("column_a", "column_b", carbapenems())]</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> Class 'ab'</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> [1] BIA DOR ETP IMR IPM MEM MEV PAN RIA RIT RZM TBP</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> [1] BIA DOR ETP IMR IPM MEM MEV PAN RIA RIT RZM TAN TBP</span>
|
||||
<span class="r-in"><span></span></span>
|
||||
<span class="r-in"><span></span></span>
|
||||
<span class="r-in"><span><span class="co"># Though they are primarily intended to use for selections and filters.</span></span></span>
|
||||
|
||||
1178
reference/antimicrobial_selectors.md
Normal file
1178
reference/antimicrobial_selectors.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Data Sets with 616 Antimicrobial Drugs — antimicrobials • AMR (for R)</title><!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="../favicon-96x96.png"><link rel="icon" type="”image/svg+xml”" href="../favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"><link rel="icon" sizes="any" href="../favicon.ico"><link rel="manifest" href="../site.webmanifest"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.10/font.css" rel="stylesheet"><link href="../deps/Fira_Code-0.4.10/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><script src="../extra.js"></script><meta property="og:title" content="Data Sets with 616 Antimicrobial Drugs — antimicrobials"><meta name="description" content="Two data sets containing all antimicrobials and antivirals. Use as.ab() or one of the ab_* functions to retrieve values from the antimicrobials data set. Three identifiers are included in this data set: an antimicrobial 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. Note that some drugs have multiple ATC codes.
|
||||
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Data Sets with 618 Antimicrobial Drugs — antimicrobials • AMR (for R)</title><!-- favicons --><link rel="icon" type="image/png" sizes="96x96" href="../favicon-96x96.png"><link rel="icon" type="”image/svg+xml”" href="../favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"><link rel="icon" sizes="any" href="../favicon.ico"><link rel="manifest" href="../site.webmanifest"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/Lato-0.4.10/font.css" rel="stylesheet"><link href="../deps/Fira_Code-0.4.10/font.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><link href="../extra.css" rel="stylesheet"><script src="../extra.js"></script><meta property="og:title" content="Data Sets with 618 Antimicrobial Drugs — antimicrobials"><meta name="description" content="Two data sets containing all antimicrobials and antivirals. Use as.ab() or one of the ab_* functions to retrieve values from the antimicrobials data set. Three identifiers are included in this data set: an antimicrobial 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. Note that some drugs have multiple ATC codes.
|
||||
The antibiotics data set has been renamed to antimicrobials. The old name will be removed in a future version."><meta property="og:description" content="Two data sets containing all antimicrobials and antivirals. Use as.ab() or one of the ab_* functions to retrieve values from the antimicrobials data set. Three identifiers are included in this data set: an antimicrobial 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. Note that some drugs have multiple ATC codes.
|
||||
The antibiotics data set has been renamed to antimicrobials. The old name will be removed in a future version."><meta property="og:image" content="https://amr-for-r.org/logo.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous"><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg" crossorigin="anonymous"></script><script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script></head><body>
|
||||
<a href="#main" class="visually-hidden-focusable">Skip to contents</a>
|
||||
@@ -9,7 +9,7 @@ The antibiotics data set has been renamed to antimicrobials. The old name will b
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -46,7 +46,7 @@ The antibiotics data set has been renamed to antimicrobials. The old name will b
|
||||
</nav><div class="container template-reference-topic">
|
||||
<div class="row">
|
||||
<main id="main" class="col-md-9"><div class="page-header">
|
||||
<img src="../logo.svg" class="logo" alt=""><h1>Data Sets with 616 Antimicrobial Drugs</h1>
|
||||
<img src="../logo.svg" class="logo" alt=""><h1>Data Sets with 618 Antimicrobial Drugs</h1>
|
||||
<small class="dont-index">Source: <a href="https://github.com/msberends/AMR/blob/main/R/data.R" class="external-link"><code>R/data.R</code></a></small>
|
||||
<div class="d-none name"><code>antimicrobials.Rd</code></div>
|
||||
</div>
|
||||
@@ -69,7 +69,7 @@ The antibiotics data set has been renamed to antimicrobials. The old name will b
|
||||
<h2 id="format">Format<a class="anchor" aria-label="anchor" href="#format"></a></h2>
|
||||
|
||||
<div class="section">
|
||||
<h3 id="for-the-antimicrobials-data-set-a-tibble-with-observations-and-variables-">For the antimicrobials data set: a <a href="https://tibble.tidyverse.org/reference/tibble.html" class="external-link">tibble</a> with 496 observations and 14 variables:<a class="anchor" aria-label="anchor" href="#for-the-antimicrobials-data-set-a-tibble-with-observations-and-variables-"></a></h3>
|
||||
<h3 id="for-the-antimicrobials-data-set-a-tibble-with-observations-and-variables-">For the antimicrobials data set: a <a href="https://tibble.tidyverse.org/reference/tibble.html" class="external-link">tibble</a> with 498 observations and 14 variables:<a class="anchor" aria-label="anchor" href="#for-the-antimicrobials-data-set-a-tibble-with-observations-and-variables-"></a></h3>
|
||||
|
||||
<ul><li><p><code>ab</code><br> antimicrobial ID as used in this package (such as <code>AMC</code>), using the official EARS-Net (European Antimicrobial Resistance Surveillance Network) codes where available. <em><strong>This is a unique identifier.</strong></em></p></li>
|
||||
<li><p><code>cid</code><br> Compound ID as found in PubChem. <em><strong>This is a unique identifier.</strong></em></p></li>
|
||||
@@ -103,7 +103,7 @@ The antibiotics data set has been renamed to antimicrobials. The old name will b
|
||||
<li><p><code>loinc</code><br> All codes associated with the name of the antiviral drug from Logical Observation Identifiers Names and Codes (LOINC), Version 2.76 (18 September, 2023). Use <code><a href="av_property.html">av_loinc()</a></code> to retrieve them quickly, see <code><a href="av_property.html">av_property()</a></code>.</p></li>
|
||||
</ul></div>
|
||||
|
||||
<p>An object of class <code>deprecated_amr_dataset</code> (inherits from <code>tbl_df</code>, <code>tbl</code>, <code>data.frame</code>) with 496 rows and 14 columns.</p>
|
||||
<p>An object of class <code>deprecated_amr_dataset</code> (inherits from <code>tbl_df</code>, <code>tbl</code>, <code>data.frame</code>) with 498 rows and 14 columns.</p>
|
||||
<p>An object of class <code>tbl_df</code> (inherits from <code>tbl</code>, <code>data.frame</code>) with 120 rows and 11 columns.</p>
|
||||
</div>
|
||||
<div class="section level2">
|
||||
@@ -145,7 +145,7 @@ The antibiotics data set has been renamed to antimicrobials. The old name will b
|
||||
<div class="section level2">
|
||||
<h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2>
|
||||
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="va">antimicrobials</span></span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># A tibble: 496 × 14</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># A tibble: 498 × 14</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> ab cid name group atc atc_group1 atc_group2 abbreviations synonyms</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494; font-style: italic;"><ab></span> <span style="color: #949494; font-style: italic;"><dbl></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><lis></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><list></span> <span style="color: #949494; font-style: italic;"><named ></span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;"> 1</span> AMA <span style="text-decoration: underline;">4</span>649 4-ami… Anti… <span style="color: #949494;"><chr></span> Drugs for… Aminosali… <span style="color: #949494;"><chr [1]></span> <span style="color: #949494;"><chr></span> </span>
|
||||
@@ -158,7 +158,7 @@ The antibiotics data set has been renamed to antimicrobials. The old name will b
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;"> 8</span> AMX <span style="text-decoration: underline;">33</span>613 Amoxi… Beta… <span style="color: #949494;"><chr></span> Beta-lact… Penicilli… <span style="color: #949494;"><chr [4]></span> <span style="color: #949494;"><chr></span> </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;"> 9</span> AMC 23<span style="text-decoration: underline;">665</span>637 Amoxi… Beta… <span style="color: #949494;"><chr></span> Beta-lact… Combinati… <span style="color: #949494;"><chr [6]></span> <span style="color: #949494;"><chr></span> </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">10</span> AXS <span style="text-decoration: underline;">465</span>441 Amoxi… Beta… <span style="color: #949494;"><chr></span> <span style="color: #BB0000;">NA</span> <span style="color: #BB0000;">NA</span> <span style="color: #949494;"><chr [1]></span> <span style="color: #949494;"><chr></span> </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># ℹ 486 more rows</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># ℹ 488 more rows</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># ℹ 5 more variables: oral_ddd <dbl>, oral_units <chr>, iv_ddd <dbl>,</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># iv_units <chr>, loinc <list></span></span>
|
||||
<span class="r-in"><span><span class="va">antivirals</span></span></span>
|
||||
|
||||
253
reference/antimicrobials.md
Normal file
253
reference/antimicrobials.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# Data Sets with 618 Antimicrobial Drugs
|
||||
|
||||
Two data sets containing all antimicrobials and antivirals. Use
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md) or one of the
|
||||
[`ab_*`](https://amr-for-r.org/reference/ab_property.md) functions to
|
||||
retrieve values from the antimicrobials data set. Three identifiers are
|
||||
included in this data set: an antimicrobial 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.
|
||||
Note that some drugs have multiple ATC codes.
|
||||
|
||||
**The `antibiotics` data set has been renamed to `antimicrobials`. The
|
||||
old name will be removed in a future version.**
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
antimicrobials
|
||||
|
||||
antibiotics
|
||||
|
||||
antivirals
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
### For the antimicrobials data set: a [tibble](https://tibble.tidyverse.org/reference/tibble.html) with 498 observations and 14 variables:
|
||||
|
||||
- `ab`
|
||||
antimicrobial ID as used in this package (such as `AMC`), using the
|
||||
official EARS-Net (European Antimicrobial Resistance Surveillance
|
||||
Network) codes where available. ***This is a unique identifier.***
|
||||
|
||||
- `cid`
|
||||
Compound ID as found in PubChem. ***This is a unique identifier.***
|
||||
|
||||
- `name`
|
||||
Official name as used by WHONET/EARS-Net or the WHO. ***This is a
|
||||
unique identifier.***
|
||||
|
||||
- `group`
|
||||
A short and concise group name, based on WHONET and WHOCC definitions
|
||||
|
||||
- `atc`
|
||||
ATC codes (Anatomical Therapeutic Chemical) as defined by the WHOCC,
|
||||
like `J01CR02` (last updated May 4th, 2025):
|
||||
|
||||
- `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
|
||||
antimicrobial susceptibility testing (AST)
|
||||
|
||||
- `synonyms`
|
||||
Synonyms (often trade names) of a drug, as found in PubChem based on
|
||||
their compound ID
|
||||
|
||||
ATC properties (last updated May 4th, 2025):
|
||||
|
||||
- `oral_ddd`
|
||||
Defined Daily Dose (DDD), oral treatment, currently available for 180
|
||||
drugs
|
||||
|
||||
- `oral_units`
|
||||
Units of `oral_ddd`
|
||||
|
||||
- `iv_ddd`
|
||||
Defined Daily Dose (DDD), parenteral (intravenous) treatment,
|
||||
currently available for 153 drugs
|
||||
|
||||
- `iv_units`
|
||||
Units of `iv_ddd`
|
||||
|
||||
LOINC:
|
||||
|
||||
- `loinc`
|
||||
All codes associated with the name of the antimicrobial drug from
|
||||
Logical Observation Identifiers Names and Codes (LOINC), Version 2.76
|
||||
(18 September, 2023). Use
|
||||
[`ab_loinc()`](https://amr-for-r.org/reference/ab_property.md) to
|
||||
retrieve them quickly, see
|
||||
[`ab_property()`](https://amr-for-r.org/reference/ab_property.md).
|
||||
|
||||
### For the antivirals data set: a [tibble](https://tibble.tidyverse.org/reference/tibble.html) with 120 observations and 11 variables:
|
||||
|
||||
- `av`
|
||||
Antiviral ID as used in this package (such as `ACI`), using the
|
||||
official EARS-Net (European Antimicrobial Resistance Surveillance
|
||||
Network) codes where available. ***This is a unique identifier.***
|
||||
Combinations are codes that contain a `+` to indicate this, such as
|
||||
`ATA+COBI` for atazanavir/cobicistat.
|
||||
|
||||
- `name`
|
||||
Official name as used by WHONET/EARS-Net or the WHO. ***This is a
|
||||
unique identifier.***
|
||||
|
||||
- `atc`
|
||||
ATC codes (Anatomical Therapeutic Chemical) as defined by the WHOCC,
|
||||
see *Details*
|
||||
|
||||
- `cid`
|
||||
Compound ID as found in PubChem. ***This is a unique identifier.***
|
||||
|
||||
- `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`
|
||||
|
||||
- `loinc`
|
||||
All codes associated with the name of the antiviral drug from Logical
|
||||
Observation Identifiers Names and Codes (LOINC), Version 2.76 (18
|
||||
September, 2023). Use
|
||||
[`av_loinc()`](https://amr-for-r.org/reference/av_property.md) to
|
||||
retrieve them quickly, see
|
||||
[`av_property()`](https://amr-for-r.org/reference/av_property.md).
|
||||
|
||||
An object of class `deprecated_amr_dataset` (inherits from `tbl_df`,
|
||||
`tbl`, `data.frame`) with 498 rows and 14 columns.
|
||||
|
||||
An object of class `tbl_df` (inherits from `tbl`, `data.frame`) with 120
|
||||
rows and 11 columns.
|
||||
|
||||
## Source
|
||||
|
||||
- WHO Collaborating Centre for Drug Statistics Methodology, Guidelines
|
||||
for ATC classification and DDD assignment, Oslo Accessed from
|
||||
<https://atcddd.fhi.no/atc_ddd_index/> on May 4th, 2025.
|
||||
|
||||
- Logical Observation Identifiers Names and Codes (LOINC), Version 2.76
|
||||
(18 September, 2023). Accessed from <https://loinc.org> on October
|
||||
19th, 2023.
|
||||
|
||||
- European Commission Public Health PHARMACEUTICALS - COMMUNITY
|
||||
REGISTER:
|
||||
<https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm>
|
||||
|
||||
## 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`. Do note that ATC
|
||||
codes are not unique. For example, J01CR02 is officially the ATC code
|
||||
for "amoxicillin and beta-lactamase inhibitor". Consequently, these two
|
||||
items from the antimicrobials data set both return `"J01CR02"`:
|
||||
|
||||
ab_atc("amoxicillin/clavulanic acid")
|
||||
ab_atc("amoxicillin/sulbactam")
|
||||
|
||||
Synonyms (i.e. trade names) were derived from the PubChem Compound ID
|
||||
(column `cid`) and are consequently only available where a CID is
|
||||
available.
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## WHOCC
|
||||
|
||||
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://atcddd.fhi.no>) and the Pharmaceuticals Community Register of
|
||||
the European Commission
|
||||
(<https://ec.europa.eu/health/documents/community-register/html/reg_hum_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://atcddd.fhi.no/copyright_disclaimer/.>
|
||||
|
||||
## See also
|
||||
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md),
|
||||
[intrinsic_resistant](https://amr-for-r.org/reference/intrinsic_resistant.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
antimicrobials
|
||||
#> # A tibble: 498 × 14
|
||||
#> ab cid name group atc atc_group1 atc_group2 abbreviations synonyms
|
||||
#> <ab> <dbl> <chr> <chr> <lis> <chr> <chr> <list> <named >
|
||||
#> 1 AMA 4649 4-ami… Anti… <chr> Drugs for… Aminosali… <chr [1]> <chr>
|
||||
#> 2 ACM 6450012 Acety… Macr… <chr> NA NA <chr [1]> <chr>
|
||||
#> 3 ASP 49787020 Acety… Macr… <chr> NA NA <chr [1]> <chr>
|
||||
#> 4 ALS 8954 Aldes… Othe… <chr> Drugs for… Drugs for… <chr [1]> <chr>
|
||||
#> 5 AMK 37768 Amika… Amin… <chr> Aminoglyc… Other ami… <chr [6]> <chr>
|
||||
#> 6 AKF NA Amika… Amin… <chr> NA NA <chr [1]> <chr>
|
||||
#> 7 AMO 54260 Amoro… Anti… <chr> Antifunga… Other ant… <chr [1]> <chr>
|
||||
#> 8 AMX 33613 Amoxi… Beta… <chr> Beta-lact… Penicilli… <chr [4]> <chr>
|
||||
#> 9 AMC 23665637 Amoxi… Beta… <chr> Beta-lact… Combinati… <chr [6]> <chr>
|
||||
#> 10 AXS 465441 Amoxi… Beta… <chr> NA NA <chr [1]> <chr>
|
||||
#> # ℹ 488 more rows
|
||||
#> # ℹ 5 more variables: oral_ddd <dbl>, oral_units <chr>, iv_ddd <dbl>,
|
||||
#> # iv_units <chr>, loinc <list>
|
||||
antivirals
|
||||
#> # A tibble: 120 × 11
|
||||
#> av name atc cid atc_group synonyms oral_ddd oral_units iv_ddd
|
||||
#> <av> <chr> <chr> <dbl> <chr> <list> <dbl> <chr> <dbl>
|
||||
#> 1 ABA Abacavir J05A… 4.41e5 Nucleosi… <chr> 0.6 g NA
|
||||
#> 2 ACI Aciclovir J05A… 1.35e8 Nucleosi… <chr> 4 g 4
|
||||
#> 3 ADD Adefovir… J05A… 6.09e4 Nucleosi… <chr> 10 mg NA
|
||||
#> 4 AME Amenamev… J05A… 1.14e7 Other an… <chr> 0.4 g NA
|
||||
#> 5 AMP Amprenav… J05A… 6.50e4 Protease… <chr> 1.2 g NA
|
||||
#> 6 ASU Asunapre… J05A… 1.61e7 Antivira… <chr> 0.2 g NA
|
||||
#> 7 ATA Atazanav… J05A… 1.48e5 Protease… <chr> 0.3 g NA
|
||||
#> 8 ATA+COBI Atazanav… J05A… 8.66e7 Antivira… <chr> NA NA NA
|
||||
#> 9 ATA+RIT Atazanav… J05A… 2.51e7 Antivira… <chr> 0.3 g NA
|
||||
#> 10 BAM Baloxavi… J05A… 1.24e8 Other an… <chr> 40 mg NA
|
||||
#> # ℹ 110 more rows
|
||||
#> # ℹ 2 more variables: iv_units <chr>, loinc <list>
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
222
reference/as.ab.md
Normal file
222
reference/as.ab.md
Normal file
@@ -0,0 +1,222 @@
|
||||
# Transform Input to an Antibiotic ID
|
||||
|
||||
Use this function to determine the antimicrobial drug code of one or
|
||||
more antimicrobials. The data set
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md) will
|
||||
be searched for abbreviations, official names and synonyms (brand
|
||||
names).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
as.ab(x, flag_multiple_results = TRUE, language = get_AMR_locale(),
|
||||
info = interactive(), ...)
|
||||
|
||||
is.ab(x)
|
||||
|
||||
ab_reset_session()
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) vector to
|
||||
determine to antibiotic ID.
|
||||
|
||||
- flag_multiple_results:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
note should be printed to the console that probably more than one
|
||||
antibiotic drug code or name can be retrieved from a single input
|
||||
value.
|
||||
|
||||
- language:
|
||||
|
||||
Language to coerce input values from any of the 28 supported
|
||||
languages - default to the system language if supported (see
|
||||
[`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md)).
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
progress bar should be printed - the default is `TRUE` only in
|
||||
interactive mode.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to internal functions.
|
||||
|
||||
## Value
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html)
|
||||
[vector](https://rdrr.io/r/base/vector.html) with additional class `ab`
|
||||
|
||||
## Details
|
||||
|
||||
All entries in the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md) 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. Not that some drugs contain
|
||||
multiple ATC codes.
|
||||
|
||||
All these properties will be searched for the user input. The `as.ab()`
|
||||
can correct for different forms of misspelling:
|
||||
|
||||
- Wrong spelling of drug names (such as "tobramicin" or "gentamycin"),
|
||||
which corrects for most audible similarities such as f/ph, x/ks,
|
||||
c/z/s, t/th, etc.
|
||||
|
||||
- Too few or too many vowels or consonants
|
||||
|
||||
- Switching two characters (such as "mreopenem", often the case in
|
||||
clinical data, when doctors typed too fast)
|
||||
|
||||
- Digitalised paper records, leaving artefacts like 0/o/O (zero and
|
||||
O's), B/8, n/r, etc.
|
||||
|
||||
Use the [`ab_*`](https://amr-for-r.org/reference/ab_property.md)
|
||||
functions to get properties based on the returned antibiotic ID, see
|
||||
*Examples*.
|
||||
|
||||
Note: the `as.ab()` and
|
||||
[`ab_*`](https://amr-for-r.org/reference/ab_property.md) functions may
|
||||
use very long regular expression to match brand names of antimicrobial
|
||||
drugs. This may fail on some systems.
|
||||
|
||||
You can add your own manual codes to be considered by `as.ab()` and all
|
||||
[`ab_*`](https://amr-for-r.org/reference/ab_property.md) functions, see
|
||||
[`add_custom_antimicrobials()`](https://amr-for-r.org/reference/add_custom_antimicrobials.md).
|
||||
|
||||
## Source
|
||||
|
||||
World Health Organization (WHO) Collaborating Centre for Drug Statistics
|
||||
Methodology: <https://atcddd.fhi.no/atc_ddd_index/>
|
||||
|
||||
European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER:
|
||||
<https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm>
|
||||
|
||||
## WHOCC
|
||||
|
||||
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://atcddd.fhi.no>) and the Pharmaceuticals Community Register of
|
||||
the European Commission
|
||||
(<https://ec.europa.eu/health/documents/community-register/html/reg_hum_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://atcddd.fhi.no/copyright_disclaimer/.>
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
- [antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
for the [data.frame](https://rdrr.io/r/base/data.frame.html) that is
|
||||
being used to determine ATCs
|
||||
|
||||
- [`ab_from_text()`](https://amr-for-r.org/reference/ab_from_text.md)
|
||||
for a function to retrieve antimicrobial drugs from clinical text
|
||||
(from health care records)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# these examples all return "ERY", the ID of erythromycin:
|
||||
as.ab("J01FA01")
|
||||
#> Class 'ab'
|
||||
#> [1] ERY
|
||||
as.ab("J 01 FA 01")
|
||||
#> Class 'ab'
|
||||
#> [1] ERY
|
||||
as.ab("Erythromycin")
|
||||
#> Class 'ab'
|
||||
#> [1] ERY
|
||||
as.ab("eryt")
|
||||
#> Class 'ab'
|
||||
#> [1] ERY
|
||||
as.ab("ERYT")
|
||||
#> Class 'ab'
|
||||
#> [1] ERY
|
||||
as.ab("ERY")
|
||||
#> Class 'ab'
|
||||
#> [1] ERY
|
||||
as.ab("eritromicine") # spelled wrong, yet works
|
||||
#> Class 'ab'
|
||||
#> [1] ERY
|
||||
as.ab("Erythrocin") # trade name
|
||||
#> Class 'ab'
|
||||
#> [1] ERY
|
||||
|
||||
# spelling from different languages and dyslexia are no problem
|
||||
ab_atc("ceftriaxon")
|
||||
#> [1] "J01DD04" "QJ01DD04"
|
||||
ab_atc("cephtriaxone") # small spelling error
|
||||
#> [1] "J01DD04" "QJ01DD04"
|
||||
ab_atc("cephthriaxone") # or a bit more severe
|
||||
#> [1] "J01DD04" "QJ01DD04"
|
||||
ab_atc("seephthriaaksone") # and even this works
|
||||
#> [1] "J01DD04" "QJ01DD04"
|
||||
|
||||
# use ab_* functions to get a specific properties (see ?ab_property);
|
||||
# they use as.ab() internally:
|
||||
ab_name("J01FA01")
|
||||
#> [1] "Erythromycin"
|
||||
ab_name("eryt")
|
||||
#> [1] "Erythromycin"
|
||||
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
# you can quickly rename 'sir' columns using set_ab_names() with dplyr:
|
||||
example_isolates %>%
|
||||
set_ab_names(where(is.sir), property = "atc")
|
||||
}
|
||||
#> # A tibble: 2,000 × 46
|
||||
#> date patient age gender ward mo J01CE01 J01CF04 J01CF05
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA
|
||||
#> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA
|
||||
#> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R
|
||||
#> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R
|
||||
#> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R
|
||||
#> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R
|
||||
#> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S
|
||||
#> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S
|
||||
#> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R
|
||||
#> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S
|
||||
#> # ℹ 1,990 more rows
|
||||
#> # ℹ 37 more variables: J01CA04 <sir>, J01CR02 <sir>, J01CA01 <sir>,
|
||||
#> # J01CR05 <sir>, J01DB04 <sir>, J01DE01 <sir>, J01DC02 <sir>, J01DC01 <sir>,
|
||||
#> # J01DD01 <sir>, J01DD02 <sir>, J01DD04 <sir>, J01GB03 <sir>, J01GB01 <sir>,
|
||||
#> # J01GB06 <sir>, J01GB04 <sir>, J01EA01 <sir>, J01EE01 <sir>, J01XE01 <sir>,
|
||||
#> # J01XX01 <sir>, J01XX08 <sir>, J01MA02 <sir>, J01MA14 <sir>, J01XA01 <sir>,
|
||||
#> # J01XA02 <sir>, J01AA07 <sir>, J01AA12 <sir>, J01AA02 <sir>, …
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
177
reference/as.av.md
Normal file
177
reference/as.av.md
Normal file
@@ -0,0 +1,177 @@
|
||||
# Transform Input to an Antiviral Drug ID
|
||||
|
||||
Use this function to determine the antiviral drug code of one or more
|
||||
antiviral drugs. The data set
|
||||
[antivirals](https://amr-for-r.org/reference/antimicrobials.md) will be
|
||||
searched for abbreviations, official names and synonyms (brand names).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
as.av(x, flag_multiple_results = TRUE, info = interactive(), ...)
|
||||
|
||||
is.av(x)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) vector to
|
||||
determine to antiviral drug ID.
|
||||
|
||||
- flag_multiple_results:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
note should be printed to the console that probably more than one
|
||||
antiviral drug code or name can be retrieved from a single input
|
||||
value.
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
progress bar should be printed - the default is `TRUE` only in
|
||||
interactive mode.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to internal functions.
|
||||
|
||||
## Value
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html)
|
||||
[vector](https://rdrr.io/r/base/vector.html) with additional class
|
||||
[`ab`](https://amr-for-r.org/reference/as.ab.md)
|
||||
|
||||
## Details
|
||||
|
||||
All entries in the
|
||||
[antivirals](https://amr-for-r.org/reference/antimicrobials.md) 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. Not that some drugs contain multiple ATC
|
||||
codes.
|
||||
|
||||
All these properties will be searched for the user input. The `as.av()`
|
||||
can correct for different forms of misspelling:
|
||||
|
||||
- Wrong spelling of drug names (such as "acyclovir"), which corrects for
|
||||
most audible similarities such as f/ph, x/ks, c/z/s, t/th, etc.
|
||||
|
||||
- Too few or too many vowels or consonants
|
||||
|
||||
- Switching two characters (such as "aycclovir", often the case in
|
||||
clinical data, when doctors typed too fast)
|
||||
|
||||
- Digitalised paper records, leaving artefacts like 0/o/O (zero and
|
||||
O's), B/8, n/r, etc.
|
||||
|
||||
Use the [`av_*`](https://amr-for-r.org/reference/av_property.md)
|
||||
functions to get properties based on the returned antiviral drug ID, see
|
||||
*Examples*.
|
||||
|
||||
Note: the `as.av()` and
|
||||
[`av_*`](https://amr-for-r.org/reference/av_property.md) functions may
|
||||
use very long regular expression to match brand names of antimicrobial
|
||||
drugs. This may fail on some systems.
|
||||
|
||||
## Source
|
||||
|
||||
World Health Organization (WHO) Collaborating Centre for Drug Statistics
|
||||
Methodology: <https://atcddd.fhi.no/atc_ddd_index/>
|
||||
|
||||
European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER:
|
||||
<https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm>
|
||||
|
||||
## WHOCC
|
||||
|
||||
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://atcddd.fhi.no>) and the Pharmaceuticals Community Register of
|
||||
the European Commission
|
||||
(<https://ec.europa.eu/health/documents/community-register/html/reg_hum_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://atcddd.fhi.no/copyright_disclaimer/.>
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
- [antivirals](https://amr-for-r.org/reference/antimicrobials.md) for
|
||||
the [data.frame](https://rdrr.io/r/base/data.frame.html) that is being
|
||||
used to determine ATCs
|
||||
|
||||
- [`av_from_text()`](https://amr-for-r.org/reference/av_from_text.md)
|
||||
for a function to retrieve antimicrobial drugs from clinical text
|
||||
(from health care records)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# these examples all return "ACI", the ID of aciclovir:
|
||||
as.av("J05AB01")
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
as.av("J 05 AB 01")
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
as.av("Aciclovir")
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
as.av("aciclo")
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
as.av(" aciclo 123")
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
as.av("ACICL")
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
as.av("ACI")
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
as.av("Virorax") # trade name
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
as.av("Zovirax") # trade name
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
|
||||
as.av("acyklofir") # severe spelling error, yet works
|
||||
#> Class 'av'
|
||||
#> [1] ACI
|
||||
|
||||
# use av_* functions to get a specific properties (see ?av_property);
|
||||
# they use as.av() internally:
|
||||
av_name("J05AB01")
|
||||
#> [1] "Aciclovir"
|
||||
av_name("acicl")
|
||||
#> [1] "Aciclovir"
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
96
reference/as.disk.md
Normal file
96
reference/as.disk.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# Transform Input to Disk Diffusion Diameters
|
||||
|
||||
This transforms a vector to a new class `disk`, which is a disk
|
||||
diffusion growth zone size (around an antibiotic disk) in millimetres
|
||||
between 0 and 50.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
as.disk(x, na.rm = FALSE)
|
||||
|
||||
NA_disk_
|
||||
|
||||
is.disk(x)
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
An object of class `disk` (inherits from `integer`) of length 1.
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
Vector.
|
||||
|
||||
- na.rm:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) indicating whether
|
||||
missing values should be removed.
|
||||
|
||||
## Value
|
||||
|
||||
An [integer](https://rdrr.io/r/base/integer.html) with additional class
|
||||
`disk`
|
||||
|
||||
## Details
|
||||
|
||||
Interpret disk values as SIR values with
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md). It supports
|
||||
guidelines from EUCAST and CLSI.
|
||||
|
||||
Disk diffusion growth zone sizes must be between 0 and 50 millimetres.
|
||||
Values higher than 50 but lower than 100 will be maximised to 50. All
|
||||
others input values outside the 0-50 range will return `NA`.
|
||||
|
||||
`NA_disk_` is a missing value of the new `disk` class.
|
||||
|
||||
## See also
|
||||
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# transform existing disk zones to the `disk` class (using base R)
|
||||
df <- data.frame(
|
||||
microorganism = "Escherichia coli",
|
||||
AMP = 20,
|
||||
CIP = 14,
|
||||
GEN = 18,
|
||||
TOB = 16
|
||||
)
|
||||
df[, 2:5] <- lapply(df[, 2:5], as.disk)
|
||||
str(df)
|
||||
#> 'data.frame': 1 obs. of 5 variables:
|
||||
#> $ microorganism: chr "Escherichia coli"
|
||||
#> $ AMP : 'disk' int 20
|
||||
#> $ CIP : 'disk' int 14
|
||||
#> $ GEN : 'disk' int 18
|
||||
#> $ TOB : 'disk' int 16
|
||||
|
||||
# \donttest{
|
||||
# transforming is easier with dplyr:
|
||||
if (require("dplyr")) {
|
||||
df %>% mutate(across(AMP:TOB, as.disk))
|
||||
}
|
||||
#> microorganism AMP CIP GEN TOB
|
||||
#> 1 Escherichia coli 20 14 18 16
|
||||
# }
|
||||
|
||||
# interpret disk values, see ?as.sir
|
||||
as.sir(
|
||||
x = as.disk(18),
|
||||
mo = "Strep pneu", # `mo` will be coerced with as.mo()
|
||||
ab = "ampicillin", # and `ab` with as.ab()
|
||||
guideline = "EUCAST"
|
||||
)
|
||||
#> Class 'sir'
|
||||
#> [1] R
|
||||
|
||||
# interpret whole data set, pretend to be all from urinary tract infections:
|
||||
as.sir(df, uti = TRUE)
|
||||
#> microorganism AMP CIP GEN TOB
|
||||
#> 1 Escherichia coli S <NA> S S
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
232
reference/as.mic.md
Normal file
232
reference/as.mic.md
Normal file
@@ -0,0 +1,232 @@
|
||||
# Transform Input to Minimum Inhibitory Concentrations (MIC)
|
||||
|
||||
This transforms vectors to a new class `mic`, which treats the input as
|
||||
decimal numbers, while maintaining operators (such as "\>=") and only
|
||||
allowing valid MIC values known to the field of (medical) microbiology.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
as.mic(x, na.rm = FALSE, keep_operators = "all")
|
||||
|
||||
is.mic(x)
|
||||
|
||||
NA_mic_
|
||||
|
||||
rescale_mic(x, mic_range, keep_operators = "edges", as.mic = TRUE)
|
||||
|
||||
mic_p50(x, na.rm = FALSE, ...)
|
||||
|
||||
mic_p90(x, na.rm = FALSE, ...)
|
||||
|
||||
# S3 method for class 'mic'
|
||||
droplevels(x, as.mic = FALSE, ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) or
|
||||
[numeric](https://rdrr.io/r/base/numeric.html) vector.
|
||||
|
||||
- na.rm:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) indicating whether
|
||||
missing values should be removed.
|
||||
|
||||
- keep_operators:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) specifying how to
|
||||
handle operators (such as `>` and `<=`) in the input. Accepts one of
|
||||
three values: `"all"` (or `TRUE`) to keep all operators, `"none"` (or
|
||||
`FALSE`) to remove all operators, or `"edges"` to keep operators only
|
||||
at both ends of the range.
|
||||
|
||||
- mic_range:
|
||||
|
||||
A manual range to rescale the MIC values, e.g.,
|
||||
`mic_range = c(0.001, 32)`. Use `NA` to prevent rescaling on one side,
|
||||
e.g., `mic_range = c(NA, 32)`.
|
||||
|
||||
- as.mic:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the `mic` class should be kept - the default is `TRUE` for
|
||||
`rescale_mic()` and `FALSE` for
|
||||
[`droplevels()`](https://rdatatable.gitlab.io/data.table/reference/fdroplevels.html).
|
||||
When setting this to `FALSE` in `rescale_mic()`, the output will have
|
||||
factor levels that acknowledge `mic_range`.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to methods.
|
||||
|
||||
## Value
|
||||
|
||||
Ordered [factor](https://rdrr.io/r/base/factor.html) with additional
|
||||
class `mic`, that in mathematical operations acts as a
|
||||
[numeric](https://rdrr.io/r/base/numeric.html) vector. Bear in mind that
|
||||
the outcome of any mathematical operation on MICs will return a
|
||||
[numeric](https://rdrr.io/r/base/numeric.html) value.
|
||||
|
||||
## Details
|
||||
|
||||
To interpret MIC values as SIR values, use
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md) on MIC values.
|
||||
It supports guidelines from EUCAST (2011-2025) and CLSI (2011-2025).
|
||||
|
||||
This class for MIC values is a quite a special data type: formally it is
|
||||
an ordered [factor](https://rdrr.io/r/base/factor.html) with valid MIC
|
||||
values as [factor](https://rdrr.io/r/base/factor.html) levels (to make
|
||||
sure only valid MIC values are retained), but for any mathematical
|
||||
operation it acts as decimal numbers:
|
||||
|
||||
x <- random_mic(10)
|
||||
x
|
||||
#> Class 'mic'
|
||||
#> [1] 16 1 8 8 64 >=128 0.0625 32 32 16
|
||||
|
||||
is.factor(x)
|
||||
#> [1] TRUE
|
||||
|
||||
x[1] * 2
|
||||
#> [1] 32
|
||||
|
||||
median(x)
|
||||
#> [1] 26
|
||||
|
||||
This makes it possible to maintain operators that often come with MIC
|
||||
values, such "\>=" and "\<=", even when filtering using
|
||||
[numeric](https://rdrr.io/r/base/numeric.html) values in data analysis,
|
||||
e.g.:
|
||||
|
||||
x[x > 4]
|
||||
#> Class 'mic'
|
||||
#> [1] 16 8 8 64 >=128 32 32 16
|
||||
|
||||
df <- data.frame(x, hospital = "A")
|
||||
subset(df, x > 4) # or with dplyr: df %>% filter(x > 4)
|
||||
#> x hospital
|
||||
#> 1 16 A
|
||||
#> 5 64 A
|
||||
#> 6 >=128 A
|
||||
#> 8 32 A
|
||||
#> 9 32 A
|
||||
#> 10 16 A
|
||||
|
||||
All so-called [group generic
|
||||
functions](https://rdrr.io/r/base/groupGeneric.html) are implemented for
|
||||
the MIC class (such as `!`, `!=`, `<`, `>=`,
|
||||
[`exp()`](https://rdrr.io/r/base/Log.html),
|
||||
[`log2()`](https://rdrr.io/r/base/Log.html)). Some mathematical
|
||||
functions are also implemented (such as
|
||||
[`quantile()`](https://rdrr.io/r/stats/quantile.html),
|
||||
[`median()`](https://rdrr.io/r/stats/median.html),
|
||||
[`fivenum()`](https://rdrr.io/r/stats/fivenum.html)). Since
|
||||
[`sd()`](https://rdrr.io/r/stats/sd.html) and
|
||||
[`var()`](https://rdrr.io/r/stats/cor.html) are non-generic functions,
|
||||
these could not be extended. Use
|
||||
[`mad()`](https://rdrr.io/r/stats/mad.html) as an alternative, or use
|
||||
e.g. `sd(as.numeric(x))` where `x` is your vector of MIC values.
|
||||
|
||||
Using [`as.double()`](https://rdrr.io/r/base/double.html) or
|
||||
[`as.numeric()`](https://rdrr.io/r/base/numeric.html) on MIC values will
|
||||
remove the operators and return a numeric vector. Do **not** use
|
||||
[`as.integer()`](https://rdrr.io/r/base/integer.html) on MIC values as
|
||||
by the R convention on [factor](https://rdrr.io/r/base/factor.html)s, it
|
||||
will return the index of the factor levels (which is often useless for
|
||||
regular users).
|
||||
|
||||
The function `is.mic()` detects if the input contains class `mic`. If
|
||||
the input is a [data.frame](https://rdrr.io/r/base/data.frame.html) or
|
||||
[list](https://rdrr.io/r/base/list.html), it iterates over all
|
||||
columns/items and returns a
|
||||
[logical](https://rdrr.io/r/base/logical.html) vector.
|
||||
|
||||
Use
|
||||
[`droplevels()`](https://rdatatable.gitlab.io/data.table/reference/fdroplevels.html)
|
||||
to drop unused levels. At default, it will return a plain factor. Use
|
||||
`droplevels(..., as.mic = TRUE)` to maintain the `mic` class.
|
||||
|
||||
With `rescale_mic()`, existing MIC ranges can be limited to a defined
|
||||
range of MIC values. This can be useful to better compare MIC
|
||||
distributions.
|
||||
|
||||
For `ggplot2`, use one of the
|
||||
[`scale_*_mic()`](https://amr-for-r.org/reference/plot.md) functions to
|
||||
plot MIC values. They allows custom MIC ranges and to plot intermediate
|
||||
log2 levels for missing MIC values.
|
||||
|
||||
`NA_mic_` is a missing value of the new `mic` class, analogous to e.g.
|
||||
base R's [`NA_character_`](https://rdrr.io/r/base/NA.html).
|
||||
|
||||
Use `mic_p50()` and `mic_p90()` to get the 50th and 90th percentile of
|
||||
MIC values. They return 'normal'
|
||||
[numeric](https://rdrr.io/r/base/numeric.html) values.
|
||||
|
||||
## See also
|
||||
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
mic_data <- as.mic(c(">=32", "1.0", "1", "1.00", 8, "<=0.128", "8", "16", "16"))
|
||||
mic_data
|
||||
#> Class 'mic'
|
||||
#> [1] >=32 1 1 1 8 <=0.128 8 16 16
|
||||
is.mic(mic_data)
|
||||
#> [1] TRUE
|
||||
|
||||
# this can also coerce combined MIC/SIR values:
|
||||
as.mic("<=0.002; S")
|
||||
#> Class 'mic'
|
||||
#> [1] <=0.002
|
||||
|
||||
# mathematical processing treats MICs as numeric values
|
||||
fivenum(mic_data)
|
||||
#> [1] 0.128 1.000 8.000 16.000 32.000
|
||||
quantile(mic_data)
|
||||
#> 0% 25% 50% 75% 100%
|
||||
#> 0.128 1.000 8.000 16.000 32.000
|
||||
all(mic_data < 512)
|
||||
#> [1] TRUE
|
||||
|
||||
# rescale MICs using rescale_mic()
|
||||
rescale_mic(mic_data, mic_range = c(4, 16))
|
||||
#> Class 'mic'
|
||||
#> [1] >=16 <=4 <=4 <=4 8 <=4 8 >=16 >=16
|
||||
|
||||
# interpret MIC values
|
||||
as.sir(
|
||||
x = as.mic(2),
|
||||
mo = as.mo("Streptococcus pneumoniae"),
|
||||
ab = "AMX",
|
||||
guideline = "EUCAST"
|
||||
)
|
||||
#> Class 'sir'
|
||||
#> [1] R
|
||||
as.sir(
|
||||
x = as.mic(c(0.01, 2, 4, 8)),
|
||||
mo = as.mo("Streptococcus pneumoniae"),
|
||||
ab = "AMX",
|
||||
guideline = "EUCAST"
|
||||
)
|
||||
#> Class 'sir'
|
||||
#> [1] S R R R
|
||||
|
||||
# plot MIC values, see ?plot
|
||||
plot(mic_data)
|
||||
|
||||
plot(mic_data, mo = "E. coli", ab = "cipro")
|
||||
|
||||
|
||||
if (require("ggplot2")) {
|
||||
autoplot(mic_data, mo = "E. coli", ab = "cipro")
|
||||
}
|
||||
|
||||
if (require("ggplot2")) {
|
||||
autoplot(mic_data, mo = "E. coli", ab = "cipro", language = "nl") # Dutch
|
||||
}
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
599
reference/as.mo.md
Normal file
599
reference/as.mo.md
Normal file
@@ -0,0 +1,599 @@
|
||||
# Transform Arbitrary Input to Valid Microbial Taxonomy
|
||||
|
||||
Use this function to get a valid microorganism code (`mo`) based on
|
||||
arbitrary user input. Determination is done using intelligent rules and
|
||||
the complete taxonomic tree of the kingdoms Animalia, Archaea, Bacteria,
|
||||
Chromista, and Protozoa, 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 (such as
|
||||
`"S. aureus"`), an abbreviation known in the field (such as `"MRSA"`),
|
||||
or just a genus. See *Examples*.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
as.mo(x, Becker = FALSE, Lancefield = FALSE,
|
||||
minimum_matching_score = NULL,
|
||||
keep_synonyms = getOption("AMR_keep_synonyms", FALSE),
|
||||
reference_df = get_mo_source(),
|
||||
ignore_pattern = getOption("AMR_ignore_pattern", NULL),
|
||||
cleaning_regex = getOption("AMR_cleaning_regex", mo_cleaning_regex()),
|
||||
only_fungi = getOption("AMR_only_fungi", FALSE),
|
||||
language = get_AMR_locale(), info = interactive(), ...)
|
||||
|
||||
is.mo(x)
|
||||
|
||||
mo_uncertainties()
|
||||
|
||||
mo_renamed()
|
||||
|
||||
mo_failures()
|
||||
|
||||
mo_reset_session()
|
||||
|
||||
mo_cleaning_regex()
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) vector or a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) with one or two
|
||||
columns.
|
||||
|
||||
- Becker:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) 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.*
|
||||
(see *Source*). Please see *Details* for a full list of staphylococcal
|
||||
species that will be converted.
|
||||
|
||||
This excludes *Staphylococcus aureus* at default, use `Becker = "all"`
|
||||
to also categorise *S. aureus* as "CoPS".
|
||||
|
||||
- Lancefield:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
beta-haemolytic *Streptococcus* should be categorised into Lancefield
|
||||
groups instead of their own species, according to Rebecca C.
|
||||
Lancefield (see *Source*). 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. .
|
||||
Please see *Details* for a full list of streptococcal species that
|
||||
will be converted.
|
||||
|
||||
This excludes enterococci at default (who are in group D), use
|
||||
`Lancefield = "all"` to also categorise all enterococci as group D.
|
||||
|
||||
- minimum_matching_score:
|
||||
|
||||
A numeric value to set as the lower limit for the [MO matching
|
||||
score](https://amr-for-r.org/reference/mo_matching_score.md). When
|
||||
left blank, this will be determined automatically based on the
|
||||
character length of `x`, its [taxonomic
|
||||
kingdom](https://amr-for-r.org/reference/microorganisms.md) and [human
|
||||
pathogenicity](https://amr-for-r.org/reference/mo_matching_score.md).
|
||||
|
||||
- keep_synonyms:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate if old,
|
||||
previously valid taxonomic names must be preserved and not be
|
||||
corrected to currently accepted names. The default is `FALSE`, which
|
||||
will return a note if old taxonomic names were processed. The default
|
||||
can be set with the package option
|
||||
[`AMR_keep_synonyms`](https://amr-for-r.org/reference/AMR-options.md),
|
||||
i.e. `options(AMR_keep_synonyms = TRUE)` or
|
||||
`options(AMR_keep_synonyms = FALSE)`.
|
||||
|
||||
- reference_df:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) to be used for
|
||||
extra reference when translating `x` to a valid `mo`. See
|
||||
[`set_mo_source()`](https://amr-for-r.org/reference/mo_source.md) and
|
||||
[`get_mo_source()`](https://amr-for-r.org/reference/mo_source.md) to
|
||||
automate the usage of your own codes (e.g. used in your analysis or
|
||||
organisation).
|
||||
|
||||
- ignore_pattern:
|
||||
|
||||
A Perl-compatible [regular
|
||||
expression](https://rdrr.io/r/base/regex.html) (case-insensitive) of
|
||||
which all matches in `x` must return `NA`. This can be convenient to
|
||||
exclude known non-relevant input and can also be set with the package
|
||||
option
|
||||
[`AMR_ignore_pattern`](https://amr-for-r.org/reference/AMR-options.md),
|
||||
e.g.
|
||||
`options(AMR_ignore_pattern = "(not reported|contaminated flora)")`.
|
||||
|
||||
- cleaning_regex:
|
||||
|
||||
A Perl-compatible [regular
|
||||
expression](https://rdrr.io/r/base/regex.html) (case-insensitive) to
|
||||
clean the input of `x`. Every matched part in `x` will be removed. At
|
||||
default, this is the outcome of `mo_cleaning_regex()`, which removes
|
||||
texts between brackets and texts such as "species" and "serovar". The
|
||||
default can be set with the package option
|
||||
[`AMR_cleaning_regex`](https://amr-for-r.org/reference/AMR-options.md).
|
||||
|
||||
- only_fungi:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate if only
|
||||
fungi must be found, making sure that e.g. misspellings always return
|
||||
records from the kingdom of Fungi. This can be set globally for [all
|
||||
microorganism
|
||||
functions](https://amr-for-r.org/reference/mo_property.md) with the
|
||||
package option
|
||||
[`AMR_only_fungi`](https://amr-for-r.org/reference/AMR-options.md),
|
||||
i.e. `options(AMR_only_fungi = TRUE)`.
|
||||
|
||||
- language:
|
||||
|
||||
Language to translate text like "no growth", which defaults to the
|
||||
system language (see
|
||||
[`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md)).
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate that info
|
||||
must be printed, e.g. a progress bar when more than 25 items are to be
|
||||
coerced, or a list with old taxonomic names. The default is `TRUE`
|
||||
only in interactive mode.
|
||||
|
||||
- ...:
|
||||
|
||||
Other arguments passed on to functions.
|
||||
|
||||
## Value
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html)
|
||||
[vector](https://rdrr.io/r/base/vector.html) with additional class `mo`
|
||||
|
||||
## Details
|
||||
|
||||
A microorganism (MO) code from this package (class: `mo`) is
|
||||
human-readable and typically looks like these examples:
|
||||
|
||||
Code Full name
|
||||
--------------- --------------------------------------
|
||||
B_KLBSL Klebsiella
|
||||
B_KLBSL_PNMN Klebsiella pneumoniae
|
||||
B_KLBSL_PNMN_RHNS Klebsiella pneumoniae rhinoscleromatis
|
||||
| | | |
|
||||
| | | |
|
||||
| | | \---> subspecies, a 3-5 letter acronym
|
||||
| | \----> species, a 3-6 letter acronym
|
||||
| \----> genus, a 4-8 letter acronym
|
||||
\----> kingdom: A (Archaea), AN (Animalia), B (Bacteria),
|
||||
C (Chromista), F (Fungi), PL (Plantae),
|
||||
P (Protozoa)
|
||||
|
||||
Values that cannot be coerced will be considered 'unknown' and will
|
||||
return the MO code `UNKNOWN` with a warning.
|
||||
|
||||
Use the [`mo_*`](https://amr-for-r.org/reference/mo_property.md)
|
||||
functions to get properties based on the returned code, see *Examples*.
|
||||
|
||||
The `as.mo()` function uses a novel and scientifically validated
|
||||
([doi:10.18637/jss.v104.i03](https://doi.org/10.18637/jss.v104.i03) )
|
||||
matching score algorithm (see *Matching Score for Microorganisms* below)
|
||||
to match input against the [available microbial
|
||||
taxonomy](https://amr-for-r.org/reference/microorganisms.md) in this
|
||||
package. This implicates that e.g. `"E. coli"` (a microorganism highly
|
||||
prevalent in humans) will return the microbial ID of *Escherichia coli*
|
||||
and not *Entamoeba coli* (a microorganism less prevalent in humans),
|
||||
although the latter would alphabetically come first.
|
||||
|
||||
### Coping with Uncertain Results
|
||||
|
||||
Results of non-exact taxonomic input are based on their [matching
|
||||
score](https://amr-for-r.org/reference/mo_matching_score.md). The lowest
|
||||
allowed score can be set with the `minimum_matching_score` argument. At
|
||||
default this will be determined based on the character length of the
|
||||
input, the [taxonomic
|
||||
kingdom](https://amr-for-r.org/reference/microorganisms.md), and the
|
||||
[human
|
||||
pathogenicity](https://amr-for-r.org/reference/mo_matching_score.md) of
|
||||
the taxonomic outcome. If values are matched with uncertainty, a message
|
||||
will be shown to suggest the user to inspect the results with
|
||||
`mo_uncertainties()`, which returns a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) with all
|
||||
specifications.
|
||||
|
||||
To increase the quality of matching, the `cleaning_regex` argument is
|
||||
used to clean the input. This must be a [regular
|
||||
expression](https://rdrr.io/r/base/regex.html) that matches parts of the
|
||||
input that should be removed before the input is matched against the
|
||||
[available microbial
|
||||
taxonomy](https://amr-for-r.org/reference/microorganisms.md). It will be
|
||||
matched Perl-compatible and case-insensitive. The default value of
|
||||
`cleaning_regex` is the outcome of the helper function
|
||||
`mo_cleaning_regex()`.
|
||||
|
||||
There are three helper functions that can be run after using the
|
||||
`as.mo()` function:
|
||||
|
||||
- Use `mo_uncertainties()` to get a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) that prints in a
|
||||
pretty format with all taxonomic names that were guessed. The output
|
||||
contains the matching score for all matches (see *Matching Score for
|
||||
Microorganisms* below).
|
||||
|
||||
- Use `mo_failures()` to get a
|
||||
[character](https://rdrr.io/r/base/character.html)
|
||||
[vector](https://rdrr.io/r/base/vector.html) with all values that
|
||||
could not be coerced to a valid value.
|
||||
|
||||
- Use `mo_renamed()` to get a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) with all values
|
||||
that could be coerced based on old, previously accepted taxonomic
|
||||
names.
|
||||
|
||||
### For Mycologists
|
||||
|
||||
The [matching score
|
||||
algorithm](https://amr-for-r.org/reference/mo_matching_score.md) gives
|
||||
precedence to bacteria over fungi. If you are only analysing fungi, be
|
||||
sure to use `only_fungi = TRUE`, or better yet, add this to your code
|
||||
and run it once every session:
|
||||
|
||||
options(AMR_only_fungi = TRUE)
|
||||
|
||||
This will make sure that no bacteria or other 'non-fungi' will be
|
||||
returned by `as.mo()`, or any of the
|
||||
[`mo_*`](https://amr-for-r.org/reference/mo_property.md) functions.
|
||||
|
||||
### Coagulase-negative and Coagulase-positive Staphylococci
|
||||
|
||||
With `Becker = TRUE`, the following staphylococci will be converted to
|
||||
their corresponding coagulase group:
|
||||
|
||||
- Coagulase-negative: *S. americanisciuri*, *S. argensis*, *S.
|
||||
arlettae*, *S. auricularis*, *S. borealis*, *S. brunensis*, *S.
|
||||
caeli*, *S. caledonicus*, *S. canis*, *S. capitis*, *S. capitis
|
||||
capitis*, *S. capitis urealyticus*, *S. capitis ureolyticus*, *S.
|
||||
caprae*, *S. carnosus*, *S. carnosus carnosus*, *S. carnosus utilis*,
|
||||
*S. casei*, *S. caseolyticus*, *S. chromogenes*, *S. cohnii*, *S.
|
||||
cohnii cohnii*, *S. cohnii urealyticum*, *S. cohnii urealyticus*, *S.
|
||||
condimenti*, *S. croceilyticus*, *S. debuckii*, *S. devriesei*, *S.
|
||||
durrellii*, *S. edaphicus*, *S. epidermidis*, *S. equorum*, *S.
|
||||
equorum equorum*, *S. equorum linens*, *S. felis*, *S. fleurettii*,
|
||||
*S. gallinarum*, *S. haemolyticus*, *S. hominis*, *S. hominis
|
||||
hominis*, *S. hominis novobiosepticus*, *S. jettensis*, *S. kloosii*,
|
||||
*S. lentus*, *S. lloydii*, *S. lugdunensis*, *S. marylandisciuri*, *S.
|
||||
massiliensis*, *S. microti*, *S. muscae*, *S. nepalensis*, *S.
|
||||
pasteuri*, *S. petrasii*, *S. petrasii croceilyticus*, *S. petrasii
|
||||
jettensis*, *S. petrasii petrasii*, *S. petrasii pragensis*, *S.
|
||||
pettenkoferi*, *S. piscifermentans*, *S. pragensis*, *S.
|
||||
pseudoxylosus*, *S. pulvereri*, *S. ratti*, *S. rostri*, *S.
|
||||
saccharolyticus*, *S. saprophyticus*, *S. saprophyticus bovis*, *S.
|
||||
saprophyticus saprophyticus*, *S. schleiferi*, *S. schleiferi
|
||||
schleiferi*, *S. sciuri*, *S. sciuri carnaticus*, *S. sciuri lentus*,
|
||||
*S. sciuri rodentium*, *S. sciuri sciuri*, *S. shinii*, *S. simulans*,
|
||||
*S. stepanovicii*, *S. succinus*, *S. succinus casei*, *S. succinus
|
||||
succinus*, *S. taiwanensis*, *S. urealyticus*, *S. ureilyticus*, *S.
|
||||
veratri*, *S. vitulinus*, *S. vitulus*, *S. warneri*, and *S. xylosus*
|
||||
|
||||
- Coagulase-positive: *S. agnetis*, *S. argenteus*, *S. coagulans*, *S.
|
||||
cornubiensis*, *S. delphini*, *S. hyicus*, *S. hyicus chromogenes*,
|
||||
*S. hyicus hyicus*, *S. intermedius*, *S. lutrae*, *S.
|
||||
pseudintermedius*, *S. roterodami*, *S. schleiferi coagulans*, *S.
|
||||
schweitzeri*, *S. simiae*, and *S. singaporensis*
|
||||
|
||||
This is based on:
|
||||
|
||||
- Becker K *et al.* (2014). **Coagulase-Negative Staphylococci.** *Clin
|
||||
Microbiol Rev.* 27(4): 870-926;
|
||||
[doi:10.1128/CMR.00109-13](https://doi.org/10.1128/CMR.00109-13)
|
||||
|
||||
- Becker K *et al.* (2019). **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).** *Clin
|
||||
Microbiol Infect*;
|
||||
[doi:10.1016/j.cmi.2019.02.028](https://doi.org/10.1016/j.cmi.2019.02.028)
|
||||
|
||||
- Becker K *et al.* (2020). **Emergence of coagulase-negative
|
||||
staphylococci.** *Expert Rev Anti Infect Ther.* 18(4):349-366;
|
||||
[doi:10.1080/14787210.2020.1730813](https://doi.org/10.1080/14787210.2020.1730813)
|
||||
|
||||
For newly named staphylococcal species, such as *S. brunensis* (2024)
|
||||
and *S. shinii* (2023), we looked up the scientific reference to make
|
||||
sure the species are considered for the correct coagulase group.
|
||||
|
||||
### Lancefield Groups in Streptococci
|
||||
|
||||
With `Lancefield = TRUE`, the following streptococci will be converted
|
||||
to their corresponding Lancefield group:
|
||||
|
||||
- Streptococcus Group A: *S. pyogenes*
|
||||
|
||||
- Streptococcus Group B: *S. agalactiae*
|
||||
|
||||
- Streptococcus Group C: *S. dysgalactiae*, *S. dysgalactiae
|
||||
dysgalactiae*, *S. dysgalactiae equisimilis*, *S. equi*, *S. equi
|
||||
equi*, *S. equi ruminatorum*, and *S. equi zooepidemicus*
|
||||
|
||||
- Streptococcus Group F: *S. anginosus*, *S. anginosus anginosus*, *S.
|
||||
anginosus whileyi*, *S. constellatus*, *S. constellatus constellatus*,
|
||||
*S. constellatus pharyngis*, *S. constellatus viborgensis*, and *S.
|
||||
intermedius*
|
||||
|
||||
- Streptococcus Group G: *S. canis*, *S. dysgalactiae*, *S. dysgalactiae
|
||||
dysgalactiae*, and *S. dysgalactiae equisimilis*
|
||||
|
||||
- Streptococcus Group H: *S. sanguinis*
|
||||
|
||||
- Streptococcus Group K: *S. salivarius*, *S. salivarius salivarius*,
|
||||
and *S. salivarius thermophilus*
|
||||
|
||||
- Streptococcus Group L: *S. dysgalactiae*, *S. dysgalactiae
|
||||
dysgalactiae*, and *S. dysgalactiae equisimilis*
|
||||
|
||||
This is based on:
|
||||
|
||||
- Lancefield RC (1933). **A serological differentiation of human and
|
||||
other groups of hemolytic streptococci.** *J Exp Med.* 57(4): 571-95;
|
||||
[doi:10.1084/jem.57.4.571](https://doi.org/10.1084/jem.57.4.571)
|
||||
|
||||
## Source
|
||||
|
||||
- Berends MS *et al.* (2022). **AMR: An R Package for Working with
|
||||
Antimicrobial Resistance Data**. *Journal of Statistical Software*,
|
||||
104(3), 1-31;
|
||||
[doi:10.18637/jss.v104.i03](https://doi.org/10.18637/jss.v104.i03)
|
||||
|
||||
- Parte, AC *et al.* (2020). **List of Prokaryotic names with Standing
|
||||
in Nomenclature (LPSN) moves to the DSMZ.** International Journal of
|
||||
Systematic and Evolutionary Microbiology, 70, 5607-5612;
|
||||
[doi:10.1099/ijsem.0.004332](https://doi.org/10.1099/ijsem.0.004332) .
|
||||
Accessed from <https://lpsn.dsmz.de> on June 24th, 2024.
|
||||
|
||||
- Vincent, R *et al* (2013). **MycoBank gearing up for new horizons.**
|
||||
IMA Fungus, 4(2), 371-9;
|
||||
[doi:10.5598/imafungus.2013.04.02.16](https://doi.org/10.5598/imafungus.2013.04.02.16)
|
||||
. Accessed from <https://www.mycobank.org> on June 24th, 2024.
|
||||
|
||||
- GBIF Secretariat (2023). GBIF Backbone Taxonomy. Checklist dataset
|
||||
[doi:10.15468/39omei](https://doi.org/10.15468/39omei) . Accessed from
|
||||
<https://www.gbif.org> on June 24th, 2024.
|
||||
|
||||
- Reimer, LC *et al.* (2022). ***BacDive* in 2022: the knowledge base
|
||||
for standardized bacterial and archaeal data.** Nucleic Acids Res.,
|
||||
50(D1):D741-D74;
|
||||
[doi:10.1093/nar/gkab961](https://doi.org/10.1093/nar/gkab961) .
|
||||
Accessed from <https://bacdive.dsmz.de> on July 16th, 2024.
|
||||
|
||||
- Public Health Information Network Vocabulary Access and Distribution
|
||||
System (PHIN VADS). US Edition of SNOMED CT from 1 September 2020.
|
||||
Value Set Name 'Microorganism', OID 2.16.840.1.114222.4.11.1009 (v12).
|
||||
URL: <https://www.cdc.gov/phin/php/phinvads/>
|
||||
|
||||
- Bartlett A *et al.* (2022). **A comprehensive list of bacterial
|
||||
pathogens infecting humans** *Microbiology* 168:001269;
|
||||
[doi:10.1099/mic.0.001269](https://doi.org/10.1099/mic.0.001269)
|
||||
|
||||
## Matching Score for Microorganisms
|
||||
|
||||
With ambiguous user input in `as.mo()` and all the
|
||||
[`mo_*`](https://amr-for-r.org/reference/mo_property.md) functions, the
|
||||
returned results are chosen based on their matching score using
|
||||
[`mo_matching_score()`](https://amr-for-r.org/reference/mo_matching_score.md).
|
||||
This matching score \\m\\, is calculated as:
|
||||
|
||||
\$\$m\_{(x, n)} = \frac{l\_{n} - 0.5 \cdot \min \begin{cases}l\_{n} \\
|
||||
\textrm{lev}(x, n)\end{cases}}{l\_{n} \cdot p\_{n} \cdot k\_{n}}\$\$
|
||||
|
||||
where:
|
||||
|
||||
- \\x\\ is the user input;
|
||||
|
||||
- \\n\\ is a taxonomic name (genus, species, and subspecies);
|
||||
|
||||
- \\l_n\\ is the length of \\n\\;
|
||||
|
||||
- \\lev\\ is the [Levenshtein distance
|
||||
function](https://en.wikipedia.org/wiki/Levenshtein_distance)
|
||||
(counting any insertion as 1, and any deletion or substitution as 2)
|
||||
that is needed to change \\x\\ into \\n\\;
|
||||
|
||||
- \\p_n\\ is the human pathogenic prevalence group of \\n\\, as
|
||||
described below;
|
||||
|
||||
- \\k_n\\ is the taxonomic kingdom of \\n\\, set as Bacteria = 1, Fungi
|
||||
= 1.25, Protozoa = 1.5, Chromista = 1.75, Archaea = 2, others = 3.
|
||||
|
||||
The grouping into human pathogenic prevalence \\p\\ is based on recent
|
||||
work from Bartlett *et al.* (2022,
|
||||
[doi:10.1099/mic.0.001269](https://doi.org/10.1099/mic.0.001269) ) who
|
||||
extensively studied medical-scientific literature to categorise all
|
||||
bacterial species into these groups:
|
||||
|
||||
- **Established**, if a taxonomic species has infected at least three
|
||||
persons in three or more references. These records have
|
||||
`prevalence = 1.15` in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set;
|
||||
|
||||
- **Putative**, if a taxonomic species has fewer than three known cases.
|
||||
These records have `prevalence = 1.25` in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set.
|
||||
|
||||
Furthermore,
|
||||
|
||||
- Genera from the World Health Organization's (WHO) Priority Pathogen
|
||||
List have `prevalence = 1.0` in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set;
|
||||
|
||||
- Any genus present in the **established** list also has
|
||||
`prevalence = 1.15` in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set;
|
||||
|
||||
- Any other genus present in the **putative** list has
|
||||
`prevalence = 1.25` in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set;
|
||||
|
||||
- Any other species or subspecies of which the genus is present in the
|
||||
two aforementioned groups, has `prevalence = 1.5` in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set;
|
||||
|
||||
- Any *non-bacterial* genus, species or subspecies of which the genus is
|
||||
present in the following list, has `prevalence = 1.25` in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set: *Absidia*, *Acanthamoeba*, *Acremonium*, *Actinomucor*,
|
||||
*Aedes*, *Alternaria*, *Amoeba*, *Ancylostoma*, *Angiostrongylus*,
|
||||
*Anisakis*, *Anopheles*, *Apophysomyces*, *Arthroderma*,
|
||||
*Aspergillus*, *Aureobasidium*, *Basidiobolus*, *Beauveria*,
|
||||
*Bipolaris*, *Blastobotrys*, *Blastocystis*, *Blastomyces*, *Candida*,
|
||||
*Capillaria*, *Chaetomium*, *Chilomastix*, *Chrysonilia*,
|
||||
*Chrysosporium*, *Cladophialophora*, *Cladosporium*, *Clavispora*,
|
||||
*Coccidioides*, *Cokeromyces*, *Conidiobolus*, *Coniochaeta*,
|
||||
*Contracaecum*, *Cordylobia*, *Cryptococcus*, *Cryptosporidium*,
|
||||
*Cunninghamella*, *Curvularia*, *Cyberlindnera*, *Debaryozyma*,
|
||||
*Demodex*, *Dermatobia*, *Dientamoeba*, *Diphyllobothrium*,
|
||||
*Dirofilaria*, *Echinostoma*, *Entamoeba*, *Enterobius*,
|
||||
*Epidermophyton*, *Exidia*, *Exophiala*, *Exserohilum*, *Fasciola*,
|
||||
*Fonsecaea*, *Fusarium*, *Geotrichum*, *Giardia*, *Graphium*,
|
||||
*Haloarcula*, *Halobacterium*, *Halococcus*, *Hansenula*,
|
||||
*Hendersonula*, *Heterophyes*, *Histomonas*, *Histoplasma*, *Hortaea*,
|
||||
*Hymenolepis*, *Hypomyces*, *Hysterothylacium*, *Kloeckera*,
|
||||
*Kluyveromyces*, *Kodamaea*, *Lacazia*, *Leishmania*, *Lichtheimia*,
|
||||
*Lodderomyces*, *Lomentospora*, *Madurella*, *Malassezia*,
|
||||
*Malbranchea*, *Metagonimus*, *Meyerozyma*, *Microsporidium*,
|
||||
*Microsporum*, *Millerozyma*, *Mortierella*, *Mucor*,
|
||||
*Mycocentrospora*, *Nannizzia*, *Necator*, *Nectria*, *Ochroconis*,
|
||||
*Oesophagostomum*, *Oidiodendron*, *Opisthorchis*, *Paecilomyces*,
|
||||
*Paracoccidioides*, *Pediculus*, *Penicillium*, *Phaeoacremonium*,
|
||||
*Phaeomoniella*, *Phialophora*, *Phlebotomus*, *Phoma*, *Pichia*,
|
||||
*Piedraia*, *Pithomyces*, *Pityrosporum*, *Pneumocystis*,
|
||||
*Pseudallescheria*, *Pseudoscopulariopsis*, *Pseudoterranova*,
|
||||
*Pulex*, *Purpureocillium*, *Quambalaria*, *Rhinocladiella*,
|
||||
*Rhizomucor*, *Rhizopus*, *Rhodotorula*, *Saccharomyces*, *Saksenaea*,
|
||||
*Saprochaete*, *Sarcoptes*, *Scedosporium*, *Schistosoma*,
|
||||
*Schizosaccharomyces*, *Scolecobasidium*, *Scopulariopsis*,
|
||||
*Scytalidium*, *Spirometra*, *Sporobolomyces*, *Sporopachydermia*,
|
||||
*Sporothrix*, *Sporotrichum*, *Stachybotrys*, *Strongyloides*,
|
||||
*Syncephalastrum*, *Syngamus*, *Taenia*, *Talaromyces*, *Teleomorph*,
|
||||
*Toxocara*, *Trichinella*, *Trichobilharzia*, *Trichoderma*,
|
||||
*Trichomonas*, *Trichophyton*, *Trichosporon*, *Trichostrongylus*,
|
||||
*Trichuris*, *Tritirachium*, *Trombicula*, *Trypanosoma*, *Tunga*,
|
||||
*Ulocladium*, *Ustilago*, *Verticillium*, *Wallemia*, *Wangiella*,
|
||||
*Wickerhamomyces*, *Wuchereria*, *Yarrowia*, or *Zygosaccharomyces*;
|
||||
|
||||
- All other records have `prevalence = 2.0` in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set.
|
||||
|
||||
When calculating the matching score, all characters in \\x\\ and \\n\\
|
||||
are ignored that are other than A-Z, a-z, 0-9, spaces and parentheses.
|
||||
|
||||
All matches are sorted descending on their matching score and for all
|
||||
user input values, the top match will be returned. This will lead to the
|
||||
effect that e.g., `"E. coli"` will return the microbial ID of
|
||||
*Escherichia coli* (\\m = 0.688\\, a highly prevalent microorganism
|
||||
found in humans) and not *Entamoeba coli* (\\m = 0.381\\, a less
|
||||
prevalent microorganism in humans), although the latter would
|
||||
alphabetically come first.
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md) for
|
||||
the [data.frame](https://rdrr.io/r/base/data.frame.html) that is being
|
||||
used to determine ID's.
|
||||
|
||||
The [`mo_*`](https://amr-for-r.org/reference/mo_property.md) functions
|
||||
(such as [`mo_genus()`](https://amr-for-r.org/reference/mo_property.md),
|
||||
[`mo_gramstain()`](https://amr-for-r.org/reference/mo_property.md)) to
|
||||
get properties based on the returned code.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# \donttest{
|
||||
# These examples all return "B_STPHY_AURS", the ID of S. aureus:
|
||||
as.mo(c(
|
||||
"sau", # WHONET code
|
||||
"stau",
|
||||
"STAU",
|
||||
"staaur",
|
||||
"S. aureus",
|
||||
"S aureus",
|
||||
"Sthafilokkockus aureus", # handles incorrect spelling
|
||||
"Staphylococcus aureus (MRSA)",
|
||||
"MRSA", # Methicillin Resistant S. aureus
|
||||
"VISA", # Vancomycin Intermediate S. aureus
|
||||
"VRSA", # Vancomycin Resistant S. aureus
|
||||
115329001 # SNOMED CT code
|
||||
))
|
||||
#> Class 'mo'
|
||||
#> [1] B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS
|
||||
#> [6] B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS B_STPHY_AURS
|
||||
#> [11] B_STPHY_AURS B_STPHY_AURS
|
||||
|
||||
# Dyslexia is no problem - these all work:
|
||||
as.mo(c(
|
||||
"Ureaplasma urealyticum",
|
||||
"Ureaplasma urealyticus",
|
||||
"Ureaplasmium urealytica",
|
||||
"Ureaplazma urealitycium"
|
||||
))
|
||||
#> Class 'mo'
|
||||
#> [1] B_URPLS_URLY B_URPLS_URLY B_URPLS_URLY B_URPLS_URLY
|
||||
|
||||
# input will get cleaned up with the input given in the `cleaning_regex` argument,
|
||||
# which defaults to `mo_cleaning_regex()`:
|
||||
cat(mo_cleaning_regex(), "\n")
|
||||
#> ([^A-Za-z- \(\)\[\]{}]+|([({]|\[).+([})]|\])|(^| )( ?[a-z-]+[-](resistant|susceptible) ?|e?spp([^a-z]+|$)|e?ssp([^a-z]+|$)|serogr.?up[a-z]*|e?ss([^a-z]+|$)|e?sp([^a-z]+|$)|var([^a-z]+|$)|serovar[a-z]*|sube?species|biovar[a-z]*|e?species|Ig[ADEGM]|e?subsp|biotype|titer|dummy))
|
||||
|
||||
as.mo("Streptococcus group A")
|
||||
#> Class 'mo'
|
||||
#> [1] B_STRPT_GRPA
|
||||
|
||||
as.mo("S. epidermidis") # will remain species: B_STPHY_EPDR
|
||||
#> Class 'mo'
|
||||
#> [1] B_STPHY_EPDR
|
||||
as.mo("S. epidermidis", Becker = TRUE) # will not remain species: B_STPHY_CONS
|
||||
#> Class 'mo'
|
||||
#> [1] B_STPHY_CONS
|
||||
|
||||
as.mo("S. pyogenes") # will remain species: B_STRPT_PYGN
|
||||
#> Class 'mo'
|
||||
#> [1] B_STRPT_PYGN
|
||||
as.mo("S. pyogenes", Lancefield = TRUE) # will not remain species: B_STRPT_GRPA
|
||||
#> Class 'mo'
|
||||
#> [1] B_STRPT_GRPA
|
||||
|
||||
# All mo_* functions use as.mo() internally too (see ?mo_property):
|
||||
mo_genus("E. coli")
|
||||
#> [1] "Escherichia"
|
||||
mo_gramstain("ESCO")
|
||||
#> [1] "Gram-negative"
|
||||
mo_is_intrinsic_resistant("ESCCOL", ab = "vanco")
|
||||
#> ℹ Determining intrinsic resistance based on 'EUCAST Expected Resistant
|
||||
#> Phenotypes' v1.2 (2023). This note will be shown once per session.
|
||||
#> [1] TRUE
|
||||
# }
|
||||
```
|
||||
@@ -9,7 +9,7 @@ Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI 2011-2025,
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -415,10 +415,10 @@ Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI 2011-2025,
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># A tibble: 4 × 18</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> datetime index method ab_given mo_given host_given input_given</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494; font-style: italic;"><dttm></span> <span style="color: #949494; font-style: italic;"><int></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><chr></span> <span style="color: #949494; font-style: italic;"><chr></span> </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">1</span> 2025-10-13 <span style="color: #949494;">20:19:03</span> 1 MIC amoxicillin Escherich… human 8 </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">2</span> 2025-10-13 <span style="color: #949494;">20:19:03</span> 1 MIC cipro Escherich… human 0.256 </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">3</span> 2025-10-13 <span style="color: #949494;">20:19:03</span> 1 DISK tobra Escherich… human 16 </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">4</span> 2025-10-13 <span style="color: #949494;">20:19:03</span> 1 DISK genta Escherich… human 18 </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">1</span> 2025-11-24 <span style="color: #949494;">10:38:56</span> 1 MIC amoxicillin Escherich… human 8 </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">2</span> 2025-11-24 <span style="color: #949494;">10:38:56</span> 1 MIC cipro Escherich… human 0.256 </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">3</span> 2025-11-24 <span style="color: #949494;">10:38:56</span> 1 DISK tobra Escherich… human 16 </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #BCBCBC;">4</span> 2025-11-24 <span style="color: #949494;">10:38:56</span> 1 DISK genta Escherich… human 18 </span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># ℹ 11 more variables: ab <ab>, mo <mo>, host <chr>, input <chr>,</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># outcome <sir>, notes <chr>, guideline <chr>, ref_table <chr>, uti <lgl>,</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #949494;"># breakpoint_S_R <chr>, site <chr></span></span>
|
||||
|
||||
916
reference/as.sir.md
Normal file
916
reference/as.sir.md
Normal file
@@ -0,0 +1,916 @@
|
||||
# Interpret MIC and Disk Diffusion as SIR, or Clean Existing SIR Data
|
||||
|
||||
Clean up existing SIR values, or interpret minimum inhibitory
|
||||
concentration (MIC) values and disk diffusion diameters according to
|
||||
EUCAST or CLSI. `as.sir()` transforms the input to a new class `sir`,
|
||||
which is an ordered [factor](https://rdrr.io/r/base/factor.html)
|
||||
containing the levels `S`, `SDD`, `I`, `R`, `NI`.
|
||||
|
||||
Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI
|
||||
2011-2025, see *Details*. All breakpoints used for interpretation are
|
||||
available in our
|
||||
[clinical_breakpoints](https://amr-for-r.org/reference/clinical_breakpoints.md)
|
||||
data set.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
as.sir(x, ...)
|
||||
|
||||
NA_sir_
|
||||
|
||||
is.sir(x)
|
||||
|
||||
is_sir_eligible(x, threshold = 0.05)
|
||||
|
||||
# Default S3 method
|
||||
as.sir(x, S = "^(S|U)+$", I = "^(I)+$", R = "^(R)+$",
|
||||
NI = "^(N|NI|V)+$", SDD = "^(SDD|D|H)+$", info = interactive(), ...)
|
||||
|
||||
# S3 method for class 'mic'
|
||||
as.sir(x, mo = NULL, ab = deparse(substitute(x)),
|
||||
guideline = getOption("AMR_guideline", "EUCAST"), uti = NULL,
|
||||
capped_mic_handling = getOption("AMR_capped_mic_handling", "standard"),
|
||||
add_intrinsic_resistance = FALSE,
|
||||
reference_data = AMR::clinical_breakpoints,
|
||||
substitute_missing_r_breakpoint = getOption("AMR_substitute_missing_r_breakpoint",
|
||||
FALSE), include_screening = getOption("AMR_include_screening", FALSE),
|
||||
include_PKPD = getOption("AMR_include_PKPD", TRUE),
|
||||
breakpoint_type = getOption("AMR_breakpoint_type", "human"), host = NULL,
|
||||
language = get_AMR_locale(), verbose = FALSE, info = interactive(),
|
||||
conserve_capped_values = NULL, ...)
|
||||
|
||||
# S3 method for class 'disk'
|
||||
as.sir(x, mo = NULL, ab = deparse(substitute(x)),
|
||||
guideline = getOption("AMR_guideline", "EUCAST"), uti = NULL,
|
||||
add_intrinsic_resistance = FALSE,
|
||||
reference_data = AMR::clinical_breakpoints,
|
||||
substitute_missing_r_breakpoint = getOption("AMR_substitute_missing_r_breakpoint",
|
||||
FALSE), include_screening = getOption("AMR_include_screening", FALSE),
|
||||
include_PKPD = getOption("AMR_include_PKPD", TRUE),
|
||||
breakpoint_type = getOption("AMR_breakpoint_type", "human"), host = NULL,
|
||||
language = get_AMR_locale(), verbose = FALSE, info = interactive(),
|
||||
...)
|
||||
|
||||
# S3 method for class 'data.frame'
|
||||
as.sir(x, ..., col_mo = NULL,
|
||||
guideline = getOption("AMR_guideline", "EUCAST"), uti = NULL,
|
||||
capped_mic_handling = getOption("AMR_capped_mic_handling", "standard"),
|
||||
add_intrinsic_resistance = FALSE,
|
||||
reference_data = AMR::clinical_breakpoints,
|
||||
substitute_missing_r_breakpoint = getOption("AMR_substitute_missing_r_breakpoint",
|
||||
FALSE), include_screening = getOption("AMR_include_screening", FALSE),
|
||||
include_PKPD = getOption("AMR_include_PKPD", TRUE),
|
||||
breakpoint_type = getOption("AMR_breakpoint_type", "human"), host = NULL,
|
||||
language = get_AMR_locale(), verbose = FALSE, info = interactive(),
|
||||
parallel = FALSE, max_cores = -1, conserve_capped_values = NULL)
|
||||
|
||||
sir_interpretation_history(clean = FALSE)
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
For interpretations of minimum inhibitory concentration (MIC) values and
|
||||
disk diffusion diameters:
|
||||
|
||||
- **CLSI M39: Analysis and Presentation of Cumulative Antimicrobial
|
||||
Susceptibility Test Data**, 2011-2025, *Clinical and Laboratory
|
||||
Standards Institute* (CLSI).
|
||||
<https://clsi.org/standards/products/microbiology/documents/m39/>.
|
||||
|
||||
- **CLSI M100: Performance Standard for Antimicrobial Susceptibility
|
||||
Testing**, 2011-2025, *Clinical and Laboratory Standards Institute*
|
||||
(CLSI).
|
||||
<https://clsi.org/standards/products/microbiology/documents/m100/>.
|
||||
|
||||
- **CLSI VET01: Performance Standards for Antimicrobial Disk and
|
||||
Dilution Susceptibility Tests for Bacteria Isolated From Animals**,
|
||||
2019-2025, *Clinical and Laboratory Standards Institute* (CLSI).
|
||||
<https://clsi.org/standards/products/veterinary-medicine/documents/vet01/>.
|
||||
|
||||
- **EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters**, 2011-2025, *European Committee on Antimicrobial
|
||||
Susceptibility Testing* (EUCAST).
|
||||
<https://www.eucast.org/clinical_breakpoints>.
|
||||
|
||||
- **WHONET** as a source for machine-reading the clinical breakpoints
|
||||
([read more
|
||||
here](https://amr-for-r.org/reference/clinical_breakpoints.html#imported-from-whonet)),
|
||||
1989-2025, *WHO Collaborating Centre for Surveillance of Antimicrobial
|
||||
Resistance*. <https://whonet.org/>.
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
Vector of values (for class
|
||||
[`mic`](https://amr-for-r.org/reference/as.mic.md): MIC values in
|
||||
mg/L, for class [`disk`](https://amr-for-r.org/reference/as.disk.md):
|
||||
a disk diffusion radius in millimetres).
|
||||
|
||||
- ...:
|
||||
|
||||
For using on a [data.frame](https://rdrr.io/r/base/data.frame.html):
|
||||
selection of columns to apply `as.sir()` to. Supports [tidyselect
|
||||
language](https://tidyselect.r-lib.org/reference/starts_with.html)
|
||||
such as `where(is.mic)`, `starts_with(...)`, or `column1:column4`, and
|
||||
can thus also be [antimicrobial
|
||||
selectors](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
such as `as.sir(df, penicillins())`.
|
||||
|
||||
Otherwise: arguments passed on to methods.
|
||||
|
||||
- threshold:
|
||||
|
||||
Maximum fraction of invalid antimicrobial interpretations of `x`, see
|
||||
*Examples*.
|
||||
|
||||
- S, I, R, NI, SDD:
|
||||
|
||||
A case-independent [regular
|
||||
expression](https://rdrr.io/r/base/regex.html) to translate input to
|
||||
this result. This regular expression will be run *after* all
|
||||
non-letters and whitespaces are removed from the input.
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to print information
|
||||
about the process, defaults to `TRUE` only in [interactive
|
||||
sessions](https://rdrr.io/r/base/interactive.html).
|
||||
|
||||
- mo:
|
||||
|
||||
A vector (or column name) with
|
||||
[character](https://rdrr.io/r/base/character.html)s that can be
|
||||
coerced to valid microorganism codes with
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md), can be left
|
||||
empty to determine it automatically.
|
||||
|
||||
- ab:
|
||||
|
||||
A vector (or column name) with
|
||||
[character](https://rdrr.io/r/base/character.html)s that can be
|
||||
coerced to a valid antimicrobial drug code with
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md).
|
||||
|
||||
- guideline:
|
||||
|
||||
A guideline name (or column name) to use for SIR interpretation.
|
||||
Defaults to EUCAST 2025 (the latest implemented EUCAST guideline in
|
||||
the
|
||||
[clinical_breakpoints](https://amr-for-r.org/reference/clinical_breakpoints.md)
|
||||
data set), but can be set with the package option
|
||||
[`AMR_guideline`](https://amr-for-r.org/reference/AMR-options.md).
|
||||
Currently supports EUCAST (2011-2025) and CLSI (2011-2025), see
|
||||
*Details*. Using a column name allows for straightforward
|
||||
interpretation of historical data, which must be analysed in the
|
||||
context of, for example, different years.
|
||||
|
||||
- uti:
|
||||
|
||||
(Urinary Tract Infection) a vector (or column name) with
|
||||
[logical](https://rdrr.io/r/base/logical.html)s (`TRUE` or `FALSE`) to
|
||||
specify whether a UTI specific interpretation from the guideline
|
||||
should be chosen. For using `as.sir()` on a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html), this can also be
|
||||
a column containing [logical](https://rdrr.io/r/base/logical.html)s or
|
||||
when left blank, the data set will be searched for a column
|
||||
'specimen', and rows within this column containing 'urin' (such as
|
||||
'urine', 'urina') will be regarded isolates from a UTI. See
|
||||
*Examples*.
|
||||
|
||||
- capped_mic_handling:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) string that
|
||||
controls how MIC values with a cap (i.e., starting with `<`, `<=`,
|
||||
`>`, or `>=`) are interpreted. Supports the following options:
|
||||
|
||||
`"none"`
|
||||
|
||||
- `<=` and `>=` are treated as-is.
|
||||
|
||||
- `<` and `>` are treated as-is.
|
||||
|
||||
`"conservative"`
|
||||
|
||||
- `<=` and `>=` return `"NI"` (non-interpretable) if the MIC is within
|
||||
the breakpoint guideline range.
|
||||
|
||||
- `<` always returns `"S"`, and `>` always returns `"R"`.
|
||||
|
||||
`"standard"` (default)
|
||||
|
||||
- `<=` and `>=` return `"NI"` (non-interpretable) if the MIC is within
|
||||
the breakpoint guideline range.
|
||||
|
||||
- `<` and `>` are treated as-is.
|
||||
|
||||
`"inverse"`
|
||||
|
||||
- `<=` and `>=` are treated as-is.
|
||||
|
||||
- `<` always returns `"S"`, and `>` always returns `"R"`.
|
||||
|
||||
The default `"standard"` setting ensures cautious handling of
|
||||
uncertain values while preserving interpretability. This option can
|
||||
also be set with the package option
|
||||
[`AMR_capped_mic_handling`](https://amr-for-r.org/reference/AMR-options.md).
|
||||
|
||||
- add_intrinsic_resistance:
|
||||
|
||||
*(only useful when using a EUCAST guideline)* a
|
||||
[logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
intrinsic antibiotic resistance must also be considered for applicable
|
||||
bug-drug combinations, meaning that e.g. ampicillin will always return
|
||||
"R" in *Klebsiella* species. Determination is based on the
|
||||
[intrinsic_resistant](https://amr-for-r.org/reference/intrinsic_resistant.md)
|
||||
data set, that itself is based on ['EUCAST Expert Rules' and 'EUCAST
|
||||
Intrinsic Resistance and Unusual Phenotypes'
|
||||
v3.3](https://www.eucast.org/expert_rules_and_expected_phenotypes)
|
||||
(2021).
|
||||
|
||||
- reference_data:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) to be used for
|
||||
interpretation, which defaults to the
|
||||
[clinical_breakpoints](https://amr-for-r.org/reference/clinical_breakpoints.md)
|
||||
data set. Changing this argument allows for using own interpretation
|
||||
guidelines. This argument must contain a data set that is equal in
|
||||
structure to the
|
||||
[clinical_breakpoints](https://amr-for-r.org/reference/clinical_breakpoints.md)
|
||||
data set (same column names and column types). Please note that the
|
||||
`guideline` argument will be ignored when `reference_data` is manually
|
||||
set.
|
||||
|
||||
- substitute_missing_r_breakpoint:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate that a
|
||||
missing clinical breakpoints for R (resistant) must be substituted
|
||||
with R - the default is `FALSE`. Some (especially CLSI) breakpoints
|
||||
only have a breakpoint for S, meaning that the outcome can only be
|
||||
`"S"` or `NA`. Setting this to `TRUE` will convert the `NA`s in these
|
||||
cases to `"R"`. Can also be set with the package option
|
||||
[`AMR_substitute_missing_r_breakpoint`](https://amr-for-r.org/reference/AMR-options.md).
|
||||
|
||||
- include_screening:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate that
|
||||
clinical breakpoints for screening are allowed - the default is
|
||||
`FALSE`. Can also be set with the package option
|
||||
[`AMR_include_screening`](https://amr-for-r.org/reference/AMR-options.md).
|
||||
|
||||
- include_PKPD:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate that
|
||||
PK/PD clinical breakpoints must be applied as a last resort - the
|
||||
default is `TRUE`. Can also be set with the package option
|
||||
[`AMR_include_PKPD`](https://amr-for-r.org/reference/AMR-options.md).
|
||||
|
||||
- breakpoint_type:
|
||||
|
||||
The type of breakpoints to use, either "ECOFF", "animal", or "human".
|
||||
ECOFF stands for Epidemiological Cut-Off values. The default is
|
||||
`"human"`, which can also be set with the package option
|
||||
[`AMR_breakpoint_type`](https://amr-for-r.org/reference/AMR-options.md).
|
||||
If `host` is set to values of veterinary species, this will
|
||||
automatically be set to `"animal"`.
|
||||
|
||||
- host:
|
||||
|
||||
A vector (or column name) with
|
||||
[character](https://rdrr.io/r/base/character.html)s to indicate the
|
||||
host. Only useful for veterinary breakpoints, as it requires
|
||||
`breakpoint_type = "animal"`. The values can be any text resembling
|
||||
the animal species, even in any of the 28 supported languages of this
|
||||
package. For foreign languages, be sure to set the language with
|
||||
[`set_AMR_locale()`](https://amr-for-r.org/reference/translate.md)
|
||||
(though it will be automatically guessed based on the system
|
||||
language).
|
||||
|
||||
- language:
|
||||
|
||||
Language to convert values set in `host` when using animal
|
||||
breakpoints. Use one of these supported language names or [ISO 639-1
|
||||
codes](https://en.wikipedia.org/wiki/ISO_639-1): English (en), Arabic
|
||||
(ar), Bengali (bn), Chinese (zh), Czech (cs), Danish (da), Dutch (nl),
|
||||
Finnish (fi), French (fr), German (de), Greek (el), Hindi (hi),
|
||||
Indonesian (id), Italian (it), Japanese (ja), Korean (ko), Norwegian
|
||||
(no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru),
|
||||
Spanish (es), Swahili (sw), Swedish (sv), Turkish (tr), Ukrainian
|
||||
(uk), Urdu (ur), or Vietnamese (vi).
|
||||
|
||||
- verbose:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate that all
|
||||
notes should be printed during interpretation of MIC values or disk
|
||||
diffusion values.
|
||||
|
||||
- conserve_capped_values:
|
||||
|
||||
Deprecated, use `capped_mic_handling` instead.
|
||||
|
||||
- col_mo:
|
||||
|
||||
Column name of the names or codes of the microorganisms (see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) - the default
|
||||
is the first column of class
|
||||
[`mo`](https://amr-for-r.org/reference/as.mo.md). Values will be
|
||||
coerced using [`as.mo()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- parallel:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate if
|
||||
parallel computing must be used, defaults to `FALSE`. This requires no
|
||||
additional packages, as the used `parallel` package is part of base R.
|
||||
On Windows and on R \< 4.0.0
|
||||
[`parallel::parLapply()`](https://rdrr.io/r/parallel/clusterApply.html)
|
||||
will be used, in all other cases the more efficient
|
||||
[`parallel::mclapply()`](https://rdrr.io/r/parallel/mclapply.html)
|
||||
will be used.
|
||||
|
||||
- max_cores:
|
||||
|
||||
Maximum number of cores to use if `parallel = TRUE`. Use a negative
|
||||
value to subtract that number from the available number of cores, e.g.
|
||||
a value of `-2` on an 8-core machine means that at most 6 cores will
|
||||
be used. Defaults to `-1`. There will never be used more cores than
|
||||
variables to analyse. The available number of cores are detected using
|
||||
[`parallelly::availableCores()`](https://parallelly.futureverse.org/reference/availableCores.html)
|
||||
if that package is installed, and base R's
|
||||
[`parallel::detectCores()`](https://rdrr.io/r/parallel/detectCores.html)
|
||||
otherwise.
|
||||
|
||||
- clean:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
previously stored results should be forgotten after returning the
|
||||
'logbook' with results.
|
||||
|
||||
## Value
|
||||
|
||||
Ordered [factor](https://rdrr.io/r/base/factor.html) with new class
|
||||
`sir`
|
||||
|
||||
## Details
|
||||
|
||||
*Note: The clinical breakpoints in this package were validated through,
|
||||
and imported from, [WHONET](https://whonet.org). The public use of this
|
||||
`AMR` package has been endorsed by both CLSI and EUCAST. See
|
||||
[clinical_breakpoints](https://amr-for-r.org/reference/clinical_breakpoints.md)
|
||||
for more information.*
|
||||
|
||||
### How it Works
|
||||
|
||||
The `as.sir()` function can work in four ways:
|
||||
|
||||
1. For **cleaning raw / untransformed data**. The data will be cleaned
|
||||
to only contain valid values, namely: **S** for susceptible, **I**
|
||||
for intermediate or 'susceptible, increased exposure', **R** for
|
||||
resistant, **NI** for non-interpretable, and **SDD** for susceptible
|
||||
dose-dependent. Each of these can be set using a [regular
|
||||
expression](https://rdrr.io/r/base/regex.html). Furthermore,
|
||||
`as.sir()` will try its best to clean with some intelligence. For
|
||||
example, mixed values with SIR interpretations and MIC values such
|
||||
as `"<0.25; S"` will be coerced to `"S"`. Combined interpretations
|
||||
for multiple test methods (as seen in laboratory records) such as
|
||||
`"S; S"` will be coerced to `"S"`, but a value like `"S; I"` will
|
||||
return `NA` with a warning that the input is invalid.
|
||||
|
||||
2. For **interpreting minimum inhibitory concentration (MIC) values**
|
||||
according to EUCAST or CLSI. You must clean your MIC values first
|
||||
using [`as.mic()`](https://amr-for-r.org/reference/as.mic.md), that
|
||||
also gives your columns the new data class
|
||||
[`mic`](https://amr-for-r.org/reference/as.mic.md). Also, be sure to
|
||||
have a column with microorganism names or codes. It will be found
|
||||
automatically, but can be set manually using the `mo` argument.
|
||||
|
||||
- Example to apply using `dplyr`:
|
||||
|
||||
your_data %>% mutate_if(is.mic, as.sir)
|
||||
your_data %>% mutate(across(where(is.mic), as.sir))
|
||||
your_data %>% mutate_if(is.mic, as.sir, ab = "column_with_antibiotics", mo = "column_with_microorganisms")
|
||||
your_data %>% mutate_if(is.mic, as.sir, ab = c("cipro", "ampicillin", ...), mo = c("E. coli", "K. pneumoniae", ...))
|
||||
|
||||
# for veterinary breakpoints, also set `host`:
|
||||
your_data %>% mutate_if(is.mic, as.sir, host = "column_with_animal_species", guideline = "CLSI")
|
||||
|
||||
# fast processing with parallel computing:
|
||||
as.sir(your_data, ..., parallel = TRUE)
|
||||
|
||||
- Operators like "\<=" will be stripped before interpretation. When
|
||||
using `capped_mic_handling = "conservative"`, an MIC value of e.g.
|
||||
"\>2" will always return "R", even if the breakpoint according to
|
||||
the chosen guideline is "\>=4". This is to prevent that capped
|
||||
values from raw laboratory data would not be treated
|
||||
conservatively. The default behaviour
|
||||
(`capped_mic_handling = "standard"`) considers "\>2" to be lower
|
||||
than "\>=4" and might in this case return "S" or "I".
|
||||
|
||||
- **Note:** When using CLSI as the guideline, MIC values must be
|
||||
log2-based doubling dilutions. Values not in this format, will be
|
||||
automatically rounded up to the nearest log2 level as CLSI
|
||||
instructs, and a warning will be thrown.
|
||||
|
||||
3. For **interpreting disk diffusion diameters** according to EUCAST or
|
||||
CLSI. You must clean your disk zones first using
|
||||
[`as.disk()`](https://amr-for-r.org/reference/as.disk.md), that also
|
||||
gives your columns the new data class
|
||||
[`disk`](https://amr-for-r.org/reference/as.disk.md). Also, be sure
|
||||
to have a column with microorganism names or codes. It will be found
|
||||
automatically, but can be set manually using the `mo` argument.
|
||||
|
||||
- Example to apply using `dplyr`:
|
||||
|
||||
your_data %>% mutate_if(is.disk, as.sir)
|
||||
your_data %>% mutate(across(where(is.disk), as.sir))
|
||||
your_data %>% mutate_if(is.disk, as.sir, ab = "column_with_antibiotics", mo = "column_with_microorganisms")
|
||||
your_data %>% mutate_if(is.disk, as.sir, ab = c("cipro", "ampicillin", ...), mo = c("E. coli", "K. pneumoniae", ...))
|
||||
|
||||
# for veterinary breakpoints, also set `host`:
|
||||
your_data %>% mutate_if(is.disk, as.sir, host = "column_with_animal_species", guideline = "CLSI")
|
||||
|
||||
# fast processing with parallel computing:
|
||||
as.sir(your_data, ..., parallel = TRUE)
|
||||
|
||||
4. For **interpreting a complete data set**, with automatic
|
||||
determination of MIC values, disk diffusion diameters, microorganism
|
||||
names or codes, and antimicrobial test results. This is done very
|
||||
simply by running `as.sir(your_data)`.
|
||||
|
||||
**For points 2, 3 and 4: Use `sir_interpretation_history()`** to
|
||||
retrieve a [data.frame](https://rdrr.io/r/base/data.frame.html) with all
|
||||
results of all previous `as.sir()` calls. It also contains notes about
|
||||
interpretation, and the exact input and output values.
|
||||
|
||||
### Supported Guidelines
|
||||
|
||||
For interpreting MIC values as well as disk diffusion diameters,
|
||||
currently implemented guidelines are:
|
||||
|
||||
- For **clinical microbiology**: EUCAST 2011-2025 and CLSI 2011-2025;
|
||||
|
||||
- For **veterinary microbiology**: EUCAST 2021-2025 and CLSI 2019-2025;
|
||||
|
||||
- For **ECOFFs** (Epidemiological Cut-off Values): EUCAST 2020-2025 and
|
||||
CLSI 2022-2025.
|
||||
|
||||
The `guideline` argument must be set to e.g., `"EUCAST 2025"` or
|
||||
`"CLSI 2025"`. By simply using `"EUCAST"` (the default) or `"CLSI"` as
|
||||
input, the latest included version of that guideline will automatically
|
||||
be selected. Importantly, using a column name of your data instead,
|
||||
allows for straightforward interpretation of historical data that must
|
||||
be analysed in the context of, for example, different years.
|
||||
|
||||
You can set your own data set using the `reference_data` argument. The
|
||||
`guideline` argument will then be ignored.
|
||||
|
||||
It is also possible to set the default guideline with the package option
|
||||
[`AMR_guideline`](https://amr-for-r.org/reference/AMR-options.md) (e.g.
|
||||
in your `.Rprofile` file), such as:
|
||||
|
||||
options(AMR_guideline = "CLSI")
|
||||
options(AMR_guideline = "CLSI 2018")
|
||||
options(AMR_guideline = "EUCAST 2020")
|
||||
# or to reset:
|
||||
options(AMR_guideline = NULL)
|
||||
|
||||
### Working with Veterinary Breakpoints
|
||||
|
||||
When using veterinary breakpoints (i.e., setting
|
||||
`breakpoint_type = "animal"`), a column with animal species must be
|
||||
available or set manually using the `host` argument. The column must
|
||||
contain names like "dogs", "cats", "cattle", "swine", "horses",
|
||||
"poultry", or "aquatic". Other animal names like "goats", "rabbits", or
|
||||
"monkeys" are also recognised but may not be available in all
|
||||
guidelines. Matching is case-insensitive and accepts Latin-based
|
||||
synonyms (e.g., "bovine" for cattle and "canine" for dogs).
|
||||
|
||||
Regarding choice of veterinary guidelines, these might be the best
|
||||
options to set before analysis:
|
||||
|
||||
options(AMR_guideline = "CLSI")
|
||||
options(AMR_breakpoint_type = "animal")
|
||||
|
||||
### After Interpretation
|
||||
|
||||
After using `as.sir()`, you can use the
|
||||
[`eucast_rules()`](https://amr-for-r.org/reference/eucast_rules.md)
|
||||
defined by EUCAST 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.
|
||||
|
||||
To determine which isolates are multi-drug resistant, be sure to run
|
||||
[`mdro()`](https://amr-for-r.org/reference/mdro.md) (which applies the
|
||||
MDR/PDR/XDR guideline from 2012 at default) on a data set that contains
|
||||
S/I/R values. Read more about [interpreting multidrug-resistant
|
||||
organisms here](https://amr-for-r.org/reference/mdro.md).
|
||||
|
||||
### Other
|
||||
|
||||
The function `is.sir()` detects if the input contains class `sir`. If
|
||||
the input is a [data.frame](https://rdrr.io/r/base/data.frame.html) or
|
||||
[list](https://rdrr.io/r/base/list.html), it iterates over all
|
||||
columns/items and returns a
|
||||
[logical](https://rdrr.io/r/base/logical.html) vector.
|
||||
|
||||
The base R function [`as.double()`](https://rdrr.io/r/base/double.html)
|
||||
can be used to retrieve quantitative values from a `sir` object: `"S"` =
|
||||
1, `"I"`/`"SDD"` = 2, `"R"` = 3. All other values are rendered `NA`.
|
||||
**Note:** Do not use
|
||||
[`as.integer()`](https://rdrr.io/r/base/integer.html), since that
|
||||
(because of how R works internally) will return the factor level
|
||||
indices, and not these aforementioned quantitative values.
|
||||
|
||||
The function `is_sir_eligible()` returns `TRUE` when a column contains
|
||||
at most 5% potentially invalid antimicrobial interpretations, and
|
||||
`FALSE` otherwise. The threshold of 5% can be set with the `threshold`
|
||||
argument. If the input is a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html), it iterates over
|
||||
all columns and returns a [logical](https://rdrr.io/r/base/logical.html)
|
||||
vector.
|
||||
|
||||
`NA_sir_` is a missing value of the new `sir` class, analogous to e.g.
|
||||
base R's [`NA_character_`](https://rdrr.io/r/base/NA.html).
|
||||
|
||||
## Interpretation of SIR
|
||||
|
||||
In 2019, the European Committee on Antimicrobial Susceptibility Testing
|
||||
(EUCAST) has decided to change the definitions of susceptibility testing
|
||||
categories S, I, and R (<https://www.eucast.org/newsiandr>).
|
||||
|
||||
This AMR package follows insight; use
|
||||
[`susceptibility()`](https://amr-for-r.org/reference/proportion.md)
|
||||
(equal to
|
||||
[`proportion_SI()`](https://amr-for-r.org/reference/proportion.md)) to
|
||||
determine antimicrobial susceptibility and
|
||||
[`count_susceptible()`](https://amr-for-r.org/reference/count.md) (equal
|
||||
to [`count_SI()`](https://amr-for-r.org/reference/count.md)) to count
|
||||
susceptible isolates.
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
[`as.mic()`](https://amr-for-r.org/reference/as.mic.md),
|
||||
[`as.disk()`](https://amr-for-r.org/reference/as.disk.md),
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
example_isolates
|
||||
#> # A tibble: 2,000 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA
|
||||
#> # ℹ 1,990 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
|
||||
summary(example_isolates[, 1:10]) # see all SIR results at a glance
|
||||
#> date patient age gender
|
||||
#> Min. :2002-01-02 Length:2000 Min. : 0.00 Length:2000
|
||||
#> 1st Qu.:2005-07-31 Class :character 1st Qu.:63.00 Class :character
|
||||
#> Median :2009-07-31 Mode :character Median :74.00 Mode :character
|
||||
#> Mean :2009-11-20 Mean :70.69
|
||||
#> 3rd Qu.:2014-05-30 3rd Qu.:82.00
|
||||
#> Max. :2017-12-28 Max. :97.00
|
||||
#> ward mo PEN
|
||||
#> Length:2000 Class :mo Class:sir
|
||||
#> Class :character <NA> :0 %S :25.6% (n=417)
|
||||
#> Mode :character Unique:90 %SDD : 0.0% (n=0)
|
||||
#> #1 :B_ESCHR_COLI %I : 0.7% (n=11)
|
||||
#> #2 :B_STPHY_CONS %R :73.7% (n=1201)
|
||||
#> #3 :B_STPHY_AURS %NI : 0.0% (n=0)
|
||||
#> OXA FLC AMX
|
||||
#> Class:sir Class:sir Class:sir
|
||||
#> %S :68.8% (n=251) %S :70.5% (n=665) %S :40.2% (n=543)
|
||||
#> %SDD : 0.0% (n=0) %SDD : 0.0% (n=0) %SDD : 0.0% (n=0)
|
||||
#> %I : 0.0% (n=0) %I : 0.0% (n=0) %I : 0.2% (n=3)
|
||||
#> %R :31.2% (n=114) %R :29.5% (n=278) %R :59.6% (n=804)
|
||||
#> %NI : 0.0% (n=0) %NI : 0.0% (n=0) %NI : 0.0% (n=0)
|
||||
|
||||
# create some example data sets, with combined MIC values and disk zones
|
||||
df_wide <- data.frame(
|
||||
microorganism = "Escherichia coli",
|
||||
amoxicillin = as.mic(8),
|
||||
cipro = as.mic(0.256),
|
||||
tobra = as.disk(16),
|
||||
genta = as.disk(18),
|
||||
ERY = "R"
|
||||
)
|
||||
df_long <- data.frame(
|
||||
bacteria = rep("Escherichia coli", 4),
|
||||
antibiotic = c("amoxicillin", "cipro", "tobra", "genta"),
|
||||
mics = as.mic(c(0.01, 1, 4, 8)),
|
||||
disks = as.disk(c(6, 10, 14, 18)),
|
||||
guideline = c("EUCAST 2021", "EUCAST 2022", "EUCAST 2023", "EUCAST 2024")
|
||||
)
|
||||
# and clean previous SIR interpretation logs
|
||||
x <- sir_interpretation_history(clean = TRUE)
|
||||
|
||||
|
||||
# For INTERPRETING disk diffusion and MIC values -----------------------
|
||||
|
||||
# most basic application:
|
||||
as.sir(df_wide)
|
||||
#> microorganism amoxicillin cipro tobra genta ERY
|
||||
#> 1 Escherichia coli S I S S R
|
||||
|
||||
# return a 'logbook' about the results:
|
||||
sir_interpretation_history()
|
||||
#> # A tibble: 4 × 18
|
||||
#> datetime index method ab_given mo_given host_given input_given
|
||||
#> <dttm> <int> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 2025-11-24 10:38:56 1 MIC amoxicillin Escherich… human 8
|
||||
#> 2 2025-11-24 10:38:56 1 MIC cipro Escherich… human 0.256
|
||||
#> 3 2025-11-24 10:38:56 1 DISK tobra Escherich… human 16
|
||||
#> 4 2025-11-24 10:38:56 1 DISK genta Escherich… human 18
|
||||
#> # ℹ 11 more variables: ab <ab>, mo <mo>, host <chr>, input <chr>,
|
||||
#> # outcome <sir>, notes <chr>, guideline <chr>, ref_table <chr>, uti <lgl>,
|
||||
#> # breakpoint_S_R <chr>, site <chr>
|
||||
|
||||
# \donttest{
|
||||
# using parallel computing, which is available in base R:
|
||||
as.sir(df_wide, parallel = TRUE, info = TRUE)
|
||||
#> ℹ Returning previously coerced values for various antimicrobials. Run
|
||||
#> `ab_reset_session()` to reset this. This note will be shown once per
|
||||
#> session.
|
||||
#>
|
||||
#> Running in parallel mode using 3 out of 4 cores, on columns 'amoxicillin',
|
||||
#> 'cipro', 'tobra', 'genta', and 'ERY'...
|
||||
#> DONE
|
||||
#>
|
||||
#>
|
||||
#> ℹ Run `sir_interpretation_history()` to retrieve a logbook with all details
|
||||
#> of the breakpoint interpretations.
|
||||
#> microorganism amoxicillin cipro tobra genta ERY
|
||||
#> 1 Escherichia coli S I S S R
|
||||
|
||||
|
||||
## Using dplyr -------------------------------------------------
|
||||
if (require("dplyr")) {
|
||||
# approaches that all work without additional arguments:
|
||||
df_wide %>% mutate_if(is.mic, as.sir)
|
||||
df_wide %>% mutate_if(function(x) is.mic(x) | is.disk(x), as.sir)
|
||||
df_wide %>% mutate(across(where(is.mic), as.sir))
|
||||
|
||||
df_wide %>% mutate_at(vars(amoxicillin:tobra), as.sir)
|
||||
df_wide %>% mutate(across(amoxicillin:tobra, as.sir))
|
||||
|
||||
df_wide %>% mutate(across(aminopenicillins(), as.sir))
|
||||
|
||||
# approaches that all work with additional arguments:
|
||||
df_long %>%
|
||||
# given a certain data type, e.g. MIC values
|
||||
mutate_if(is.mic, as.sir,
|
||||
mo = "bacteria",
|
||||
ab = "antibiotic",
|
||||
guideline = "guideline"
|
||||
)
|
||||
df_long %>%
|
||||
mutate(across(
|
||||
where(is.mic),
|
||||
function(x) {
|
||||
as.sir(x,
|
||||
mo = "bacteria",
|
||||
ab = "antibiotic",
|
||||
guideline = "CLSI"
|
||||
)
|
||||
}
|
||||
))
|
||||
df_wide %>%
|
||||
# given certain columns, e.g. from 'cipro' to 'genta'
|
||||
mutate_at(vars(cipro:genta), as.sir,
|
||||
mo = "bacteria",
|
||||
guideline = "CLSI"
|
||||
)
|
||||
df_wide %>%
|
||||
mutate(across(
|
||||
cipro:genta,
|
||||
function(x) {
|
||||
as.sir(x,
|
||||
mo = "bacteria",
|
||||
guideline = "CLSI"
|
||||
)
|
||||
}
|
||||
))
|
||||
|
||||
# for veterinary breakpoints, add 'host':
|
||||
df_long$animal_species <- c("cats", "dogs", "horses", "cattle")
|
||||
df_long %>%
|
||||
# given a certain data type, e.g. MIC values
|
||||
mutate_if(is.mic, as.sir,
|
||||
mo = "bacteria",
|
||||
ab = "antibiotic",
|
||||
host = "animal_species",
|
||||
guideline = "CLSI"
|
||||
)
|
||||
df_long %>%
|
||||
mutate(across(
|
||||
where(is.mic),
|
||||
function(x) {
|
||||
as.sir(x,
|
||||
mo = "bacteria",
|
||||
ab = "antibiotic",
|
||||
host = "animal_species",
|
||||
guideline = "CLSI"
|
||||
)
|
||||
}
|
||||
))
|
||||
df_wide %>%
|
||||
mutate_at(vars(cipro:genta), as.sir,
|
||||
mo = "bacteria",
|
||||
ab = "antibiotic",
|
||||
host = "animal_species",
|
||||
guideline = "CLSI"
|
||||
)
|
||||
df_wide %>%
|
||||
mutate(across(
|
||||
cipro:genta,
|
||||
function(x) {
|
||||
as.sir(x,
|
||||
mo = "bacteria",
|
||||
host = "animal_species",
|
||||
guideline = "CLSI"
|
||||
)
|
||||
}
|
||||
))
|
||||
|
||||
# to include information about urinary tract infections (UTI)
|
||||
data.frame(
|
||||
mo = "E. coli",
|
||||
nitrofuratoin = c("<= 2", 32),
|
||||
from_the_bladder = c(TRUE, FALSE)
|
||||
) %>%
|
||||
as.sir(uti = "from_the_bladder")
|
||||
|
||||
data.frame(
|
||||
mo = "E. coli",
|
||||
nitrofuratoin = c("<= 2", 32),
|
||||
specimen = c("urine", "blood")
|
||||
) %>%
|
||||
as.sir() # automatically determines urine isolates
|
||||
|
||||
df_wide %>%
|
||||
mutate_at(vars(cipro:genta), as.sir, mo = "E. coli", uti = TRUE)
|
||||
}
|
||||
#> ℹ For `aminopenicillins()` using column 'amoxicillin'
|
||||
#> Warning: There was 1 warning in `mutate()`.
|
||||
#> ℹ In argument: `across(...)`.
|
||||
#> Caused by warning:
|
||||
#> ! Some MICs were converted to the nearest higher log2 level, following the
|
||||
#> CLSI interpretation guideline.
|
||||
#> Warning: There was 1 warning in `mutate()`.
|
||||
#> ℹ In argument: `cipro = (function (x, ...) ...`.
|
||||
#> Caused by warning:
|
||||
#> ! Some MICs were converted to the nearest higher log2 level, following the
|
||||
#> CLSI interpretation guideline.
|
||||
#> Warning: There was 1 warning in `mutate()`.
|
||||
#> ℹ In argument: `across(...)`.
|
||||
#> Caused by warning:
|
||||
#> ! Some MICs were converted to the nearest higher log2 level, following the
|
||||
#> CLSI interpretation guideline.
|
||||
#> Warning: There was 1 warning in `mutate()`.
|
||||
#> ℹ In argument: `mics = (function (x, ...) ...`.
|
||||
#> Caused by warning:
|
||||
#> ! Some MICs were converted to the nearest higher log2 level, following the
|
||||
#> CLSI interpretation guideline.
|
||||
#> Warning: There was 1 warning in `mutate()`.
|
||||
#> ℹ In argument: `across(...)`.
|
||||
#> Caused by warning:
|
||||
#> ! Some MICs were converted to the nearest higher log2 level, following the
|
||||
#> CLSI interpretation guideline.
|
||||
#> Interpreting MIC values: 'antibiotic' (ASP, acetylspiramycin), CLSI 2025...
|
||||
#> Interpreting disk diffusion zones: 'antibiotic' (ASP, acetylspiramycin),
|
||||
#> CLSI 2025...
|
||||
#> Interpreting disk diffusion zones: 'antibiotic' (ASP, acetylspiramycin),
|
||||
#> CLSI 2025...
|
||||
#> Warning: There was 1 warning in `mutate()`.
|
||||
#> ℹ In argument: `cipro = (function (x, ...) ...`.
|
||||
#> Caused by warning:
|
||||
#> ! Some MICs were converted to the nearest higher log2 level, following the
|
||||
#> CLSI interpretation guideline.
|
||||
#> Warning: There was 1 warning in `mutate()`.
|
||||
#> ℹ In argument: `across(...)`.
|
||||
#> Caused by warning:
|
||||
#> ! Some MICs were converted to the nearest higher log2 level, following the
|
||||
#> CLSI interpretation guideline.
|
||||
#> microorganism amoxicillin cipro tobra genta ERY
|
||||
#> 1 Escherichia coli 8 <NA> S S R
|
||||
|
||||
|
||||
## Using base R ------------------------------------------------
|
||||
|
||||
|
||||
# for single values
|
||||
as.sir(
|
||||
x = as.mic(2),
|
||||
mo = as.mo("S. pneumoniae"),
|
||||
ab = "AMP",
|
||||
guideline = "EUCAST"
|
||||
)
|
||||
#> Class 'sir'
|
||||
#> [1] R
|
||||
|
||||
as.sir(
|
||||
x = as.disk(18),
|
||||
mo = "Strep pneu", # `mo` will be coerced with as.mo()
|
||||
ab = "ampicillin", # and `ab` with as.ab()
|
||||
guideline = "EUCAST"
|
||||
)
|
||||
#> Class 'sir'
|
||||
#> [1] R
|
||||
|
||||
|
||||
# For CLEANING existing SIR values -------------------------------------
|
||||
|
||||
as.sir(c("S", "SDD", "I", "R", "NI", "A", "B", "C"))
|
||||
#> Warning: in `as.sir()`: 3 results in index '20' truncated (38%) that were invalid
|
||||
#> antimicrobial interpretations: "A", "B", and "C"
|
||||
#> Class 'sir'
|
||||
#> [1] S SDD I R NI <NA> <NA> <NA>
|
||||
as.sir("<= 0.002; S") # will return "S"
|
||||
#> Class 'sir'
|
||||
#> [1] S
|
||||
sir_data <- as.sir(c(rep("S", 474), rep("I", 36), rep("R", 370)))
|
||||
is.sir(sir_data)
|
||||
#> [1] TRUE
|
||||
plot(sir_data) # for percentages
|
||||
|
||||
barplot(sir_data) # for frequencies
|
||||
|
||||
|
||||
# as common in R, you can use as.integer() to return factor indices:
|
||||
as.integer(as.sir(c("S", "SDD", "I", "R", "NI", NA)))
|
||||
#> [1] 1 2 3 4 5 NA
|
||||
|
||||
# but for computational use, as.double() will return 1 for S, 2 for I/SDD, and 3 for R:
|
||||
as.double(as.sir(c("S", "SDD", "I", "R", "NI", NA)))
|
||||
#> [1] 1 2 2 3 NA NA
|
||||
|
||||
# the dplyr way
|
||||
if (require("dplyr")) {
|
||||
example_isolates %>%
|
||||
mutate_at(vars(PEN:RIF), as.sir)
|
||||
# same:
|
||||
example_isolates %>%
|
||||
as.sir(PEN:RIF)
|
||||
|
||||
# fastest way to transform all columns with already valid AMR results to class `sir`:
|
||||
example_isolates %>%
|
||||
mutate_if(is_sir_eligible, as.sir)
|
||||
|
||||
# since dplyr 1.0.0, this can also be the more impractical:
|
||||
# example_isolates %>%
|
||||
# mutate(across(where(is_sir_eligible), as.sir))
|
||||
}
|
||||
#> # A tibble: 2,000 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA
|
||||
#> # ℹ 1,990 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
131
reference/atc_online.md
Normal file
131
reference/atc_online.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# Get ATC Properties from WHOCC Website
|
||||
|
||||
Gets data from the WHOCC website to determine properties of an
|
||||
Anatomical Therapeutic Chemical (ATC) (e.g. an antimicrobial), such as
|
||||
the name, defined daily dose (DDD) or standard unit.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
atc_online_property(atc_code, property, administration = "O",
|
||||
url = "https://atcddd.fhi.no/atc_ddd_index/?code=%s&showdescription=no",
|
||||
url_vet = "https://atcddd.fhi.no/atcvet/atcvet_index/?code=%s&showdescription=no")
|
||||
|
||||
atc_online_groups(atc_code, ...)
|
||||
|
||||
atc_online_ddd(atc_code, ...)
|
||||
|
||||
atc_online_ddd_units(atc_code, ...)
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
<https://atcddd.fhi.no/atc_ddd_alterations__cumulative/ddd_alterations/abbrevations/>
|
||||
|
||||
## Arguments
|
||||
|
||||
- atc_code:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) (vector) with ATC
|
||||
code(s) of antimicrobials, will be coerced with
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md) and
|
||||
[`ab_atc()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
internally if not a valid ATC code.
|
||||
|
||||
- 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*.
|
||||
|
||||
- administration:
|
||||
|
||||
Type of administration when using `property = "Adm.R"`, see *Details*.
|
||||
|
||||
- url:
|
||||
|
||||
URL of website of the WHOCC. The sign `%s` can be used as a
|
||||
placeholder for ATC codes.
|
||||
|
||||
- url_vet:
|
||||
|
||||
URL of website of the WHOCC for veterinary medicine. The sign `%s` can
|
||||
be used as a placeholder for ATC_vet codes (that all start with "Q").
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments to pass on to `atc_property`.
|
||||
|
||||
## Details
|
||||
|
||||
Options for argument `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 `property = "U"` (unit):
|
||||
|
||||
- `"g"` = gram
|
||||
|
||||
- `"mg"` = milligram
|
||||
|
||||
- `"mcg"` = microgram
|
||||
|
||||
- `"U"` = unit
|
||||
|
||||
- `"TU"` = thousand units
|
||||
|
||||
- `"MU"` = million units
|
||||
|
||||
- `"mmol"` = millimole
|
||||
|
||||
- `"ml"` = millilitre (e.g. eyedrops)
|
||||
|
||||
**N.B. This function requires an internet connection and only works if
|
||||
the following packages are installed: `curl`, `rvest`, `xml2`.**
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# \donttest{
|
||||
if (requireNamespace("curl") && requireNamespace("rvest") && requireNamespace("xml2")) {
|
||||
# oral DDD (Defined Daily Dose) of amoxicillin
|
||||
atc_online_property("J01CA04", "DDD", "O")
|
||||
atc_online_ddd(ab_atc("amox"))
|
||||
|
||||
# parenteral DDD (Defined Daily Dose) of amoxicillin
|
||||
atc_online_property("J01CA04", "DDD", "P")
|
||||
|
||||
atc_online_property("J01CA04", property = "groups") # search hierarchical groups of amoxicillin
|
||||
}
|
||||
#> Loading required namespace: rvest
|
||||
#> ℹ in `atc_online_property()`: no properties found for ATC QG51AA03. Please
|
||||
#> check
|
||||
#> https://atcddd.fhi.no/atcvet/atcvet_index/?code=QG51AA03&showdescription=no.
|
||||
#> ℹ in `atc_online_property()`: no properties found for ATC QJ01CA04. Please
|
||||
#> check
|
||||
#> https://atcddd.fhi.no/atcvet/atcvet_index/?code=QJ01CA04&showdescription=no.
|
||||
#> [1] "ANTIINFECTIVES FOR SYSTEMIC USE"
|
||||
#> [2] "ANTIBACTERIALS FOR SYSTEMIC USE"
|
||||
#> [3] "BETA-LACTAM ANTIBACTERIALS, PENICILLINS"
|
||||
#> [4] "Penicillins with extended spectrum"
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
130
reference/av_from_text.md
Normal file
130
reference/av_from_text.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# Retrieve Antiviral Drug Names and Doses from Clinical Text
|
||||
|
||||
Use this function on e.g. clinical texts from health care records. It
|
||||
returns a [list](https://rdrr.io/r/base/list.html) with all antiviral
|
||||
drugs, doses and forms of administration found in the texts.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
av_from_text(text, type = c("drug", "dose", "administration"),
|
||||
collapse = NULL, translate_av = FALSE, thorough_search = NULL,
|
||||
info = interactive(), ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- text:
|
||||
|
||||
Text to analyse.
|
||||
|
||||
- type:
|
||||
|
||||
Type of property to search for, either `"drug"`, `"dose"` or
|
||||
`"administration"`, see *Examples*.
|
||||
|
||||
- collapse:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) to pass on to
|
||||
`paste(, collapse = ...)` to only return one
|
||||
[character](https://rdrr.io/r/base/character.html) per element of
|
||||
`text`, see *Examples*.
|
||||
|
||||
- translate_av:
|
||||
|
||||
If `type = "drug"`: a column name of the
|
||||
[antivirals](https://amr-for-r.org/reference/antimicrobials.md) data
|
||||
set to translate the antibiotic abbreviations to, using
|
||||
[`av_property()`](https://amr-for-r.org/reference/av_property.md). The
|
||||
default is `FALSE`. Using `TRUE` is equal to using "name".
|
||||
|
||||
- thorough_search:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the input must be extensively searched for misspelling and other
|
||||
faulty input values. Setting this to `TRUE` will take considerably
|
||||
more time than when using `FALSE`. At default, it will turn `TRUE`
|
||||
when all input elements contain a maximum of three words.
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
progress bar should be printed - the default is `TRUE` only in
|
||||
interactive mode.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to
|
||||
[`as.av()`](https://amr-for-r.org/reference/as.av.md).
|
||||
|
||||
## Value
|
||||
|
||||
A [list](https://rdrr.io/r/base/list.html), or a
|
||||
[character](https://rdrr.io/r/base/character.html) if `collapse` is not
|
||||
`NULL`
|
||||
|
||||
## Details
|
||||
|
||||
This function is also internally used by
|
||||
[`as.av()`](https://amr-for-r.org/reference/as.av.md), although it then
|
||||
only searches for the first drug name and will throw a note if more drug
|
||||
names could have been returned. Note: the
|
||||
[`as.av()`](https://amr-for-r.org/reference/as.av.md) function may use
|
||||
very long regular expression to match brand names of antiviral drugs.
|
||||
This may fail on some systems.
|
||||
|
||||
### Argument `type`
|
||||
|
||||
At default, the function will search for antiviral drug names. All text
|
||||
elements will be searched for official names, ATC codes and brand names.
|
||||
As it uses [`as.av()`](https://amr-for-r.org/reference/as.av.md)
|
||||
internally, it will correct for misspelling.
|
||||
|
||||
With `type = "dose"` (or similar, like "dosing", "doses"), all text
|
||||
elements will be searched for
|
||||
[numeric](https://rdrr.io/r/base/numeric.html) values that are higher
|
||||
than 100 and do not resemble years. The output will be
|
||||
[numeric](https://rdrr.io/r/base/numeric.html). It supports any unit (g,
|
||||
mg, IE, etc.) and multiple values in one clinical text, see *Examples*.
|
||||
|
||||
With `type = "administration"` (or abbreviations, like "admin", "adm"),
|
||||
all text elements will be searched for a form of drug administration. It
|
||||
supports the following forms (including common abbreviations): buccal,
|
||||
implant, inhalation, instillation, intravenous, nasal, oral, parenteral,
|
||||
rectal, sublingual, transdermal and vaginal. Abbreviations for oral
|
||||
(such as 'po', 'per os') will become "oral", all values for intravenous
|
||||
(such as 'iv', 'intraven') will become "iv". It supports multiple values
|
||||
in one clinical text, see *Examples*.
|
||||
|
||||
### Argument `collapse`
|
||||
|
||||
Without using `collapse`, this function will return a
|
||||
[list](https://rdrr.io/r/base/list.html). This can be convenient to use
|
||||
e.g. inside a
|
||||
[`mutate()`](https://dplyr.tidyverse.org/reference/mutate.html)):
|
||||
`df %>% mutate(avx = av_from_text(clinical_text))`
|
||||
|
||||
The returned AV codes can be transformed to official names, groups, etc.
|
||||
with all [`av_*`](https://amr-for-r.org/reference/av_property.md)
|
||||
functions such as
|
||||
[`av_name()`](https://amr-for-r.org/reference/av_property.md) and
|
||||
[`av_group()`](https://amr-for-r.org/reference/av_property.md), or by
|
||||
using the `translate_av` argument.
|
||||
|
||||
With using `collapse`, this function will return a
|
||||
[character](https://rdrr.io/r/base/character.html):
|
||||
`df %>% mutate(avx = av_from_text(clinical_text, collapse = "|"))`
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
av_from_text("28/03/2020 valaciclovir po tid")
|
||||
#> [[1]]
|
||||
#> Class 'av'
|
||||
#> [1] VALA
|
||||
#>
|
||||
av_from_text("28/03/2020 valaciclovir po tid", type = "admin")
|
||||
#> [[1]]
|
||||
#> [1] "oral"
|
||||
#>
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
241
reference/av_property.md
Normal file
241
reference/av_property.md
Normal file
@@ -0,0 +1,241 @@
|
||||
# Get Properties of an Antiviral Drug
|
||||
|
||||
Use these functions to return a specific property of an antiviral drug
|
||||
from the [antivirals](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set. All input values will be evaluated internally with
|
||||
[`as.av()`](https://amr-for-r.org/reference/as.av.md).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
av_name(x, language = get_AMR_locale(), tolower = FALSE, ...)
|
||||
|
||||
av_cid(x, ...)
|
||||
|
||||
av_synonyms(x, ...)
|
||||
|
||||
av_tradenames(x, ...)
|
||||
|
||||
av_group(x, language = get_AMR_locale(), ...)
|
||||
|
||||
av_atc(x, ...)
|
||||
|
||||
av_loinc(x, ...)
|
||||
|
||||
av_ddd(x, administration = "oral", ...)
|
||||
|
||||
av_ddd_units(x, administration = "oral", ...)
|
||||
|
||||
av_info(x, language = get_AMR_locale(), ...)
|
||||
|
||||
av_url(x, open = FALSE, ...)
|
||||
|
||||
av_property(x, property = "name", language = get_AMR_locale(), ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
Any (vector of) text that can be coerced to a valid antiviral drug
|
||||
code with [`as.av()`](https://amr-for-r.org/reference/as.av.md).
|
||||
|
||||
- language:
|
||||
|
||||
Language of the returned text - the default is system language (see
|
||||
[`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md))
|
||||
and can also be set with the package option
|
||||
[`AMR_locale`](https://amr-for-r.org/reference/AMR-options.md). Use
|
||||
`language = NULL` or `language = ""` to prevent translation.
|
||||
|
||||
- tolower:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the first [character](https://rdrr.io/r/base/character.html) of every
|
||||
output should be transformed to a lower case
|
||||
[character](https://rdrr.io/r/base/character.html).
|
||||
|
||||
- ...:
|
||||
|
||||
Other arguments passed on to
|
||||
[`as.av()`](https://amr-for-r.org/reference/as.av.md).
|
||||
|
||||
- administration:
|
||||
|
||||
Way of administration, either `"oral"` or `"iv"`.
|
||||
|
||||
- open:
|
||||
|
||||
Browse the URL using
|
||||
[`utils::browseURL()`](https://rdrr.io/r/utils/browseURL.html).
|
||||
|
||||
- property:
|
||||
|
||||
One of the column names of one of the
|
||||
[antivirals](https://amr-for-r.org/reference/antimicrobials.md) data
|
||||
set: `vector_or(colnames(antivirals), sort = FALSE)`.
|
||||
|
||||
## Value
|
||||
|
||||
- An [integer](https://rdrr.io/r/base/integer.html) in case of
|
||||
`av_cid()`
|
||||
|
||||
- A named [list](https://rdrr.io/r/base/list.html) in case of
|
||||
`av_info()` and multiple `av_atc()`/`av_synonyms()`/`av_tradenames()`
|
||||
|
||||
- A [double](https://rdrr.io/r/base/double.html) in case of `av_ddd()`
|
||||
|
||||
- A [character](https://rdrr.io/r/base/character.html) in all other
|
||||
cases
|
||||
|
||||
## Details
|
||||
|
||||
All output [will be
|
||||
translated](https://amr-for-r.org/reference/translate.md) where
|
||||
possible.
|
||||
|
||||
The function `av_url()` will return the direct URL to the official WHO
|
||||
website. A warning will be returned if the required ATC code is not
|
||||
available.
|
||||
|
||||
## Source
|
||||
|
||||
World Health Organization (WHO) Collaborating Centre for Drug Statistics
|
||||
Methodology: <https://atcddd.fhi.no/atc_ddd_index/>
|
||||
|
||||
European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER:
|
||||
<https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm>
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
[antivirals](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# all properties:
|
||||
av_name("ACI")
|
||||
#> [1] "Aciclovir"
|
||||
av_atc("ACI")
|
||||
#> [1] "J05AB01"
|
||||
av_cid("ACI")
|
||||
#> [1] 135398513
|
||||
av_synonyms("ACI")
|
||||
#> [1] "acicloftal" "aciclovier" "aciclovirum"
|
||||
#> [4] "activir" "acyclofoam" "acycloguanosine"
|
||||
#> [7] "acyclovir" "acyclovir lauriad" "avaclyr"
|
||||
#> [10] "cargosil" "cyclovir" "genvir"
|
||||
#> [13] "gerpevir" "hascovir" "maynar"
|
||||
#> [16] "novirus" "poviral" "sitavig"
|
||||
#> [19] "sitavir" "vipral" "viropump"
|
||||
#> [22] "virorax" "zovirax" "zyclir"
|
||||
av_tradenames("ACI")
|
||||
#> [1] "acicloftal" "aciclovier" "aciclovirum"
|
||||
#> [4] "activir" "acyclofoam" "acycloguanosine"
|
||||
#> [7] "acyclovir" "acyclovir lauriad" "avaclyr"
|
||||
#> [10] "cargosil" "cyclovir" "genvir"
|
||||
#> [13] "gerpevir" "hascovir" "maynar"
|
||||
#> [16] "novirus" "poviral" "sitavig"
|
||||
#> [19] "sitavir" "vipral" "viropump"
|
||||
#> [22] "virorax" "zovirax" "zyclir"
|
||||
av_group("ACI")
|
||||
#> [1] "Nucleosides and nucleotides excl. reverse transcriptase inhibitors"
|
||||
av_url("ACI")
|
||||
#> Aciclovir
|
||||
#> "https://atcddd.fhi.no/atc_ddd_index/?code=J05AB01&showdescription=no"
|
||||
|
||||
# lowercase transformation
|
||||
av_name(x = c("ACI", "VALA"))
|
||||
#> [1] "Aciclovir" "Valaciclovir"
|
||||
av_name(x = c("ACI", "VALA"), tolower = TRUE)
|
||||
#> [1] "aciclovir" "valaciclovir"
|
||||
|
||||
# defined daily doses (DDD)
|
||||
av_ddd("ACI", "oral")
|
||||
#> [1] 4
|
||||
av_ddd_units("ACI", "oral")
|
||||
#> [1] "g"
|
||||
av_ddd("ACI", "iv")
|
||||
#> [1] 4
|
||||
av_ddd_units("ACI", "iv")
|
||||
#> [1] "g"
|
||||
|
||||
av_info("ACI") # all properties as a list
|
||||
#> $av
|
||||
#> [1] "ACI"
|
||||
#>
|
||||
#> $cid
|
||||
#> [1] 135398513
|
||||
#>
|
||||
#> $name
|
||||
#> [1] "Aciclovir"
|
||||
#>
|
||||
#> $group
|
||||
#> [1] "Nucleosides and nucleotides excl. reverse transcriptase inhibitors"
|
||||
#>
|
||||
#> $atc
|
||||
#> [1] "J05AB01"
|
||||
#>
|
||||
#> $tradenames
|
||||
#> [1] "acicloftal" "aciclovier" "aciclovirum"
|
||||
#> [4] "activir" "acyclofoam" "acycloguanosine"
|
||||
#> [7] "acyclovir" "acyclovir lauriad" "avaclyr"
|
||||
#> [10] "cargosil" "cyclovir" "genvir"
|
||||
#> [13] "gerpevir" "hascovir" "maynar"
|
||||
#> [16] "novirus" "poviral" "sitavig"
|
||||
#> [19] "sitavir" "vipral" "viropump"
|
||||
#> [22] "virorax" "zovirax" "zyclir"
|
||||
#>
|
||||
#> $loinc
|
||||
#> [1] ""
|
||||
#>
|
||||
#> $ddd
|
||||
#> $ddd$oral
|
||||
#> $ddd$oral$amount
|
||||
#> [1] 4
|
||||
#>
|
||||
#> $ddd$oral$units
|
||||
#> [1] "g"
|
||||
#>
|
||||
#>
|
||||
#> $ddd$iv
|
||||
#> $ddd$iv$amount
|
||||
#> [1] 4
|
||||
#>
|
||||
#> $ddd$iv$units
|
||||
#> [1] "g"
|
||||
#>
|
||||
#>
|
||||
#>
|
||||
|
||||
# all av_* functions use as.av() internally, so you can go from 'any' to 'any':
|
||||
av_atc("ACI")
|
||||
#> [1] "J05AB01"
|
||||
av_group("J05AB01")
|
||||
#> [1] "Nucleosides and nucleotides excl. reverse transcriptase inhibitors"
|
||||
av_loinc("abacavir")
|
||||
#> [1] "29113-8" "30273-7" "30287-7" "30303-2" "78772-1" "78773-9" "79134-3"
|
||||
#> [8] "80118-3"
|
||||
av_name("29113-8")
|
||||
#> [1] "Abacavir"
|
||||
av_name(135398513)
|
||||
#> [1] "Aciclovir"
|
||||
av_name("J05AB01")
|
||||
#> [1] "Aciclovir"
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
140
reference/availability.md
Normal file
140
reference/availability.md
Normal file
@@ -0,0 +1,140 @@
|
||||
# Check Availability of Columns
|
||||
|
||||
Easy check for data availability of all columns in a data set. This
|
||||
makes it easy to get an idea of which antimicrobial combinations can be
|
||||
used for calculation with e.g.
|
||||
[`susceptibility()`](https://amr-for-r.org/reference/proportion.md) and
|
||||
[`resistance()`](https://amr-for-r.org/reference/proportion.md).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
availability(tbl, width = NULL)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- tbl:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) or
|
||||
[list](https://rdrr.io/r/base/list.html).
|
||||
|
||||
- width:
|
||||
|
||||
Number of characters to present the visual availability - the default
|
||||
is filling the width of the console.
|
||||
|
||||
## Value
|
||||
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) with column names
|
||||
of `tbl` as row names
|
||||
|
||||
## Details
|
||||
|
||||
The function returns a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) with columns
|
||||
`"resistant"` and `"visual_resistance"`. The values in that columns are
|
||||
calculated with
|
||||
[`resistance()`](https://amr-for-r.org/reference/proportion.md).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
availability(example_isolates)
|
||||
#> count available visual_availabilty resistant visual_resistance
|
||||
#> date 2000 100.0% |####################|
|
||||
#> patient 2000 100.0% |####################|
|
||||
#> age 2000 100.0% |####################|
|
||||
#> gender 2000 100.0% |####################|
|
||||
#> ward 2000 100.0% |####################|
|
||||
#> mo 2000 100.0% |####################|
|
||||
#> PEN 1629 81.5% |################----| 73.7% |##############------|
|
||||
#> OXA 365 18.3% |###-----------------| 31.2% |######--------------|
|
||||
#> FLC 943 47.2% |#########-----------| 29.5% |#####---------------|
|
||||
#> AMX 1350 67.5% |#############-------| 59.6% |###########---------|
|
||||
#> AMC 1879 94.0% |##################--| 23.7% |####----------------|
|
||||
#> AMP 1350 67.5% |#############-------| 59.6% |###########---------|
|
||||
#> TZP 1001 50.0% |##########----------| 12.6% |##------------------|
|
||||
#> CZO 446 22.3% |####----------------| 44.6% |########------------|
|
||||
#> FEP 724 36.2% |#######-------------| 14.2% |##------------------|
|
||||
#> CXM 1789 89.5% |#################---| 26.3% |#####---------------|
|
||||
#> FOX 818 40.9% |########------------| 27.4% |#####---------------|
|
||||
#> CTX 943 47.2% |#########-----------| 15.5% |###-----------------|
|
||||
#> CAZ 1811 90.6% |##################--| 66.5% |#############-------|
|
||||
#> CRO 943 47.2% |#########-----------| 15.5% |###-----------------|
|
||||
#> GEN 1855 92.8% |##################--| 24.6% |####----------------|
|
||||
#> TOB 1351 67.6% |#############-------| 34.4% |######--------------|
|
||||
#> AMK 692 34.6% |######--------------| 63.7% |############--------|
|
||||
#> KAN 471 23.6% |####----------------| 100.0% |####################|
|
||||
#> TMP 1499 75.0% |###############-----| 38.1% |#######-------------|
|
||||
#> SXT 1759 88.0% |#################---| 20.5% |####----------------|
|
||||
#> NIT 743 37.2% |#######-------------| 17.1% |###-----------------|
|
||||
#> FOS 351 17.6% |###-----------------| 42.2% |########------------|
|
||||
#> LNZ 1023 51.2% |##########----------| 69.3% |#############-------|
|
||||
#> CIP 1409 70.5% |#############-------| 16.2% |###-----------------|
|
||||
#> MFX 211 10.6% |##------------------| 33.6% |######--------------|
|
||||
#> VAN 1861 93.1% |##################--| 38.3% |#######-------------|
|
||||
#> TEC 976 48.8% |#########-----------| 75.7% |###############-----|
|
||||
#> TCY 1200 60.0% |###########---------| 29.8% |#####---------------|
|
||||
#> TGC 798 39.9% |########------------| 12.7% |##------------------|
|
||||
#> DOX 1136 56.8% |###########---------| 27.7% |#####---------------|
|
||||
#> ERY 1894 94.7% |##################--| 57.2% |###########---------|
|
||||
#> CLI 1520 76.0% |###############-----| 61.2% |############--------|
|
||||
#> AZM 1894 94.7% |##################--| 57.2% |###########---------|
|
||||
#> IPM 889 44.5% |########------------| 6.2% |#-------------------|
|
||||
#> MEM 829 41.5% |########------------| 5.9% |#-------------------|
|
||||
#> MTR 34 1.7% |--------------------| 14.7% |##------------------|
|
||||
#> CHL 154 7.7% |#-------------------| 21.4% |####----------------|
|
||||
#> COL 1640 82.0% |################----| 81.2% |################----|
|
||||
#> MUP 270 13.5% |##------------------| 5.9% |#-------------------|
|
||||
#> RIF 1003 50.2% |##########----------| 69.6% |#############-------|
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
example_isolates %>%
|
||||
filter(mo == as.mo("Escherichia coli")) %>%
|
||||
select_if(is.sir) %>%
|
||||
availability()
|
||||
}
|
||||
#> count available visual_availabilty resistant visual_resistance
|
||||
#> PEN 467 100.0% |######################| 100.0% |######################|
|
||||
#> OXA 0 0.0% |----------------------|
|
||||
#> FLC 0 0.0% |----------------------|
|
||||
#> AMX 392 83.9% |##################----| 50.0% |###########-----------|
|
||||
#> AMC 467 100.0% |######################| 13.1% |##--------------------|
|
||||
#> AMP 392 83.9% |##################----| 50.0% |###########-----------|
|
||||
#> TZP 416 89.1% |###################---| 5.5% |#---------------------|
|
||||
#> CZO 82 17.6% |###-------------------| 2.4% |----------------------|
|
||||
#> FEP 317 67.9% |##############--------| 2.8% |----------------------|
|
||||
#> CXM 465 99.6% |######################| 5.4% |#---------------------|
|
||||
#> FOX 377 80.7% |#################-----| 6.9% |#---------------------|
|
||||
#> CTX 459 98.3% |#####################-| 2.4% |----------------------|
|
||||
#> CAZ 460 98.5% |#####################-| 2.4% |----------------------|
|
||||
#> CRO 459 98.3% |#####################-| 2.4% |----------------------|
|
||||
#> GEN 460 98.5% |#####################-| 2.0% |----------------------|
|
||||
#> TOB 462 98.9% |#####################-| 2.6% |----------------------|
|
||||
#> AMK 171 36.6% |########--------------| 0.0% |----------------------|
|
||||
#> KAN 0 0.0% |----------------------|
|
||||
#> TMP 396 84.8% |##################----| 39.1% |########--------------|
|
||||
#> SXT 465 99.6% |######################| 31.6% |######----------------|
|
||||
#> NIT 458 98.1% |#####################-| 2.8% |----------------------|
|
||||
#> FOS 61 13.1% |##--------------------| 0.0% |----------------------|
|
||||
#> LNZ 467 100.0% |######################| 100.0% |######################|
|
||||
#> CIP 456 97.6% |#####################-| 12.5% |##--------------------|
|
||||
#> MFX 57 12.2% |##--------------------| 100.0% |######################|
|
||||
#> VAN 467 100.0% |######################| 100.0% |######################|
|
||||
#> TEC 467 100.0% |######################| 100.0% |######################|
|
||||
#> TCY 3 0.6% |----------------------| 66.7% |##############--------|
|
||||
#> TGC 68 14.6% |###-------------------| 0.0% |----------------------|
|
||||
#> DOX 0 0.0% |----------------------|
|
||||
#> ERY 467 100.0% |######################| 100.0% |######################|
|
||||
#> CLI 467 100.0% |######################| 100.0% |######################|
|
||||
#> AZM 467 100.0% |######################| 100.0% |######################|
|
||||
#> IPM 422 90.4% |###################---| 0.0% |----------------------|
|
||||
#> MEM 418 89.5% |###################---| 0.0% |----------------------|
|
||||
#> MTR 2 0.4% |----------------------| 0.0% |----------------------|
|
||||
#> CHL 0 0.0% |----------------------|
|
||||
#> COL 240 51.4% |###########-----------| 0.0% |----------------------|
|
||||
#> MUP 0 0.0% |----------------------|
|
||||
#> RIF 467 100.0% |######################| 100.0% |######################|
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
218
reference/bug_drug_combinations.md
Normal file
218
reference/bug_drug_combinations.md
Normal file
@@ -0,0 +1,218 @@
|
||||
# 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 [`format()`](https://rdrr.io/r/base/format.html) on the
|
||||
result to prettify it to a publishable/printable format, see *Examples*.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
bug_drug_combinations(x, col_mo = NULL, FUN = mo_shortname,
|
||||
include_n_rows = FALSE, ...)
|
||||
|
||||
# S3 method for class 'bug_drug_combinations'
|
||||
format(x, translate_ab = "name (ab, atc)",
|
||||
language = get_AMR_locale(), minimum = 30, combine_SI = TRUE,
|
||||
add_ab_group = TRUE, remove_intrinsic_resistant = FALSE,
|
||||
decimal.mark = getOption("OutDec"), big.mark = ifelse(decimal.mark ==
|
||||
",", ".", ","), ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A data set with antimicrobials columns, such as `amox`, `AMX` and
|
||||
`AMC`.
|
||||
|
||||
- col_mo:
|
||||
|
||||
Column name of the names or codes of the microorganisms (see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) - the default
|
||||
is the first column of class
|
||||
[`mo`](https://amr-for-r.org/reference/as.mo.md). Values will be
|
||||
coerced using [`as.mo()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- FUN:
|
||||
|
||||
The function to call on the `mo` column to transform the microorganism
|
||||
codes - the default is
|
||||
[`mo_shortname()`](https://amr-for-r.org/reference/mo_property.md).
|
||||
|
||||
- include_n_rows:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate if the
|
||||
total number of rows must be included in the output.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to `FUN`.
|
||||
|
||||
- translate_ab:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) of length 1
|
||||
containing column names of the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set.
|
||||
|
||||
- language:
|
||||
|
||||
Language of the returned text - the default is the current system
|
||||
language (see
|
||||
[`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md))
|
||||
and can also be set with the package option
|
||||
[`AMR_locale`](https://amr-for-r.org/reference/AMR-options.md). Use
|
||||
`language = NULL` or `language = ""` to prevent translation.
|
||||
|
||||
- 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*.
|
||||
|
||||
- combine_SI:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
values S, SDD, and I should be summed, so resistance will be based on
|
||||
only R - the default is `TRUE`.
|
||||
|
||||
- add_ab_group:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate where the
|
||||
group of the antimicrobials must be included as a first column.
|
||||
|
||||
- remove_intrinsic_resistant:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) to indicate that rows
|
||||
and columns with 100% resistance for all tested antimicrobials must be
|
||||
removed from the table.
|
||||
|
||||
- decimal.mark:
|
||||
|
||||
the character to be used to indicate the numeric decimal point.
|
||||
|
||||
- big.mark:
|
||||
|
||||
character; if not empty used as mark between every `big.interval`
|
||||
decimals *before* (hence `big`) the decimal point.
|
||||
|
||||
## Value
|
||||
|
||||
The function `bug_drug_combinations()` returns a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) with columns "mo",
|
||||
"ab", "S", "SDD", "I", "R", and "total".
|
||||
|
||||
## Details
|
||||
|
||||
The function [`format()`](https://rdrr.io/r/base/format.html) calculates
|
||||
the resistance per bug-drug combination and returns a table ready for
|
||||
reporting/publishing. Use `combine_SI = TRUE` (default) to test R vs.
|
||||
S+I and `combine_SI = FALSE` to test R+I vs. S. This table can also
|
||||
directly be used in R Markdown / Quarto without the need for e.g.
|
||||
[`knitr::kable()`](https://rdrr.io/pkg/knitr/man/kable.html).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# example_isolates is a data set available in the AMR package.
|
||||
# run ?example_isolates for more info.
|
||||
example_isolates
|
||||
#> # A tibble: 2,000 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA
|
||||
#> # ℹ 1,990 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
|
||||
# \donttest{
|
||||
x <- bug_drug_combinations(example_isolates)
|
||||
head(x)
|
||||
#> # A tibble: 6 × 8
|
||||
#> mo ab S SDD I R NI total
|
||||
#> <chr> <chr> <int> <int> <int> <int> <int> <int>
|
||||
#> 1 (unknown species) AMC 15 0 0 0 0 15
|
||||
#> 2 (unknown species) AMK 0 0 0 0 0 0
|
||||
#> 3 (unknown species) AMP 15 0 0 1 0 16
|
||||
#> 4 (unknown species) AMX 15 0 0 1 0 16
|
||||
#> 5 (unknown species) AZM 3 0 0 3 0 6
|
||||
#> 6 (unknown species) CAZ 0 0 0 0 0 0
|
||||
#> Use 'format()' on this result to get a publishable/printable format.
|
||||
format(x, translate_ab = "name (atc)")
|
||||
#> # A tibble: 39 × 12
|
||||
#> Group Drug CoNS `E. coli` `E. faecalis` `K. pneumoniae` `P. aeruginosa`
|
||||
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 "Aminogl… Amik… "100… " 0.0% … "100.0% (39/… "" ""
|
||||
#> 2 "" Gent… " 13… " 2.0% … "100.0% (39/… " 10.3% (6/58)" " 0.0% (0/30)"
|
||||
#> 3 "" Kana… "100… "" "100.0% (39/… "" "100.0% (30/30…
|
||||
#> 4 "" Tobr… " 78… " 2.6% … "100.0% (39/… " 10.3% (6/58)" " 0.0% (0/30)"
|
||||
#> 5 "Antimyc… Rifa… "" "100.0% … "" "100.0% (58/58… "100.0% (30/30…
|
||||
#> 6 "Beta-la… Amox… " 93… " 50.0% … "" "100.0% (58/58… "100.0% (30/30…
|
||||
#> 7 "" Amox… " 42… " 13.1% … "" " 10.3% (6/58)" "100.0% (30/30…
|
||||
#> 8 "" Ampi… " 93… " 50.0% … "" "100.0% (58/58… "100.0% (30/30…
|
||||
#> 9 "" Benz… " 77… "100.0% … "" "100.0% (58/58… "100.0% (30/30…
|
||||
#> 10 "" Fluc… " 42… "" "" "" ""
|
||||
#> # ℹ 29 more rows
|
||||
#> # ℹ 5 more variables: `P. mirabilis` <chr>, `S. aureus` <chr>,
|
||||
#> # `S. epidermidis` <chr>, `S. hominis` <chr>, `S. pneumoniae` <chr>
|
||||
|
||||
# Use FUN to change to transformation of microorganism codes
|
||||
bug_drug_combinations(example_isolates,
|
||||
FUN = mo_gramstain
|
||||
)
|
||||
#> # A tibble: 80 × 8
|
||||
#> mo ab S SDD I R NI total
|
||||
#> <chr> <chr> <int> <int> <int> <int> <int> <int>
|
||||
#> 1 Gram-negative AMC 463 0 89 174 0 726
|
||||
#> 2 Gram-negative AMK 251 0 0 5 0 256
|
||||
#> 3 Gram-negative AMP 226 0 0 405 0 631
|
||||
#> 4 Gram-negative AMX 226 0 0 405 0 631
|
||||
#> 5 Gram-negative AZM 1 0 2 696 0 699
|
||||
#> 6 Gram-negative CAZ 607 0 0 27 0 634
|
||||
#> 7 Gram-negative CHL 1 0 0 30 0 31
|
||||
#> 8 Gram-negative CIP 610 0 11 63 0 684
|
||||
#> 9 Gram-negative CLI 18 0 1 709 0 728
|
||||
#> 10 Gram-negative COL 309 0 0 78 0 387
|
||||
#> # ℹ 70 more rows
|
||||
#> Use 'format()' on this result to get a publishable/printable format.
|
||||
|
||||
bug_drug_combinations(example_isolates,
|
||||
FUN = function(x) {
|
||||
ifelse(x == as.mo("Escherichia coli"),
|
||||
"E. coli",
|
||||
"Others"
|
||||
)
|
||||
}
|
||||
)
|
||||
#> # A tibble: 80 × 8
|
||||
#> mo ab S SDD I R NI total
|
||||
#> <chr> <chr> <int> <int> <int> <int> <int> <int>
|
||||
#> 1 E. coli AMC 332 0 74 61 0 467
|
||||
#> 2 E. coli AMK 171 0 0 0 0 171
|
||||
#> 3 E. coli AMP 196 0 0 196 0 392
|
||||
#> 4 E. coli AMX 196 0 0 196 0 392
|
||||
#> 5 E. coli AZM 0 0 0 467 0 467
|
||||
#> 6 E. coli CAZ 449 0 0 11 0 460
|
||||
#> 7 E. coli CHL 0 0 0 0 0 0
|
||||
#> 8 E. coli CIP 398 0 1 57 0 456
|
||||
#> 9 E. coli CLI 0 0 0 467 0 467
|
||||
#> 10 E. coli COL 240 0 0 0 0 240
|
||||
#> # ℹ 70 more rows
|
||||
#> Use 'format()' on this result to get a publishable/printable format.
|
||||
# }
|
||||
```
|
||||
@@ -21,7 +21,7 @@ Use as.sir() to transform MICs or disks measurements to SIR values."><meta prope
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
173
reference/clinical_breakpoints.md
Normal file
173
reference/clinical_breakpoints.md
Normal file
@@ -0,0 +1,173 @@
|
||||
# Data Set with Clinical Breakpoints for SIR Interpretation
|
||||
|
||||
Data set containing clinical breakpoints to interpret MIC and disk
|
||||
diffusion to SIR values, according to international guidelines. This
|
||||
dataset contain breakpoints for humans, 7 different animal groups, and
|
||||
ECOFFs.
|
||||
|
||||
These breakpoints are currently implemented:
|
||||
|
||||
- For **clinical microbiology**: EUCAST 2011-2025 and CLSI 2011-2025;
|
||||
|
||||
- For **veterinary microbiology**: EUCAST 2021-2025 and CLSI 2019-2025;
|
||||
|
||||
- For **ECOFFs** (Epidemiological Cut-off Values): EUCAST 2020-2025 and
|
||||
CLSI 2022-2025.
|
||||
|
||||
Use [`as.sir()`](https://amr-for-r.org/reference/as.sir.md) to transform
|
||||
MICs or disks measurements to SIR values.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
clinical_breakpoints
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
A [tibble](https://tibble.tidyverse.org/reference/tibble.html) with 40
|
||||
217 observations and 14 variables:
|
||||
|
||||
- `guideline`
|
||||
Name of the guideline
|
||||
|
||||
- `type`
|
||||
Breakpoint type, either "ECOFF", "animal", or "human"
|
||||
|
||||
- `host`
|
||||
Host of infectious agent. This is mostly useful for veterinary
|
||||
breakpoints and is either "ECOFF", "aquatic", "cats", "cattle",
|
||||
"dogs", "horse", "human", "poultry", or "swine"
|
||||
|
||||
- `method`
|
||||
Testing method, either "DISK" or "MIC"
|
||||
|
||||
- `site`
|
||||
Body site for which the breakpoint must be applied, e.g. "Oral" or
|
||||
"Respiratory"
|
||||
|
||||
- `mo`
|
||||
Microbial ID, see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
|
||||
- `rank_index`
|
||||
Taxonomic rank index of `mo` from 1 (subspecies/infraspecies) to 5
|
||||
(unknown microorganism)
|
||||
|
||||
- `ab`
|
||||
Antimicrobial code as used by this package, EARS-Net and WHONET, see
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md)
|
||||
|
||||
- `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 millimetres that leads to "S"
|
||||
|
||||
- `breakpoint_R`
|
||||
Highest MIC value or lowest number of millimetres that leads to "R",
|
||||
can be `NA`
|
||||
|
||||
- `uti`
|
||||
A [logical](https://rdrr.io/r/base/logical.html) value
|
||||
(`TRUE`/`FALSE`) to indicate whether the rule applies to a urinary
|
||||
tract infection (UTI)
|
||||
|
||||
- `is_SDD`
|
||||
A [logical](https://rdrr.io/r/base/logical.html) value
|
||||
(`TRUE`/`FALSE`) to indicate whether the intermediate range between
|
||||
"S" and "R" should be interpreted as "SDD", instead of "I". This
|
||||
currently applies to 48 breakpoints.
|
||||
|
||||
## Details
|
||||
|
||||
### Different Types of Breakpoints
|
||||
|
||||
Supported types of breakpoints are ECOFF, animal, and human. ECOFF
|
||||
(Epidemiological cut-off) values are used in antimicrobial
|
||||
susceptibility testing to differentiate between wild-type and
|
||||
non-wild-type strains of bacteria or fungi.
|
||||
|
||||
The default is `"human"`, which can also be set with the package option
|
||||
[`AMR_breakpoint_type`](https://amr-for-r.org/reference/AMR-options.md).
|
||||
Use
|
||||
[`as.sir(..., breakpoint_type = ...)`](https://amr-for-r.org/reference/as.sir.md)
|
||||
to interpret raw data using a specific breakpoint type, e.g.
|
||||
`as.sir(..., breakpoint_type = "ECOFF")` to use ECOFFs.
|
||||
|
||||
### Imported From WHONET
|
||||
|
||||
Clinical breakpoints in this package were validated through and imported
|
||||
from [WHONET](https://whonet.org), a free desktop Windows application
|
||||
developed and supported by the WHO Collaborating Centre for Surveillance
|
||||
of Antimicrobial Resistance. More can be read on [their
|
||||
website](https://whonet.org). The developers of WHONET and this `AMR`
|
||||
package have been in contact about sharing their work. We highly
|
||||
appreciate their great development on the WHONET software.
|
||||
|
||||
Our import and reproduction script can be found here:
|
||||
<https://github.com/msberends/AMR/blob/main/data-raw/_reproduction_scripts/reproduction_of_clinical_breakpoints.R>.
|
||||
|
||||
### Response From CLSI and EUCAST
|
||||
|
||||
The CEO of CLSI and the chairman of EUCAST have endorsed the work and
|
||||
public use of this `AMR` package (and consequently the use of their
|
||||
breakpoints) in June 2023, when future development of distributing
|
||||
clinical breakpoints was discussed in a meeting between CLSI, EUCAST,
|
||||
WHO, developers of WHONET software, and developers of this `AMR`
|
||||
package.
|
||||
|
||||
### Download Note
|
||||
|
||||
This `AMR` package (and the WHONET software as well) contains rather
|
||||
complex internal methods to apply the guidelines. For example, some
|
||||
breakpoints must be applied on certain species groups (which are in case
|
||||
of this package available through the
|
||||
[microorganisms.groups](https://amr-for-r.org/reference/microorganisms.groups.md)
|
||||
data set). It is important that this is considered when implementing the
|
||||
breakpoints for own use.
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
[intrinsic_resistant](https://amr-for-r.org/reference/intrinsic_resistant.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
clinical_breakpoints
|
||||
#> # A tibble: 40,217 × 14
|
||||
#> guideline type host method site mo rank_index ab ref_tbl
|
||||
#> <chr> <chr> <chr> <chr> <chr> <mo> <dbl> <ab> <chr>
|
||||
#> 1 EUCAST 2025 human human DISK NA B_ACHRMB_XYLS 2 MEM A. xylo…
|
||||
#> 2 EUCAST 2025 human human MIC NA B_ACHRMB_XYLS 2 MEM A. xylo…
|
||||
#> 3 EUCAST 2025 human human DISK NA B_ACHRMB_XYLS 2 SXT A. xylo…
|
||||
#> 4 EUCAST 2025 human human MIC NA B_ACHRMB_XYLS 2 SXT A. xylo…
|
||||
#> 5 EUCAST 2025 human human DISK NA B_ACHRMB_XYLS 2 TZP A. xylo…
|
||||
#> 6 EUCAST 2025 human human MIC NA B_ACHRMB_XYLS 2 TZP A. xylo…
|
||||
#> 7 EUCAST 2025 human human DISK NA B_ACNTB 3 AMK Acineto…
|
||||
#> 8 EUCAST 2025 human human DISK Uncomp… B_ACNTB 3 AMK Acineto…
|
||||
#> 9 EUCAST 2025 human human MIC NA B_ACNTB 3 AMK Acineto…
|
||||
#> 10 EUCAST 2025 human human MIC Uncomp… B_ACNTB 3 AMK Acineto…
|
||||
#> # ℹ 40,207 more rows
|
||||
#> # ℹ 5 more variables: disk_dose <chr>, breakpoint_S <dbl>, breakpoint_R <dbl>,
|
||||
#> # uti <lgl>, is_SDD <lgl>
|
||||
```
|
||||
@@ -9,7 +9,7 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
270
reference/count.md
Normal file
270
reference/count.md
Normal file
@@ -0,0 +1,270 @@
|
||||
# Count Available Isolates
|
||||
|
||||
These functions can be used to count resistant/susceptible microbial
|
||||
isolates. All functions support quasiquotation with pipes, can be used
|
||||
in [`summarise()`](https://dplyr.tidyverse.org/reference/summarise.html)
|
||||
from the `dplyr` package and also support grouped variables, see
|
||||
*Examples*.
|
||||
|
||||
`count_resistant()` should be used to count resistant isolates,
|
||||
`count_susceptible()` should be used to count susceptible isolates.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
count_resistant(..., only_all_tested = FALSE)
|
||||
|
||||
count_susceptible(..., only_all_tested = FALSE)
|
||||
|
||||
count_S(..., only_all_tested = FALSE)
|
||||
|
||||
count_SI(..., only_all_tested = FALSE)
|
||||
|
||||
count_I(..., only_all_tested = FALSE)
|
||||
|
||||
count_IR(..., only_all_tested = FALSE)
|
||||
|
||||
count_R(..., only_all_tested = FALSE)
|
||||
|
||||
count_all(..., only_all_tested = FALSE)
|
||||
|
||||
n_sir(..., only_all_tested = FALSE)
|
||||
|
||||
count_df(data, translate_ab = "name", language = get_AMR_locale(),
|
||||
combine_SI = TRUE)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- ...:
|
||||
|
||||
One or more vectors (or columns) with antibiotic interpretations. They
|
||||
will be transformed internally with
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md) if needed.
|
||||
|
||||
- only_all_tested:
|
||||
|
||||
(for combination therapies, i.e. using more than one variable for
|
||||
`...`): a [logical](https://rdrr.io/r/base/logical.html) to indicate
|
||||
that isolates must be tested for all antimicrobials, see section
|
||||
*Combination Therapy* below.
|
||||
|
||||
- data:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) containing
|
||||
columns with class [`sir`](https://amr-for-r.org/reference/as.sir.md)
|
||||
(see [`as.sir()`](https://amr-for-r.org/reference/as.sir.md)).
|
||||
|
||||
- translate_ab:
|
||||
|
||||
A column name of the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set to translate the antibiotic abbreviations to, using
|
||||
[`ab_property()`](https://amr-for-r.org/reference/ab_property.md).
|
||||
|
||||
- language:
|
||||
|
||||
Language of the returned text - the default is the current system
|
||||
language (see
|
||||
[`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md))
|
||||
and can also be set with the package option
|
||||
[`AMR_locale`](https://amr-for-r.org/reference/AMR-options.md). Use
|
||||
`language = NULL` or `language = ""` to prevent translation.
|
||||
|
||||
- combine_SI:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
all values of S, SDD, and I must be merged into one, so the output
|
||||
only consists of S+SDD+I vs. R (susceptible vs. resistant) - the
|
||||
default is `TRUE`.
|
||||
|
||||
## Value
|
||||
|
||||
An [integer](https://rdrr.io/r/base/integer.html)
|
||||
|
||||
## Details
|
||||
|
||||
These functions are meant to count isolates. Use the
|
||||
[`resistance()`](https://amr-for-r.org/reference/proportion.md)/[`susceptibility()`](https://amr-for-r.org/reference/proportion.md)
|
||||
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_sir()` is an alias of `count_all()`. They can be used to
|
||||
count all available isolates, i.e. where all input antimicrobials have
|
||||
an available result (S, I or R). Their use is equal to
|
||||
[`n_distinct()`](https://dplyr.tidyverse.org/reference/n_distinct.html).
|
||||
Their function is equal to
|
||||
`count_susceptible(...) + count_resistant(...)`.
|
||||
|
||||
The function `count_df()` takes any variable from `data` that has an
|
||||
[`sir`](https://amr-for-r.org/reference/as.sir.md) class (created with
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md)) and counts the
|
||||
number of S's, I's and R's. It also supports grouped variables. The
|
||||
function [`sir_df()`](https://amr-for-r.org/reference/proportion.md)
|
||||
works exactly like `count_df()`, but adds the percentage of S, I and R.
|
||||
|
||||
## Interpretation of SIR
|
||||
|
||||
In 2019, the European Committee on Antimicrobial Susceptibility Testing
|
||||
(EUCAST) has decided to change the definitions of susceptibility testing
|
||||
categories S, I, and R (<https://www.eucast.org/newsiandr>).
|
||||
|
||||
This AMR package follows insight; use
|
||||
[`susceptibility()`](https://amr-for-r.org/reference/proportion.md)
|
||||
(equal to
|
||||
[`proportion_SI()`](https://amr-for-r.org/reference/proportion.md)) 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
|
||||
antimicrobials/variables that you test them for. See this example for
|
||||
two antimicrobials, Drug A and Drug B, about how
|
||||
[`susceptibility()`](https://amr-for-r.org/reference/proportion.md)
|
||||
works to calculate the %SI:
|
||||
|
||||
--------------------------------------------------------------------
|
||||
only_all_tested = FALSE only_all_tested = TRUE
|
||||
----------------------- -----------------------
|
||||
Drug A Drug B considered considered considered considered
|
||||
susceptible tested susceptible tested
|
||||
-------- -------- ----------- ---------- ----------- ----------
|
||||
S or I S or I X X X X
|
||||
R S or I X X X X
|
||||
<NA> S or I X X - -
|
||||
S or I R X X X X
|
||||
R R - X - X
|
||||
<NA> R - - - -
|
||||
S or I <NA> X X - -
|
||||
R <NA> - - - -
|
||||
<NA> <NA> - - - -
|
||||
--------------------------------------------------------------------
|
||||
|
||||
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()
|
||||
proportion_S() + proportion_I() + proportion_R() >= 1
|
||||
|
||||
Using `only_all_tested` has no impact when only using one antibiotic as
|
||||
input.
|
||||
|
||||
## See also
|
||||
|
||||
[`proportion_*`](https://amr-for-r.org/reference/proportion.md) to
|
||||
calculate microbial resistance and susceptibility.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# example_isolates is a data set available in the AMR package.
|
||||
# run ?example_isolates for more info.
|
||||
|
||||
# base R ------------------------------------------------------------
|
||||
count_resistant(example_isolates$AMX) # counts "R"
|
||||
#> [1] 804
|
||||
count_susceptible(example_isolates$AMX) # counts "S" and "I"
|
||||
#> [1] 546
|
||||
count_all(example_isolates$AMX) # counts "S", "I" and "R"
|
||||
#> [1] 1350
|
||||
|
||||
# be more specific
|
||||
count_S(example_isolates$AMX)
|
||||
#> [1] 543
|
||||
count_SI(example_isolates$AMX)
|
||||
#> [1] 546
|
||||
count_I(example_isolates$AMX)
|
||||
#> [1] 3
|
||||
count_IR(example_isolates$AMX)
|
||||
#> [1] 807
|
||||
count_R(example_isolates$AMX)
|
||||
#> [1] 804
|
||||
|
||||
# Count all available isolates
|
||||
count_all(example_isolates$AMX)
|
||||
#> [1] 1350
|
||||
n_sir(example_isolates$AMX)
|
||||
#> [1] 1350
|
||||
|
||||
# n_sir() is an alias of count_all().
|
||||
# Since it counts all available isolates, you can
|
||||
# calculate back to count e.g. susceptible isolates.
|
||||
# These results are the same:
|
||||
count_susceptible(example_isolates$AMX)
|
||||
#> [1] 546
|
||||
susceptibility(example_isolates$AMX) * n_sir(example_isolates$AMX)
|
||||
#> [1] 546
|
||||
|
||||
# dplyr -------------------------------------------------------------
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
example_isolates %>%
|
||||
group_by(ward) %>%
|
||||
summarise(
|
||||
R = count_R(CIP),
|
||||
I = count_I(CIP),
|
||||
S = count_S(CIP),
|
||||
n1 = count_all(CIP), # the actual total; sum of all three
|
||||
n2 = n_sir(CIP), # same - analogous to n_distinct
|
||||
total = n()
|
||||
) # NOT the number of tested isolates!
|
||||
|
||||
# Number of available isolates for a whole antibiotic class
|
||||
# (i.e., in this data set columns GEN, TOB, AMK, KAN)
|
||||
example_isolates %>%
|
||||
group_by(ward) %>%
|
||||
summarise(across(aminoglycosides(), n_sir))
|
||||
|
||||
# Count co-resistance between amoxicillin/clav acid and gentamicin,
|
||||
# so we can see that combination therapy does a lot more than mono therapy.
|
||||
# Please mind that `susceptibility()` calculates percentages right away instead.
|
||||
example_isolates %>% count_susceptible(AMC) # 1433
|
||||
example_isolates %>% count_all(AMC) # 1879
|
||||
|
||||
example_isolates %>% count_susceptible(GEN) # 1399
|
||||
example_isolates %>% count_all(GEN) # 1855
|
||||
|
||||
example_isolates %>% count_susceptible(AMC, GEN) # 1764
|
||||
example_isolates %>% count_all(AMC, GEN) # 1936
|
||||
|
||||
# Get number of S+I vs. R immediately of selected columns
|
||||
example_isolates %>%
|
||||
select(AMX, CIP) %>%
|
||||
count_df(translate = FALSE)
|
||||
|
||||
# It also supports grouping variables
|
||||
example_isolates %>%
|
||||
select(ward, AMX, CIP) %>%
|
||||
group_by(ward) %>%
|
||||
count_df(translate = FALSE)
|
||||
}
|
||||
#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'
|
||||
#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
|
||||
#> # A tibble: 12 × 4
|
||||
#> ward antibiotic interpretation value
|
||||
#> <chr> <chr> <ord> <int>
|
||||
#> 1 Clinical AMX SI 357
|
||||
#> 2 Clinical AMX R 487
|
||||
#> 3 Clinical CIP SI 741
|
||||
#> 4 Clinical CIP R 128
|
||||
#> 5 ICU AMX SI 158
|
||||
#> 6 ICU AMX R 270
|
||||
#> 7 ICU CIP SI 362
|
||||
#> 8 ICU CIP R 85
|
||||
#> 9 Outpatient AMX SI 31
|
||||
#> 10 Outpatient AMX R 47
|
||||
#> 11 Outpatient CIP SI 78
|
||||
#> 12 Outpatient CIP R 15
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -151,16 +151,16 @@
|
||||
<li><p>aminopenicillins<br>(amoxicillin and ampicillin)</p></li>
|
||||
<li><p>antifungals<br>(amorolfine, amphotericin B, amphotericin B-high, anidulafungin, butoconazole, caspofungin, ciclopirox, clotrimazole, econazole, fluconazole, flucytosine, fosfluconazole, griseofulvin, hachimycin, ibrexafungerp, isavuconazole, isoconazole, itraconazole, ketoconazole, manogepix, micafungin, miconazole, nystatin, oteseconazole, pimaricin, posaconazole, rezafungin, ribociclib, sulconazole, terbinafine, terconazole, and voriconazole)</p></li>
|
||||
<li><p>antimycobacterials<br>(4-aminosalicylic acid, calcium aminosalicylate, capreomycin, clofazimine, delamanid, enviomycin, ethambutol, ethambutol/isoniazid, ethionamide, isoniazid, isoniazid/sulfamethoxazole/trimethoprim/pyridoxine, morinamide, p-aminosalicylic acid, pretomanid, protionamide, pyrazinamide, rifabutin, rifampicin, rifampicin/ethambutol/isoniazid, rifampicin/isoniazid, rifampicin/pyrazinamide/ethambutol/isoniazid, rifampicin/pyrazinamide/isoniazid, rifamycin, rifapentine, sodium aminosalicylate, streptomycin/isoniazid, terizidone, thioacetazone, thioacetazone/isoniazid, tiocarlide, and viomycin)</p></li>
|
||||
<li><p>betalactams<br>(amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin, azidocillin, azlocillin, aztreonam, aztreonam/avibactam, aztreonam/nacubactam, bacampicillin, benzathine benzylpenicillin, benzathine phenoxymethylpenicillin, benzylpenicillin, benzylpenicillin screening test, biapenem, carbenicillin, carindacillin, carumonam, cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, ciclacillin, clometocillin, cloxacillin, dicloxacillin, doripenem, epicillin, ertapenem, flucloxacillin, hetacillin, imipenem, imipenem/EDTA, imipenem/relebactam, latamoxef, lenampicillin, loracarbef, mecillinam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, metampicillin, meticillin, mezlocillin, mezlocillin/sulbactam, nafcillin, oxacillin, oxacillin screening test, panipenem, penamecillin, penicillin/novobiocin, penicillin/sulbactam, pheneticillin, phenoxymethylpenicillin, piperacillin, piperacillin/sulbactam, piperacillin/tazobactam, piridicillin, pivampicillin, pivmecillinam, procaine benzylpenicillin, propicillin, razupenem, ritipenem, ritipenem acoxil, sarmoxicillin, sulbenicillin, sultamicillin, talampicillin, tebipenem, temocillin, ticarcillin, ticarcillin/clavulanic acid, and tigemonam)</p></li>
|
||||
<li><p>betalactams_with_inhibitor<br>(amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin/sulbactam, aztreonam/avibactam, aztreonam/nacubactam, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefoperazone/sulbactam, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefpodoxime/clavulanic acid, ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic acid, ceftolozane/tazobactam, ceftriaxone/beta-lactamase inhibitor, imipenem/relebactam, meropenem/nacubactam, meropenem/vaborbactam, mezlocillin/sulbactam, penicillin/novobiocin, penicillin/sulbactam, piperacillin/sulbactam, piperacillin/tazobactam, and ticarcillin/clavulanic acid)</p></li>
|
||||
<li><p>carbapenems<br>(biapenem, doripenem, ertapenem, imipenem, imipenem/EDTA, imipenem/relebactam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, panipenem, razupenem, ritipenem, ritipenem acoxil, and tebipenem)</p></li>
|
||||
<li><p>cephalosporins<br>(cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, latamoxef, and loracarbef)</p></li>
|
||||
<li><p>betalactams<br>(amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin, azidocillin, azlocillin, aztreonam, aztreonam/avibactam, aztreonam/nacubactam, bacampicillin, benzathine benzylpenicillin, benzathine phenoxymethylpenicillin, benzylpenicillin, benzylpenicillin screening test, biapenem, carbenicillin, carindacillin, carumonam, cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, ciclacillin, clometocillin, cloxacillin, dicloxacillin, doripenem, epicillin, ertapenem, flucloxacillin, hetacillin, imipenem, imipenem/EDTA, imipenem/relebactam, latamoxef, lenampicillin, loracarbef, mecillinam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, metampicillin, meticillin, mezlocillin, mezlocillin/sulbactam, nafcillin, oxacillin, oxacillin screening test, panipenem, penamecillin, penicillin/novobiocin, penicillin/sulbactam, pheneticillin, phenoxymethylpenicillin, piperacillin, piperacillin/sulbactam, piperacillin/tazobactam, piridicillin, pivampicillin, pivmecillinam, procaine benzylpenicillin, propicillin, razupenem, ritipenem, ritipenem acoxil, sarmoxicillin, sulbenicillin, sultamicillin, talampicillin, taniborbactam, tebipenem, temocillin, ticarcillin, ticarcillin/clavulanic acid, and tigemonam)</p></li>
|
||||
<li><p>betalactams_with_inhibitor<br>(amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin/sulbactam, aztreonam/avibactam, aztreonam/nacubactam, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefoperazone/sulbactam, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefpodoxime/clavulanic acid, ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic acid, ceftolozane/tazobactam, ceftriaxone/beta-lactamase inhibitor, imipenem/relebactam, meropenem/nacubactam, meropenem/vaborbactam, mezlocillin/sulbactam, penicillin/novobiocin, penicillin/sulbactam, piperacillin/sulbactam, piperacillin/tazobactam, and ticarcillin/clavulanic acid)</p></li>
|
||||
<li><p>carbapenems<br>(biapenem, doripenem, ertapenem, imipenem, imipenem/EDTA, imipenem/relebactam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, panipenem, razupenem, ritipenem, ritipenem acoxil, taniborbactam, and tebipenem)</p></li>
|
||||
<li><p>cephalosporins<br>(cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, latamoxef, and loracarbef)</p></li>
|
||||
<li><p>cephalosporins_1st<br>(cefacetrile, cefadroxil, cefalexin, cefaloridine, cefalotin, cefapirin, cefatrizine, cefazedone, cefazolin, cefroxadine, ceftezole, and cephradine)</p></li>
|
||||
<li><p>cephalosporins_2nd<br>(cefaclor, cefamandole, cefmetazole, cefonicid, ceforanide, cefotetan, cefotiam, cefoxitin, cefoxitin screening test, cefprozil, cefuroxime, cefuroxime axetil, and loracarbef)</p></li>
|
||||
<li><p>cephalosporins_3rd<br>(cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefetamet, cefetamet pivoxil, cefixime, cefmenoxime, cefodizime, cefoperazone, cefoperazone/sulbactam, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotiam hexetil, cefovecin, cefpimizole, cefpiramide, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefsulodin, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, and latamoxef)</p></li>
|
||||
<li><p>cephalosporins_4th<br>(cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefetecol, cefoselis, cefozopran, cefpirome, and cefquinome)</p></li>
|
||||
<li><p>cephalosporins_4th<br>(cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefetecol, cefoselis, cefozopran, cefpirome, and cefquinome)</p></li>
|
||||
<li><p>cephalosporins_5th<br>(ceftaroline, ceftaroline/avibactam, ceftobiprole, ceftobiprole medocaril, and ceftolozane/tazobactam)</p></li>
|
||||
<li><p>cephalosporins_except_caz<br>(cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, latamoxef, and loracarbef)</p></li>
|
||||
<li><p>cephalosporins_except_caz<br>(cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, latamoxef, and loracarbef)</p></li>
|
||||
<li><p>fluoroquinolones<br>(besifloxacin, ciprofloxacin, ciprofloxacin/metronidazole, ciprofloxacin/ornidazole, ciprofloxacin/tinidazole, clinafloxacin, danofloxacin, delafloxacin, difloxacin, enoxacin, enrofloxacin, finafloxacin, fleroxacin, garenoxacin, gatifloxacin, gemifloxacin, grepafloxacin, lascufloxacin, levofloxacin, levofloxacin/ornidazole, levonadifloxacin, lomefloxacin, marbofloxacin, metioxate, miloxacin, moxifloxacin, nadifloxacin, nemonoxacin, nifuroquine, nitroxoline, norfloxacin, norfloxacin screening test, norfloxacin/metronidazole, norfloxacin/tinidazole, ofloxacin, ofloxacin/ornidazole, orbifloxacin, pazufloxacin, pefloxacin, pefloxacin screening test, pradofloxacin, premafloxacin, prulifloxacin, rufloxacin, sarafloxacin, sitafloxacin, sparfloxacin, temafloxacin, tilbroquinol, tioxacin, tosufloxacin, and trovafloxacin)</p></li>
|
||||
<li><p>glycopeptides<br>(avoparcin, bleomycin, dalbavancin, norvancomycin, oritavancin, ramoplanin, teicoplanin, teicoplanin-macromethod, telavancin, vancomycin, and vancomycin-macromethod)</p></li>
|
||||
<li><p>glycopeptides_except_lipo<br>(avoparcin, bleomycin, norvancomycin, ramoplanin, teicoplanin, teicoplanin-macromethod, vancomycin, and vancomycin-macromethod)</p></li>
|
||||
@@ -239,7 +239,8 @@
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #0000BB;">biapenem</span> (BIA), <span style="color: #0000BB;">doripenem</span> (DOR), <span style="color: #0000BB;">ertapenem</span> (ETP), <span style="color: #0000BB;">imipenem</span> (IPM),</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #0000BB;">imipenem/EDTA</span> (IPE), <span style="color: #0000BB;">imipenem/relebactam</span> (IMR), <span style="color: #0000BB;">meropenem</span> (MEM),</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #0000BB;">meropenem/nacubactam</span> (MNC), <span style="color: #0000BB;">meropenem/vaborbactam</span> (MEV), <span style="color: #0000BB;">panipenem</span> (PAN),</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #0000BB;">razupenem</span> (RZM), <span style="color: #0000BB;">ritipenem</span> (RIT), <span style="color: #0000BB;">ritipenem acoxil</span> (RIA), <span style="color: #0000BB;">tebipenem</span> (TBP)</span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> <span style="color: #0000BB;">razupenem</span> (RZM), <span style="color: #0000BB;">ritipenem</span> (RIT), <span style="color: #0000BB;">ritipenem acoxil</span> (RIA), <span style="color: #0000BB;">taniborbactam</span></span>
|
||||
<span class="r-out co"><span class="r-pr">#></span> (TAN), <span style="color: #0000BB;">tebipenem</span> (TBP)</span>
|
||||
</code></pre></div>
|
||||
</div>
|
||||
</main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
|
||||
|
||||
504
reference/custom_eucast_rules.md
Normal file
504
reference/custom_eucast_rules.md
Normal file
@@ -0,0 +1,504 @@
|
||||
# Define Custom EUCAST Rules
|
||||
|
||||
Define custom EUCAST rules for your organisation or specific analysis
|
||||
and use the output of this function in
|
||||
[`eucast_rules()`](https://amr-for-r.org/reference/eucast_rules.md).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
custom_eucast_rules(...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- ...:
|
||||
|
||||
Rules in [formula](https://rdrr.io/r/base/tilde.html) notation, see
|
||||
below for instructions, and in *Examples*.
|
||||
|
||||
## Value
|
||||
|
||||
A [list](https://rdrr.io/r/base/list.html) containing the custom rules
|
||||
|
||||
## Details
|
||||
|
||||
Some organisations have their own adoption of EUCAST rules. This
|
||||
function can be used to define custom EUCAST rules to be used in the
|
||||
[`eucast_rules()`](https://amr-for-r.org/reference/eucast_rules.md)
|
||||
function.
|
||||
|
||||
### Basics
|
||||
|
||||
If you are familiar with the
|
||||
[`case_when()`](https://dplyr.tidyverse.org/reference/case_when.html)
|
||||
function of the `dplyr` package, you will recognise the input method to
|
||||
set your own rules. Rules must be set using what R considers to be the
|
||||
'formula notation'. The rule itself is written *before* the tilde (`~`)
|
||||
and the consequence of the rule is written *after* the tilde:
|
||||
|
||||
x <- custom_eucast_rules(TZP == "S" ~ aminopenicillins == "S",
|
||||
TZP == "R" ~ aminopenicillins == "R")
|
||||
|
||||
These are two custom EUCAST rules: if TZP (piperacillin/tazobactam) is
|
||||
"S", all aminopenicillins (ampicillin and amoxicillin) must be made "S",
|
||||
and if TZP is "R", aminopenicillins must be made "R". These rules can
|
||||
also be printed to the console, so it is immediately clear how they
|
||||
work:
|
||||
|
||||
x
|
||||
#> A set of custom EUCAST rules:
|
||||
#>
|
||||
#> 1. If TZP is "S" then set to S :
|
||||
#> amoxicillin (AMX), ampicillin (AMP)
|
||||
#>
|
||||
#> 2. If TZP is "R" then set to R :
|
||||
#> amoxicillin (AMX), ampicillin (AMP)
|
||||
|
||||
The rules (the part *before* the tilde, in above example `TZP == "S"`
|
||||
and `TZP == "R"`) must be evaluable in your data set: it should be able
|
||||
to run as a filter in your data set without errors. This means for the
|
||||
above example that the column `TZP` must exist. We will create a sample
|
||||
data set and test the rules set:
|
||||
|
||||
df <- data.frame(mo = c("Escherichia coli", "Klebsiella pneumoniae"),
|
||||
TZP = as.sir("R"),
|
||||
ampi = as.sir("S"),
|
||||
cipro = as.sir("S"))
|
||||
df
|
||||
#> mo TZP ampi cipro
|
||||
#> 1 Escherichia coli R S S
|
||||
#> 2 Klebsiella pneumoniae R S S
|
||||
|
||||
eucast_rules(df,
|
||||
rules = "custom",
|
||||
custom_rules = x,
|
||||
info = FALSE,
|
||||
overwrite = TRUE)
|
||||
#> mo TZP ampi cipro
|
||||
#> 1 Escherichia coli R R S
|
||||
#> 2 Klebsiella pneumoniae R R S
|
||||
|
||||
### Using taxonomic properties in rules
|
||||
|
||||
There is one exception in columns used for the rules: all column names
|
||||
of the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md) data
|
||||
set can also be used, but do not have to exist in the data set. These
|
||||
column names are: "mo", "fullname", "status", "kingdom", "phylum",
|
||||
"class", "order", "family", "genus", "species", "subspecies", "rank",
|
||||
"ref", "oxygen_tolerance", "source", "lpsn", "lpsn_parent",
|
||||
"lpsn_renamed_to", "mycobank", "mycobank_parent", "mycobank_renamed_to",
|
||||
"gbif", "gbif_parent", "gbif_renamed_to", "prevalence", and "snomed".
|
||||
Thus, this next example will work as well, despite the fact that the
|
||||
`df` data set does not contain a column `genus`:
|
||||
|
||||
y <- custom_eucast_rules(
|
||||
TZP == "S" & genus == "Klebsiella" ~ aminopenicillins == "S",
|
||||
TZP == "R" & genus == "Klebsiella" ~ aminopenicillins == "R"
|
||||
)
|
||||
|
||||
eucast_rules(df,
|
||||
rules = "custom",
|
||||
custom_rules = y,
|
||||
info = FALSE,
|
||||
overwrite = TRUE)
|
||||
#> mo TZP ampi cipro
|
||||
#> 1 Escherichia coli R S S
|
||||
#> 2 Klebsiella pneumoniae R R S
|
||||
|
||||
### Sharing rules among multiple users
|
||||
|
||||
The rules set (the `y` object in this case) could be exported to a
|
||||
shared file location using
|
||||
[`saveRDS()`](https://rdrr.io/r/base/readRDS.html) if you collaborate
|
||||
with multiple users. The custom rules set could then be imported using
|
||||
[`readRDS()`](https://rdrr.io/r/base/readRDS.html).
|
||||
|
||||
### Usage of multiple antimicrobials and antimicrobial group names
|
||||
|
||||
You can define antimicrobial groups instead of single antimicrobials for
|
||||
the rule consequence, which is the part *after* the tilde (~). In the
|
||||
examples above, the antimicrobial group `aminopenicillins` includes both
|
||||
ampicillin and amoxicillin.
|
||||
|
||||
Rules can also be applied to multiple antimicrobials and antimicrobial
|
||||
groups simultaneously. Use the [`c()`](https://rdrr.io/r/base/c.html)
|
||||
function to combine multiple antimicrobials. For instance, the following
|
||||
example sets all aminopenicillins and ureidopenicillins to "R" if column
|
||||
TZP (piperacillin/tazobactam) is "R":
|
||||
|
||||
x <- custom_eucast_rules(TZP == "R" ~ c(aminopenicillins, ureidopenicillins) == "R")
|
||||
x
|
||||
#> A set of custom EUCAST rules:
|
||||
#>
|
||||
#> 1. If TZP is "R" then set to "R":
|
||||
#> amoxicillin (AMX), ampicillin (AMP), azlocillin (AZL), mezlocillin (MEZ), piperacillin (PIP), piperacillin/tazobactam (TZP)
|
||||
|
||||
These 35 antimicrobial groups are allowed in the rules
|
||||
(case-insensitive) and can be used in any combination:
|
||||
|
||||
- aminoglycosides
|
||||
(amikacin, amikacin/fosfomycin, apramycin, arbekacin, astromicin,
|
||||
bekanamycin, dibekacin, framycetin, gentamicin, gentamicin-high,
|
||||
habekacin, hygromycin, isepamicin, kanamycin, kanamycin-high,
|
||||
kanamycin/cephalexin, micronomicin, neomycin, netilmicin,
|
||||
pentisomicin, plazomicin, propikacin, ribostamycin, sisomicin,
|
||||
streptoduocin, streptomycin, streptomycin-high, tobramycin, and
|
||||
tobramycin-high)
|
||||
|
||||
- aminopenicillins
|
||||
(amoxicillin and ampicillin)
|
||||
|
||||
- antifungals
|
||||
(amorolfine, amphotericin B, amphotericin B-high, anidulafungin,
|
||||
butoconazole, caspofungin, ciclopirox, clotrimazole, econazole,
|
||||
fluconazole, flucytosine, fosfluconazole, griseofulvin, hachimycin,
|
||||
ibrexafungerp, isavuconazole, isoconazole, itraconazole, ketoconazole,
|
||||
manogepix, micafungin, miconazole, nystatin, oteseconazole, pimaricin,
|
||||
posaconazole, rezafungin, ribociclib, sulconazole, terbinafine,
|
||||
terconazole, and voriconazole)
|
||||
|
||||
- antimycobacterials
|
||||
(4-aminosalicylic acid, calcium aminosalicylate, capreomycin,
|
||||
clofazimine, delamanid, enviomycin, ethambutol, ethambutol/isoniazid,
|
||||
ethionamide, isoniazid,
|
||||
isoniazid/sulfamethoxazole/trimethoprim/pyridoxine, morinamide,
|
||||
p-aminosalicylic acid, pretomanid, protionamide, pyrazinamide,
|
||||
rifabutin, rifampicin, rifampicin/ethambutol/isoniazid,
|
||||
rifampicin/isoniazid, rifampicin/pyrazinamide/ethambutol/isoniazid,
|
||||
rifampicin/pyrazinamide/isoniazid, rifamycin, rifapentine, sodium
|
||||
aminosalicylate, streptomycin/isoniazid, terizidone, thioacetazone,
|
||||
thioacetazone/isoniazid, tiocarlide, and viomycin)
|
||||
|
||||
- betalactams
|
||||
(amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam,
|
||||
ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin,
|
||||
azidocillin, azlocillin, aztreonam, aztreonam/avibactam,
|
||||
aztreonam/nacubactam, bacampicillin, benzathine benzylpenicillin,
|
||||
benzathine phenoxymethylpenicillin, benzylpenicillin, benzylpenicillin
|
||||
screening test, biapenem, carbenicillin, carindacillin, carumonam,
|
||||
cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin,
|
||||
cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene,
|
||||
cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime,
|
||||
cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam,
|
||||
cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam,
|
||||
cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol,
|
||||
cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole,
|
||||
cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam,
|
||||
ceforanide, cefoselis, cefotaxime, cefotaxime screening test,
|
||||
cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam,
|
||||
cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test,
|
||||
cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime,
|
||||
cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil,
|
||||
cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline,
|
||||
ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam,
|
||||
ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole,
|
||||
ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil,
|
||||
ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam,
|
||||
ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime,
|
||||
cefuroxime axetil, cephradine, ciclacillin, clometocillin,
|
||||
cloxacillin, dicloxacillin, doripenem, epicillin, ertapenem,
|
||||
flucloxacillin, hetacillin, imipenem, imipenem/EDTA,
|
||||
imipenem/relebactam, latamoxef, lenampicillin, loracarbef, mecillinam,
|
||||
meropenem, meropenem/nacubactam, meropenem/vaborbactam, metampicillin,
|
||||
meticillin, mezlocillin, mezlocillin/sulbactam, nafcillin, oxacillin,
|
||||
oxacillin screening test, panipenem, penamecillin,
|
||||
penicillin/novobiocin, penicillin/sulbactam, pheneticillin,
|
||||
phenoxymethylpenicillin, piperacillin, piperacillin/sulbactam,
|
||||
piperacillin/tazobactam, piridicillin, pivampicillin, pivmecillinam,
|
||||
procaine benzylpenicillin, propicillin, razupenem, ritipenem,
|
||||
ritipenem acoxil, sarmoxicillin, sulbenicillin, sultamicillin,
|
||||
talampicillin, taniborbactam, tebipenem, temocillin, ticarcillin,
|
||||
ticarcillin/clavulanic acid, and tigemonam)
|
||||
|
||||
- betalactams_with_inhibitor
|
||||
(amoxicillin/clavulanic acid, amoxicillin/sulbactam,
|
||||
ampicillin/sulbactam, aztreonam/avibactam, aztreonam/nacubactam,
|
||||
cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam,
|
||||
cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam,
|
||||
cefepime/zidebactam, cefoperazone/sulbactam, cefotaxime/clavulanic
|
||||
acid, cefotaxime/sulbactam, cefpodoxime/clavulanic acid,
|
||||
ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic
|
||||
acid, ceftolozane/tazobactam, ceftriaxone/beta-lactamase inhibitor,
|
||||
imipenem/relebactam, meropenem/nacubactam, meropenem/vaborbactam,
|
||||
mezlocillin/sulbactam, penicillin/novobiocin, penicillin/sulbactam,
|
||||
piperacillin/sulbactam, piperacillin/tazobactam, and
|
||||
ticarcillin/clavulanic acid)
|
||||
|
||||
- carbapenems
|
||||
(biapenem, doripenem, ertapenem, imipenem, imipenem/EDTA,
|
||||
imipenem/relebactam, meropenem, meropenem/nacubactam,
|
||||
meropenem/vaborbactam, panipenem, razupenem, ritipenem, ritipenem
|
||||
acoxil, taniborbactam, and tebipenem)
|
||||
|
||||
- cephalosporins
|
||||
(cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine,
|
||||
cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin,
|
||||
cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren
|
||||
pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid,
|
||||
cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam,
|
||||
cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet
|
||||
pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime,
|
||||
cefmetazole, cefodizime, cefonicid, cefoperazone,
|
||||
cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime
|
||||
screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam,
|
||||
cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin
|
||||
screening test, cefozopran, cefpimizole, cefpiramide, cefpirome,
|
||||
cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid,
|
||||
cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide,
|
||||
ceftaroline, ceftaroline/avibactam, ceftazidime,
|
||||
ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram
|
||||
pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime
|
||||
alapivoxil, ceftobiprole, ceftobiprole medocaril,
|
||||
ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase
|
||||
inhibitor, cefuroxime, cefuroxime axetil, cephradine, latamoxef, and
|
||||
loracarbef)
|
||||
|
||||
- cephalosporins_1st
|
||||
(cefacetrile, cefadroxil, cefalexin, cefaloridine, cefalotin,
|
||||
cefapirin, cefatrizine, cefazedone, cefazolin, cefroxadine, ceftezole,
|
||||
and cephradine)
|
||||
|
||||
- cephalosporins_2nd
|
||||
(cefaclor, cefamandole, cefmetazole, cefonicid, ceforanide, cefotetan,
|
||||
cefotiam, cefoxitin, cefoxitin screening test, cefprozil, cefuroxime,
|
||||
cefuroxime axetil, and loracarbef)
|
||||
|
||||
- cephalosporins_3rd
|
||||
(cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren
|
||||
pivoxil, cefetamet, cefetamet pivoxil, cefixime, cefmenoxime,
|
||||
cefodizime, cefoperazone, cefoperazone/sulbactam, cefotaxime,
|
||||
cefotaxime screening test, cefotaxime/clavulanic acid,
|
||||
cefotaxime/sulbactam, cefotiam hexetil, cefovecin, cefpimizole,
|
||||
cefpiramide, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic
|
||||
acid, cefsulodin, ceftazidime, ceftazidime/avibactam,
|
||||
ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftibuten,
|
||||
ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftriaxone,
|
||||
ceftriaxone/beta-lactamase inhibitor, and latamoxef)
|
||||
|
||||
- cephalosporins_4th
|
||||
(cefepime, cefepime/amikacin, cefepime/clavulanic acid,
|
||||
cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam,
|
||||
cefepime/tazobactam, cefepime/zidebactam, cefetecol, cefoselis,
|
||||
cefozopran, cefpirome, and cefquinome)
|
||||
|
||||
- cephalosporins_5th
|
||||
(ceftaroline, ceftaroline/avibactam, ceftobiprole, ceftobiprole
|
||||
medocaril, and ceftolozane/tazobactam)
|
||||
|
||||
- cephalosporins_except_caz
|
||||
(cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine,
|
||||
cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin,
|
||||
cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren
|
||||
pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid,
|
||||
cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam,
|
||||
cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet
|
||||
pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime,
|
||||
cefmetazole, cefodizime, cefonicid, cefoperazone,
|
||||
cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime
|
||||
screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam,
|
||||
cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin
|
||||
screening test, cefozopran, cefpimizole, cefpiramide, cefpirome,
|
||||
cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid,
|
||||
cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide,
|
||||
ceftaroline, ceftaroline/avibactam, ceftazidime/avibactam,
|
||||
ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole,
|
||||
ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil,
|
||||
ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam,
|
||||
ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime,
|
||||
cefuroxime axetil, cephradine, latamoxef, and loracarbef)
|
||||
|
||||
- fluoroquinolones
|
||||
(besifloxacin, ciprofloxacin, ciprofloxacin/metronidazole,
|
||||
ciprofloxacin/ornidazole, ciprofloxacin/tinidazole, clinafloxacin,
|
||||
danofloxacin, delafloxacin, difloxacin, enoxacin, enrofloxacin,
|
||||
finafloxacin, fleroxacin, garenoxacin, gatifloxacin, gemifloxacin,
|
||||
grepafloxacin, lascufloxacin, levofloxacin, levofloxacin/ornidazole,
|
||||
levonadifloxacin, lomefloxacin, marbofloxacin, metioxate, miloxacin,
|
||||
moxifloxacin, nadifloxacin, nemonoxacin, nifuroquine, nitroxoline,
|
||||
norfloxacin, norfloxacin screening test, norfloxacin/metronidazole,
|
||||
norfloxacin/tinidazole, ofloxacin, ofloxacin/ornidazole, orbifloxacin,
|
||||
pazufloxacin, pefloxacin, pefloxacin screening test, pradofloxacin,
|
||||
premafloxacin, prulifloxacin, rufloxacin, sarafloxacin, sitafloxacin,
|
||||
sparfloxacin, temafloxacin, tilbroquinol, tioxacin, tosufloxacin, and
|
||||
trovafloxacin)
|
||||
|
||||
- glycopeptides
|
||||
(avoparcin, bleomycin, dalbavancin, norvancomycin, oritavancin,
|
||||
ramoplanin, teicoplanin, teicoplanin-macromethod, telavancin,
|
||||
vancomycin, and vancomycin-macromethod)
|
||||
|
||||
- glycopeptides_except_lipo
|
||||
(avoparcin, bleomycin, norvancomycin, ramoplanin, teicoplanin,
|
||||
teicoplanin-macromethod, vancomycin, and vancomycin-macromethod)
|
||||
|
||||
- isoxazolylpenicillins
|
||||
(cloxacillin, dicloxacillin, flucloxacillin, meticillin, oxacillin,
|
||||
and oxacillin screening test)
|
||||
|
||||
- lincosamides
|
||||
(clindamycin, lincomycin, and pirlimycin)
|
||||
|
||||
- lipoglycopeptides
|
||||
(dalbavancin, oritavancin, and telavancin)
|
||||
|
||||
- macrolides
|
||||
(acetylmidecamycin, acetylspiramycin, azithromycin, clarithromycin,
|
||||
dirithromycin, erythromycin, flurithromycin, gamithromycin, josamycin,
|
||||
kitasamycin, meleumycin, midecamycin, miocamycin, nafithromycin,
|
||||
oleandomycin, rokitamycin, roxithromycin, solithromycin, spiramycin,
|
||||
telithromycin, tildipirosin, tilmicosin, troleandomycin,
|
||||
tulathromycin, tylosin, and tylvalosin)
|
||||
|
||||
- monobactams
|
||||
(aztreonam, aztreonam/avibactam, aztreonam/nacubactam, carumonam, and
|
||||
tigemonam)
|
||||
|
||||
- nitrofurans
|
||||
(furazidin, furazolidone, nifurtoinol, nitrofurantoin, and
|
||||
nitrofurazone)
|
||||
|
||||
- oxazolidinones
|
||||
(cadazolid, cycloserine, linezolid, tedizolid, and thiacetazone)
|
||||
|
||||
- penicillins
|
||||
(amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam,
|
||||
ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin,
|
||||
azidocillin, azlocillin, bacampicillin, benzathine benzylpenicillin,
|
||||
benzathine phenoxymethylpenicillin, benzylpenicillin, benzylpenicillin
|
||||
screening test, carbenicillin, carindacillin, ciclacillin,
|
||||
clometocillin, cloxacillin, dicloxacillin, epicillin, flucloxacillin,
|
||||
hetacillin, lenampicillin, mecillinam, metampicillin, meticillin,
|
||||
mezlocillin, mezlocillin/sulbactam, nafcillin, oxacillin, oxacillin
|
||||
screening test, penamecillin, penicillin/novobiocin,
|
||||
penicillin/sulbactam, pheneticillin, phenoxymethylpenicillin,
|
||||
piperacillin, piperacillin/sulbactam, piperacillin/tazobactam,
|
||||
piridicillin, pivampicillin, pivmecillinam, procaine benzylpenicillin,
|
||||
propicillin, sarmoxicillin, sulbenicillin, sultamicillin,
|
||||
talampicillin, temocillin, ticarcillin, and ticarcillin/clavulanic
|
||||
acid)
|
||||
|
||||
- phenicols
|
||||
(chloramphenicol, florfenicol, and thiamphenicol)
|
||||
|
||||
- polymyxins
|
||||
(colistin, polymyxin B, and polymyxin B/polysorbate 80)
|
||||
|
||||
- quinolones
|
||||
(besifloxacin, cinoxacin, ciprofloxacin, ciprofloxacin/metronidazole,
|
||||
ciprofloxacin/ornidazole, ciprofloxacin/tinidazole, clinafloxacin,
|
||||
danofloxacin, delafloxacin, difloxacin, enoxacin, enrofloxacin,
|
||||
finafloxacin, fleroxacin, flumequine, garenoxacin, gatifloxacin,
|
||||
gemifloxacin, grepafloxacin, lascufloxacin, levofloxacin,
|
||||
levofloxacin/ornidazole, levonadifloxacin, lomefloxacin,
|
||||
marbofloxacin, metioxate, miloxacin, moxifloxacin, nadifloxacin,
|
||||
nalidixic acid, nalidixic acid screening test, nemonoxacin,
|
||||
nifuroquine, nitroxoline, norfloxacin, norfloxacin screening test,
|
||||
norfloxacin/metronidazole, norfloxacin/tinidazole, ofloxacin,
|
||||
ofloxacin/ornidazole, orbifloxacin, oxolinic acid, pazufloxacin,
|
||||
pefloxacin, pefloxacin screening test, pipemidic acid, piromidic acid,
|
||||
pradofloxacin, premafloxacin, prulifloxacin, rosoxacin, rufloxacin,
|
||||
sarafloxacin, sitafloxacin, sparfloxacin, temafloxacin, tilbroquinol,
|
||||
tioxacin, tosufloxacin, and trovafloxacin)
|
||||
|
||||
- rifamycins
|
||||
(rifabutin, rifampicin, rifampicin/ethambutol/isoniazid,
|
||||
rifampicin/isoniazid, rifampicin/pyrazinamide/ethambutol/isoniazid,
|
||||
rifampicin/pyrazinamide/isoniazid, rifamycin, and rifapentine)
|
||||
|
||||
- streptogramins
|
||||
(pristinamycin and quinupristin/dalfopristin)
|
||||
|
||||
- sulfonamides
|
||||
(brodimoprim, sulfadiazine, sulfadiazine/tetroxoprim,
|
||||
sulfadimethoxine, sulfadimidine, sulfafurazole, sulfaisodimidine,
|
||||
sulfalene, sulfamazone, sulfamerazine, sulfamethizole,
|
||||
sulfamethoxazole, sulfamethoxypyridazine, sulfametomidine,
|
||||
sulfametoxydiazine, sulfamoxole, sulfanilamide, sulfaperin,
|
||||
sulfaphenazole, sulfapyridine, sulfathiazole, and sulfathiourea)
|
||||
|
||||
- tetracyclines
|
||||
(cetocycline, chlortetracycline, clomocycline, demeclocycline,
|
||||
doxycycline, eravacycline, lymecycline, metacycline, minocycline,
|
||||
omadacycline, oxytetracycline, penimepicycline, rolitetracycline,
|
||||
sarecycline, tetracycline, tetracycline screening test, and
|
||||
tigecycline)
|
||||
|
||||
- tetracyclines_except_tgc
|
||||
(cetocycline, chlortetracycline, clomocycline, demeclocycline,
|
||||
doxycycline, eravacycline, lymecycline, metacycline, minocycline,
|
||||
omadacycline, oxytetracycline, penimepicycline, rolitetracycline,
|
||||
sarecycline, tetracycline, and tetracycline screening test)
|
||||
|
||||
- trimethoprims
|
||||
(brodimoprim, sulfadiazine, sulfadiazine/tetroxoprim,
|
||||
sulfadiazine/trimethoprim, sulfadimethoxine, sulfadimidine,
|
||||
sulfadimidine/trimethoprim, sulfafurazole, sulfaisodimidine,
|
||||
sulfalene, sulfamazone, sulfamerazine, sulfamerazine/trimethoprim,
|
||||
sulfamethizole, sulfamethoxazole, sulfamethoxypyridazine,
|
||||
sulfametomidine, sulfametoxydiazine, sulfametrole/trimethoprim,
|
||||
sulfamoxole, sulfamoxole/trimethoprim, sulfanilamide, sulfaperin,
|
||||
sulfaphenazole, sulfapyridine, sulfathiazole, sulfathiourea,
|
||||
trimethoprim, and trimethoprim/sulfamethoxazole)
|
||||
|
||||
- ureidopenicillins
|
||||
(azlocillin, mezlocillin, piperacillin, and piperacillin/tazobactam)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
x <- custom_eucast_rules(
|
||||
AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R",
|
||||
AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I"
|
||||
)
|
||||
x
|
||||
#> A set of custom EUCAST rules:
|
||||
#>
|
||||
#> 1. If AMC is R and genus is "Klebsiella" then set to R :
|
||||
#> amoxicillin (AMX), ampicillin (AMP)
|
||||
#>
|
||||
#> 2. If AMC is I and genus is "Klebsiella" then set to I :
|
||||
#> amoxicillin (AMX), ampicillin (AMP)
|
||||
|
||||
# run the custom rule set (verbose = TRUE will return a logbook instead of the data set):
|
||||
eucast_rules(example_isolates,
|
||||
rules = "custom",
|
||||
custom_rules = x,
|
||||
info = FALSE,
|
||||
overwrite = TRUE,
|
||||
verbose = TRUE
|
||||
)
|
||||
#> # A tibble: 8 × 9
|
||||
#> row col mo_fullname old new rule rule_group rule_name rule_source
|
||||
#> <int> <chr> <chr> <ord> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 33 AMP Klebsiella pne… R I "rep… Custom EU… Custom E… Object 'x'…
|
||||
#> 2 33 AMX Klebsiella pne… R I "rep… Custom EU… Custom E… Object 'x'…
|
||||
#> 3 34 AMP Klebsiella pne… R I "rep… Custom EU… Custom E… Object 'x'…
|
||||
#> 4 34 AMX Klebsiella pne… R I "rep… Custom EU… Custom E… Object 'x'…
|
||||
#> 5 531 AMP Klebsiella pne… R I "rep… Custom EU… Custom E… Object 'x'…
|
||||
#> 6 531 AMX Klebsiella pne… R I "rep… Custom EU… Custom E… Object 'x'…
|
||||
#> 7 1485 AMP Klebsiella oxy… R I "rep… Custom EU… Custom E… Object 'x'…
|
||||
#> 8 1485 AMX Klebsiella oxy… R I "rep… Custom EU… Custom E… Object 'x'…
|
||||
|
||||
# combine rule sets
|
||||
x2 <- c(
|
||||
x,
|
||||
custom_eucast_rules(TZP == "R" ~ carbapenems == "R")
|
||||
)
|
||||
x2
|
||||
#> A set of custom EUCAST rules:
|
||||
#>
|
||||
#> 1. If AMC is R and genus is "Klebsiella" then set to R :
|
||||
#> amoxicillin (AMX), ampicillin (AMP)
|
||||
#>
|
||||
#> 2. If AMC is I and genus is "Klebsiella" then set to I :
|
||||
#> amoxicillin (AMX), ampicillin (AMP)
|
||||
#>
|
||||
#> 3. If TZP is R then set to R :
|
||||
#> biapenem (BIA), doripenem (DOR), ertapenem (ETP), imipenem (IPM),
|
||||
#> imipenem/EDTA (IPE), imipenem/relebactam (IMR), meropenem (MEM),
|
||||
#> meropenem/nacubactam (MNC), meropenem/vaborbactam (MEV), panipenem (PAN),
|
||||
#> razupenem (RZM), ritipenem (RIT), ritipenem acoxil (RIA), taniborbactam
|
||||
#> (TAN), tebipenem (TBP)
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -148,14 +148,14 @@
|
||||
<li><p><code><a href="antimicrobial_selectors.html">aminopenicillins()</a></code> can select: <br> amoxicillin and ampicillin</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">antifungals()</a></code> can select: <br> amorolfine, amphotericin B, amphotericin B-high, anidulafungin, butoconazole, caspofungin, ciclopirox, clotrimazole, econazole, fluconazole, flucytosine, fosfluconazole, griseofulvin, hachimycin, ibrexafungerp, isavuconazole, isoconazole, itraconazole, ketoconazole, manogepix, micafungin, miconazole, nystatin, oteseconazole, pimaricin, posaconazole, rezafungin, ribociclib, sulconazole, terbinafine, terconazole, and voriconazole</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">antimycobacterials()</a></code> can select: <br> 4-aminosalicylic acid, calcium aminosalicylate, capreomycin, clofazimine, delamanid, enviomycin, ethambutol, ethambutol/isoniazid, ethionamide, isoniazid, isoniazid/sulfamethoxazole/trimethoprim/pyridoxine, morinamide, p-aminosalicylic acid, pretomanid, protionamide, pyrazinamide, rifabutin, rifampicin, rifampicin/ethambutol/isoniazid, rifampicin/isoniazid, rifampicin/pyrazinamide/ethambutol/isoniazid, rifampicin/pyrazinamide/isoniazid, rifamycin, rifapentine, sodium aminosalicylate, streptomycin/isoniazid, terizidone, thioacetazone, thioacetazone/isoniazid, tiocarlide, and viomycin</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">betalactams()</a></code> can select: <br> amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin, azidocillin, azlocillin, aztreonam, aztreonam/avibactam, aztreonam/nacubactam, bacampicillin, benzathine benzylpenicillin, benzathine phenoxymethylpenicillin, benzylpenicillin, benzylpenicillin screening test, biapenem, carbenicillin, carindacillin, carumonam, cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, ciclacillin, clometocillin, cloxacillin, dicloxacillin, doripenem, epicillin, ertapenem, flucloxacillin, hetacillin, imipenem, imipenem/EDTA, imipenem/relebactam, latamoxef, lenampicillin, loracarbef, mecillinam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, metampicillin, meticillin, mezlocillin, mezlocillin/sulbactam, nafcillin, oxacillin, oxacillin screening test, panipenem, penamecillin, penicillin/novobiocin, penicillin/sulbactam, pheneticillin, phenoxymethylpenicillin, piperacillin, piperacillin/sulbactam, piperacillin/tazobactam, piridicillin, pivampicillin, pivmecillinam, procaine benzylpenicillin, propicillin, razupenem, ritipenem, ritipenem acoxil, sarmoxicillin, sulbenicillin, sultamicillin, talampicillin, tebipenem, temocillin, ticarcillin, ticarcillin/clavulanic acid, and tigemonam</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">betalactams_with_inhibitor()</a></code> can select: <br> amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin/sulbactam, aztreonam/avibactam, aztreonam/nacubactam, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefoperazone/sulbactam, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefpodoxime/clavulanic acid, ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic acid, ceftolozane/tazobactam, ceftriaxone/beta-lactamase inhibitor, imipenem/relebactam, meropenem/nacubactam, meropenem/vaborbactam, mezlocillin/sulbactam, penicillin/novobiocin, penicillin/sulbactam, piperacillin/sulbactam, piperacillin/tazobactam, and ticarcillin/clavulanic acid</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">carbapenems()</a></code> can select: <br> biapenem, doripenem, ertapenem, imipenem, imipenem/EDTA, imipenem/relebactam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, panipenem, razupenem, ritipenem, ritipenem acoxil, and tebipenem</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">cephalosporins()</a></code> can select: <br> cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, latamoxef, and loracarbef</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">betalactams()</a></code> can select: <br> amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin, azidocillin, azlocillin, aztreonam, aztreonam/avibactam, aztreonam/nacubactam, bacampicillin, benzathine benzylpenicillin, benzathine phenoxymethylpenicillin, benzylpenicillin, benzylpenicillin screening test, biapenem, carbenicillin, carindacillin, carumonam, cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, ciclacillin, clometocillin, cloxacillin, dicloxacillin, doripenem, epicillin, ertapenem, flucloxacillin, hetacillin, imipenem, imipenem/EDTA, imipenem/relebactam, latamoxef, lenampicillin, loracarbef, mecillinam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, metampicillin, meticillin, mezlocillin, mezlocillin/sulbactam, nafcillin, oxacillin, oxacillin screening test, panipenem, penamecillin, penicillin/novobiocin, penicillin/sulbactam, pheneticillin, phenoxymethylpenicillin, piperacillin, piperacillin/sulbactam, piperacillin/tazobactam, piridicillin, pivampicillin, pivmecillinam, procaine benzylpenicillin, propicillin, razupenem, ritipenem, ritipenem acoxil, sarmoxicillin, sulbenicillin, sultamicillin, talampicillin, taniborbactam, tebipenem, temocillin, ticarcillin, ticarcillin/clavulanic acid, and tigemonam</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">betalactams_with_inhibitor()</a></code> can select: <br> amoxicillin/clavulanic acid, amoxicillin/sulbactam, ampicillin/sulbactam, aztreonam/avibactam, aztreonam/nacubactam, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefoperazone/sulbactam, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefpodoxime/clavulanic acid, ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic acid, ceftolozane/tazobactam, ceftriaxone/beta-lactamase inhibitor, imipenem/relebactam, meropenem/nacubactam, meropenem/vaborbactam, mezlocillin/sulbactam, penicillin/novobiocin, penicillin/sulbactam, piperacillin/sulbactam, piperacillin/tazobactam, and ticarcillin/clavulanic acid</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">carbapenems()</a></code> can select: <br> biapenem, doripenem, ertapenem, imipenem, imipenem/EDTA, imipenem/relebactam, meropenem, meropenem/nacubactam, meropenem/vaborbactam, panipenem, razupenem, ritipenem, ritipenem acoxil, taniborbactam, and tebipenem</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">cephalosporins()</a></code> can select: <br> cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin, cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol, cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole, cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam, ceforanide, cefoselis, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam, cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test, cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil, cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline, ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime, cefuroxime axetil, cephradine, latamoxef, and loracarbef</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">cephalosporins_1st()</a></code> can select: <br> cefacetrile, cefadroxil, cefalexin, cefaloridine, cefalotin, cefapirin, cefatrizine, cefazedone, cefazolin, cefroxadine, ceftezole, and cephradine</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">cephalosporins_2nd()</a></code> can select: <br> cefaclor, cefamandole, cefmetazole, cefonicid, ceforanide, cefotetan, cefotiam, cefoxitin, cefoxitin screening test, cefprozil, cefuroxime, cefuroxime axetil, and loracarbef</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">cephalosporins_3rd()</a></code> can select: <br> cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefetamet, cefetamet pivoxil, cefixime, cefmenoxime, cefodizime, cefoperazone, cefoperazone/sulbactam, cefotaxime, cefotaxime screening test, cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotiam hexetil, cefovecin, cefpimizole, cefpiramide, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefsulodin, ceftazidime, ceftazidime/avibactam, ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftriaxone, ceftriaxone/beta-lactamase inhibitor, and latamoxef</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">cephalosporins_4th()</a></code> can select: <br> cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/tazobactam, cefepime/zidebactam, cefetecol, cefoselis, cefozopran, cefpirome, and cefquinome</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">cephalosporins_4th()</a></code> can select: <br> cefepime, cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam, cefepime/zidebactam, cefetecol, cefoselis, cefozopran, cefpirome, and cefquinome</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">cephalosporins_5th()</a></code> can select: <br> ceftaroline, ceftaroline/avibactam, ceftobiprole, ceftobiprole medocaril, and ceftolozane/tazobactam</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">fluoroquinolones()</a></code> can select: <br> besifloxacin, ciprofloxacin, ciprofloxacin/metronidazole, ciprofloxacin/ornidazole, ciprofloxacin/tinidazole, clinafloxacin, danofloxacin, delafloxacin, difloxacin, enoxacin, enrofloxacin, finafloxacin, fleroxacin, garenoxacin, gatifloxacin, gemifloxacin, grepafloxacin, lascufloxacin, levofloxacin, levofloxacin/ornidazole, levonadifloxacin, lomefloxacin, marbofloxacin, metioxate, miloxacin, moxifloxacin, nadifloxacin, nemonoxacin, nifuroquine, nitroxoline, norfloxacin, norfloxacin screening test, norfloxacin/metronidazole, norfloxacin/tinidazole, ofloxacin, ofloxacin/ornidazole, orbifloxacin, pazufloxacin, pefloxacin, pefloxacin screening test, pradofloxacin, premafloxacin, prulifloxacin, rufloxacin, sarafloxacin, sitafloxacin, sparfloxacin, temafloxacin, tilbroquinol, tioxacin, tosufloxacin, and trovafloxacin</p></li>
|
||||
<li><p><code><a href="antimicrobial_selectors.html">glycopeptides()</a></code> can select: <br> avoparcin, bleomycin, dalbavancin, norvancomycin, oritavancin, ramoplanin, teicoplanin, teicoplanin-macromethod, telavancin, vancomycin, and vancomycin-macromethod</p></li>
|
||||
|
||||
515
reference/custom_mdro_guideline.md
Normal file
515
reference/custom_mdro_guideline.md
Normal file
@@ -0,0 +1,515 @@
|
||||
# Define Custom MDRO Guideline
|
||||
|
||||
Define custom a MDRO guideline for your organisation or specific
|
||||
analysis and use the output of this function in
|
||||
[`mdro()`](https://amr-for-r.org/reference/mdro.md).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
custom_mdro_guideline(..., as_factor = TRUE)
|
||||
|
||||
# S3 method for class 'custom_mdro_guideline'
|
||||
c(x, ..., as_factor = NULL)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- ...:
|
||||
|
||||
Guideline rules in [formula](https://rdrr.io/r/base/tilde.html)
|
||||
notation, see below for instructions, and in *Examples*.
|
||||
|
||||
- as_factor:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the returned value should be an ordered
|
||||
[factor](https://rdrr.io/r/base/factor.html) (`TRUE`, default), or
|
||||
otherwise a [character](https://rdrr.io/r/base/character.html) vector.
|
||||
For combining rules sets (using
|
||||
[`c()`](https://rdrr.io/r/base/c.html)) this value will be inherited
|
||||
from the first set at default.
|
||||
|
||||
- x:
|
||||
|
||||
Existing custom MDRO rules
|
||||
|
||||
## Value
|
||||
|
||||
A [list](https://rdrr.io/r/base/list.html) containing the custom rules
|
||||
|
||||
## Details
|
||||
|
||||
Using a custom MDRO guideline is of importance if you have custom rules
|
||||
to determine MDROs in your hospital, e.g., rules that are dependent on
|
||||
ward, state of contact isolation or other variables in your data.
|
||||
|
||||
### Basics
|
||||
|
||||
If you are familiar with the
|
||||
[`case_when()`](https://dplyr.tidyverse.org/reference/case_when.html)
|
||||
function of the `dplyr` package, you will recognise the input method to
|
||||
set your own rules. Rules must be set using what R considers to be the
|
||||
'formula notation'. The rule itself is written *before* the tilde (`~`)
|
||||
and the consequence of the rule is written *after* the tilde:
|
||||
|
||||
custom <- custom_mdro_guideline(CIP == "R" & age > 60 ~ "Elderly Type A",
|
||||
ERY == "R" & age > 60 ~ "Elderly Type B")
|
||||
|
||||
If a row/an isolate matches the first rule, the value after the first
|
||||
`~` (in this case *'Elderly Type A'*) will be set as MDRO value.
|
||||
Otherwise, the second rule will be tried and so on. The number of rules
|
||||
is unlimited.
|
||||
|
||||
You can print the rules set in the console for an overview. Colours will
|
||||
help reading it if your console supports colours.
|
||||
|
||||
custom
|
||||
#> A set of custom MDRO rules:
|
||||
#> 1. If CIP is R and age is higher than 60 then: Elderly Type A
|
||||
#> 2. If ERY is R and age is higher than 60 then: Elderly Type B
|
||||
#> 3. Otherwise: Negative
|
||||
|
||||
#> Unmatched rows will return NA.
|
||||
#> Results will be of class 'factor', with ordered levels: Negative < Elderly Type A < Elderly Type B
|
||||
|
||||
The outcome of the function can be used for the `guideline` argument in
|
||||
the [`mdro()`](https://amr-for-r.org/reference/mdro.md) function:
|
||||
|
||||
x <- mdro(example_isolates, guideline = custom)
|
||||
#> Determining MDROs based on custom rules, resulting in factor levels: Negative < Elderly Type A < Elderly Type B.
|
||||
#> - Custom MDRO rule 1: CIP == "R" & age > 60 (198 rows matched)
|
||||
#> - Custom MDRO rule 2: ERY == "R" & age > 60 (732 rows matched)
|
||||
#> => Found 930 custom defined MDROs out of 2000 isolates (46.5%)
|
||||
|
||||
table(x)
|
||||
#> x
|
||||
#> Negative Elderly Type A Elderly Type B
|
||||
#> 1070 198 732
|
||||
|
||||
Rules can also be combined with other custom rules by using
|
||||
[`c()`](https://rdrr.io/r/base/c.html):
|
||||
|
||||
x <- mdro(example_isolates,
|
||||
guideline = c(custom,
|
||||
custom_mdro_guideline(ERY == "R" & age > 50 ~ "Elderly Type C")))
|
||||
#> Determining MDROs based on custom rules, resulting in factor levels: Negative < Elderly Type A < Elderly Type B < Elderly Type C.
|
||||
#> - Custom MDRO rule 1: CIP == "R" & age > 60 (198 rows matched)
|
||||
#> - Custom MDRO rule 2: ERY == "R" & age > 60 (732 rows matched)
|
||||
#> - Custom MDRO rule 3: ERY == "R" & age > 50 (109 rows matched)
|
||||
#> => Found 1039 custom defined MDROs out of 2000 isolates (52.0%)
|
||||
|
||||
table(x)
|
||||
#> x
|
||||
#> Negative Elderly Type A Elderly Type B Elderly Type C
|
||||
#> 961 198 732 109
|
||||
|
||||
### Sharing rules among multiple users
|
||||
|
||||
The rules set (the `custom` object in this case) could be exported to a
|
||||
shared file location using
|
||||
[`saveRDS()`](https://rdrr.io/r/base/readRDS.html) if you collaborate
|
||||
with multiple users. The custom rules set could then be imported using
|
||||
[`readRDS()`](https://rdrr.io/r/base/readRDS.html).
|
||||
|
||||
### Usage of multiple antimicrobials and antimicrobial group names
|
||||
|
||||
You can define antimicrobial groups instead of single antimicrobials for
|
||||
the rule itself, which is the part *before* the tilde (~). Use
|
||||
[`any()`](https://rdrr.io/r/base/any.html) or
|
||||
[`all()`](https://rdrr.io/r/base/all.html) to specify the scope of the
|
||||
antimicrobial group:
|
||||
|
||||
custom_mdro_guideline(
|
||||
AMX == "R" ~ "My MDRO #1",
|
||||
any(cephalosporins_2nd() == "R") ~ "My MDRO #2",
|
||||
all(glycopeptides() == "R") ~ "My MDRO #3"
|
||||
)
|
||||
|
||||
All 35 antimicrobial selectors are supported for use in the rules:
|
||||
|
||||
- [`aminoglycosides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
amikacin, amikacin/fosfomycin, apramycin, arbekacin, astromicin,
|
||||
bekanamycin, dibekacin, framycetin, gentamicin, gentamicin-high,
|
||||
habekacin, hygromycin, isepamicin, kanamycin, kanamycin-high,
|
||||
kanamycin/cephalexin, micronomicin, neomycin, netilmicin,
|
||||
pentisomicin, plazomicin, propikacin, ribostamycin, sisomicin,
|
||||
streptoduocin, streptomycin, streptomycin-high, tobramycin, and
|
||||
tobramycin-high
|
||||
|
||||
- [`aminopenicillins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
amoxicillin and ampicillin
|
||||
|
||||
- [`antifungals()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
amorolfine, amphotericin B, amphotericin B-high, anidulafungin,
|
||||
butoconazole, caspofungin, ciclopirox, clotrimazole, econazole,
|
||||
fluconazole, flucytosine, fosfluconazole, griseofulvin, hachimycin,
|
||||
ibrexafungerp, isavuconazole, isoconazole, itraconazole, ketoconazole,
|
||||
manogepix, micafungin, miconazole, nystatin, oteseconazole, pimaricin,
|
||||
posaconazole, rezafungin, ribociclib, sulconazole, terbinafine,
|
||||
terconazole, and voriconazole
|
||||
|
||||
- [`antimycobacterials()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
4-aminosalicylic acid, calcium aminosalicylate, capreomycin,
|
||||
clofazimine, delamanid, enviomycin, ethambutol, ethambutol/isoniazid,
|
||||
ethionamide, isoniazid,
|
||||
isoniazid/sulfamethoxazole/trimethoprim/pyridoxine, morinamide,
|
||||
p-aminosalicylic acid, pretomanid, protionamide, pyrazinamide,
|
||||
rifabutin, rifampicin, rifampicin/ethambutol/isoniazid,
|
||||
rifampicin/isoniazid, rifampicin/pyrazinamide/ethambutol/isoniazid,
|
||||
rifampicin/pyrazinamide/isoniazid, rifamycin, rifapentine, sodium
|
||||
aminosalicylate, streptomycin/isoniazid, terizidone, thioacetazone,
|
||||
thioacetazone/isoniazid, tiocarlide, and viomycin
|
||||
|
||||
- [`betalactams()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam,
|
||||
ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin,
|
||||
azidocillin, azlocillin, aztreonam, aztreonam/avibactam,
|
||||
aztreonam/nacubactam, bacampicillin, benzathine benzylpenicillin,
|
||||
benzathine phenoxymethylpenicillin, benzylpenicillin, benzylpenicillin
|
||||
screening test, biapenem, carbenicillin, carindacillin, carumonam,
|
||||
cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin,
|
||||
cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene,
|
||||
cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime,
|
||||
cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam,
|
||||
cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam,
|
||||
cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol,
|
||||
cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole,
|
||||
cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam,
|
||||
ceforanide, cefoselis, cefotaxime, cefotaxime screening test,
|
||||
cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam,
|
||||
cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test,
|
||||
cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime,
|
||||
cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil,
|
||||
cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline,
|
||||
ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam,
|
||||
ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole,
|
||||
ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil,
|
||||
ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam,
|
||||
ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime,
|
||||
cefuroxime axetil, cephradine, ciclacillin, clometocillin,
|
||||
cloxacillin, dicloxacillin, doripenem, epicillin, ertapenem,
|
||||
flucloxacillin, hetacillin, imipenem, imipenem/EDTA,
|
||||
imipenem/relebactam, latamoxef, lenampicillin, loracarbef, mecillinam,
|
||||
meropenem, meropenem/nacubactam, meropenem/vaborbactam, metampicillin,
|
||||
meticillin, mezlocillin, mezlocillin/sulbactam, nafcillin, oxacillin,
|
||||
oxacillin screening test, panipenem, penamecillin,
|
||||
penicillin/novobiocin, penicillin/sulbactam, pheneticillin,
|
||||
phenoxymethylpenicillin, piperacillin, piperacillin/sulbactam,
|
||||
piperacillin/tazobactam, piridicillin, pivampicillin, pivmecillinam,
|
||||
procaine benzylpenicillin, propicillin, razupenem, ritipenem,
|
||||
ritipenem acoxil, sarmoxicillin, sulbenicillin, sultamicillin,
|
||||
talampicillin, taniborbactam, tebipenem, temocillin, ticarcillin,
|
||||
ticarcillin/clavulanic acid, and tigemonam
|
||||
|
||||
- [`betalactams_with_inhibitor()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
amoxicillin/clavulanic acid, amoxicillin/sulbactam,
|
||||
ampicillin/sulbactam, aztreonam/avibactam, aztreonam/nacubactam,
|
||||
cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam,
|
||||
cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam,
|
||||
cefepime/zidebactam, cefoperazone/sulbactam, cefotaxime/clavulanic
|
||||
acid, cefotaxime/sulbactam, cefpodoxime/clavulanic acid,
|
||||
ceftaroline/avibactam, ceftazidime/avibactam, ceftazidime/clavulanic
|
||||
acid, ceftolozane/tazobactam, ceftriaxone/beta-lactamase inhibitor,
|
||||
imipenem/relebactam, meropenem/nacubactam, meropenem/vaborbactam,
|
||||
mezlocillin/sulbactam, penicillin/novobiocin, penicillin/sulbactam,
|
||||
piperacillin/sulbactam, piperacillin/tazobactam, and
|
||||
ticarcillin/clavulanic acid
|
||||
|
||||
- [`carbapenems()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
biapenem, doripenem, ertapenem, imipenem, imipenem/EDTA,
|
||||
imipenem/relebactam, meropenem, meropenem/nacubactam,
|
||||
meropenem/vaborbactam, panipenem, razupenem, ritipenem, ritipenem
|
||||
acoxil, taniborbactam, and tebipenem
|
||||
|
||||
- [`cephalosporins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
cefacetrile, cefaclor, cefadroxil, cefalexin, cefaloridine, cefalotin,
|
||||
cefamandole, cefapirin, cefatrizine, cefazedone, cefazolin, cefcapene,
|
||||
cefcapene pivoxil, cefdinir, cefditoren, cefditoren pivoxil, cefepime,
|
||||
cefepime/amikacin, cefepime/clavulanic acid, cefepime/enmetazobactam,
|
||||
cefepime/nacubactam, cefepime/taniborbactam, cefepime/tazobactam,
|
||||
cefepime/zidebactam, cefetamet, cefetamet pivoxil, cefetecol,
|
||||
cefetrizole, cefiderocol, cefixime, cefmenoxime, cefmetazole,
|
||||
cefodizime, cefonicid, cefoperazone, cefoperazone/sulbactam,
|
||||
ceforanide, cefoselis, cefotaxime, cefotaxime screening test,
|
||||
cefotaxime/clavulanic acid, cefotaxime/sulbactam, cefotetan, cefotiam,
|
||||
cefotiam hexetil, cefovecin, cefoxitin, cefoxitin screening test,
|
||||
cefozopran, cefpimizole, cefpiramide, cefpirome, cefpodoxime,
|
||||
cefpodoxime proxetil, cefpodoxime/clavulanic acid, cefprozil,
|
||||
cefquinome, cefroxadine, cefsulodin, cefsumide, ceftaroline,
|
||||
ceftaroline/avibactam, ceftazidime, ceftazidime/avibactam,
|
||||
ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftezole,
|
||||
ceftibuten, ceftiofur, ceftizoxime, ceftizoxime alapivoxil,
|
||||
ceftobiprole, ceftobiprole medocaril, ceftolozane/tazobactam,
|
||||
ceftriaxone, ceftriaxone/beta-lactamase inhibitor, cefuroxime,
|
||||
cefuroxime axetil, cephradine, latamoxef, and loracarbef
|
||||
|
||||
- [`cephalosporins_1st()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
cefacetrile, cefadroxil, cefalexin, cefaloridine, cefalotin,
|
||||
cefapirin, cefatrizine, cefazedone, cefazolin, cefroxadine, ceftezole,
|
||||
and cephradine
|
||||
|
||||
- [`cephalosporins_2nd()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
cefaclor, cefamandole, cefmetazole, cefonicid, ceforanide, cefotetan,
|
||||
cefotiam, cefoxitin, cefoxitin screening test, cefprozil, cefuroxime,
|
||||
cefuroxime axetil, and loracarbef
|
||||
|
||||
- [`cephalosporins_3rd()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
cefcapene, cefcapene pivoxil, cefdinir, cefditoren, cefditoren
|
||||
pivoxil, cefetamet, cefetamet pivoxil, cefixime, cefmenoxime,
|
||||
cefodizime, cefoperazone, cefoperazone/sulbactam, cefotaxime,
|
||||
cefotaxime screening test, cefotaxime/clavulanic acid,
|
||||
cefotaxime/sulbactam, cefotiam hexetil, cefovecin, cefpimizole,
|
||||
cefpiramide, cefpodoxime, cefpodoxime proxetil, cefpodoxime/clavulanic
|
||||
acid, cefsulodin, ceftazidime, ceftazidime/avibactam,
|
||||
ceftazidime/clavulanic acid, cefteram, cefteram pivoxil, ceftibuten,
|
||||
ceftiofur, ceftizoxime, ceftizoxime alapivoxil, ceftriaxone,
|
||||
ceftriaxone/beta-lactamase inhibitor, and latamoxef
|
||||
|
||||
- [`cephalosporins_4th()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
cefepime, cefepime/amikacin, cefepime/clavulanic acid,
|
||||
cefepime/enmetazobactam, cefepime/nacubactam, cefepime/taniborbactam,
|
||||
cefepime/tazobactam, cefepime/zidebactam, cefetecol, cefoselis,
|
||||
cefozopran, cefpirome, and cefquinome
|
||||
|
||||
- [`cephalosporins_5th()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
ceftaroline, ceftaroline/avibactam, ceftobiprole, ceftobiprole
|
||||
medocaril, and ceftolozane/tazobactam
|
||||
|
||||
- [`fluoroquinolones()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
besifloxacin, ciprofloxacin, ciprofloxacin/metronidazole,
|
||||
ciprofloxacin/ornidazole, ciprofloxacin/tinidazole, clinafloxacin,
|
||||
danofloxacin, delafloxacin, difloxacin, enoxacin, enrofloxacin,
|
||||
finafloxacin, fleroxacin, garenoxacin, gatifloxacin, gemifloxacin,
|
||||
grepafloxacin, lascufloxacin, levofloxacin, levofloxacin/ornidazole,
|
||||
levonadifloxacin, lomefloxacin, marbofloxacin, metioxate, miloxacin,
|
||||
moxifloxacin, nadifloxacin, nemonoxacin, nifuroquine, nitroxoline,
|
||||
norfloxacin, norfloxacin screening test, norfloxacin/metronidazole,
|
||||
norfloxacin/tinidazole, ofloxacin, ofloxacin/ornidazole, orbifloxacin,
|
||||
pazufloxacin, pefloxacin, pefloxacin screening test, pradofloxacin,
|
||||
premafloxacin, prulifloxacin, rufloxacin, sarafloxacin, sitafloxacin,
|
||||
sparfloxacin, temafloxacin, tilbroquinol, tioxacin, tosufloxacin, and
|
||||
trovafloxacin
|
||||
|
||||
- [`glycopeptides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
avoparcin, bleomycin, dalbavancin, norvancomycin, oritavancin,
|
||||
ramoplanin, teicoplanin, teicoplanin-macromethod, telavancin,
|
||||
vancomycin, and vancomycin-macromethod
|
||||
|
||||
- [`isoxazolylpenicillins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
cloxacillin, dicloxacillin, flucloxacillin, meticillin, oxacillin, and
|
||||
oxacillin screening test
|
||||
|
||||
- [`lincosamides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
clindamycin, lincomycin, and pirlimycin
|
||||
|
||||
- [`lipoglycopeptides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
dalbavancin, oritavancin, and telavancin
|
||||
|
||||
- [`macrolides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
acetylmidecamycin, acetylspiramycin, azithromycin, clarithromycin,
|
||||
dirithromycin, erythromycin, flurithromycin, gamithromycin, josamycin,
|
||||
kitasamycin, meleumycin, midecamycin, miocamycin, nafithromycin,
|
||||
oleandomycin, rokitamycin, roxithromycin, solithromycin, spiramycin,
|
||||
telithromycin, tildipirosin, tilmicosin, troleandomycin,
|
||||
tulathromycin, tylosin, and tylvalosin
|
||||
|
||||
- [`monobactams()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
aztreonam, aztreonam/avibactam, aztreonam/nacubactam, carumonam, and
|
||||
tigemonam
|
||||
|
||||
- [`nitrofurans()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
furazidin, furazolidone, nifurtoinol, nitrofurantoin, and
|
||||
nitrofurazone
|
||||
|
||||
- [`oxazolidinones()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
cadazolid, cycloserine, linezolid, tedizolid, and thiacetazone
|
||||
|
||||
- [`penicillins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
amoxicillin, amoxicillin/clavulanic acid, amoxicillin/sulbactam,
|
||||
ampicillin, ampicillin/sulbactam, apalcillin, aspoxicillin,
|
||||
azidocillin, azlocillin, bacampicillin, benzathine benzylpenicillin,
|
||||
benzathine phenoxymethylpenicillin, benzylpenicillin, benzylpenicillin
|
||||
screening test, carbenicillin, carindacillin, ciclacillin,
|
||||
clometocillin, cloxacillin, dicloxacillin, epicillin, flucloxacillin,
|
||||
hetacillin, lenampicillin, mecillinam, metampicillin, meticillin,
|
||||
mezlocillin, mezlocillin/sulbactam, nafcillin, oxacillin, oxacillin
|
||||
screening test, penamecillin, penicillin/novobiocin,
|
||||
penicillin/sulbactam, pheneticillin, phenoxymethylpenicillin,
|
||||
piperacillin, piperacillin/sulbactam, piperacillin/tazobactam,
|
||||
piridicillin, pivampicillin, pivmecillinam, procaine benzylpenicillin,
|
||||
propicillin, sarmoxicillin, sulbenicillin, sultamicillin,
|
||||
talampicillin, temocillin, ticarcillin, and ticarcillin/clavulanic
|
||||
acid
|
||||
|
||||
- [`phenicols()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
chloramphenicol, florfenicol, and thiamphenicol
|
||||
|
||||
- [`polymyxins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
colistin, polymyxin B, and polymyxin B/polysorbate 80
|
||||
|
||||
- [`quinolones()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
besifloxacin, cinoxacin, ciprofloxacin, ciprofloxacin/metronidazole,
|
||||
ciprofloxacin/ornidazole, ciprofloxacin/tinidazole, clinafloxacin,
|
||||
danofloxacin, delafloxacin, difloxacin, enoxacin, enrofloxacin,
|
||||
finafloxacin, fleroxacin, flumequine, garenoxacin, gatifloxacin,
|
||||
gemifloxacin, grepafloxacin, lascufloxacin, levofloxacin,
|
||||
levofloxacin/ornidazole, levonadifloxacin, lomefloxacin,
|
||||
marbofloxacin, metioxate, miloxacin, moxifloxacin, nadifloxacin,
|
||||
nalidixic acid, nalidixic acid screening test, nemonoxacin,
|
||||
nifuroquine, nitroxoline, norfloxacin, norfloxacin screening test,
|
||||
norfloxacin/metronidazole, norfloxacin/tinidazole, ofloxacin,
|
||||
ofloxacin/ornidazole, orbifloxacin, oxolinic acid, pazufloxacin,
|
||||
pefloxacin, pefloxacin screening test, pipemidic acid, piromidic acid,
|
||||
pradofloxacin, premafloxacin, prulifloxacin, rosoxacin, rufloxacin,
|
||||
sarafloxacin, sitafloxacin, sparfloxacin, temafloxacin, tilbroquinol,
|
||||
tioxacin, tosufloxacin, and trovafloxacin
|
||||
|
||||
- [`rifamycins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
rifabutin, rifampicin, rifampicin/ethambutol/isoniazid,
|
||||
rifampicin/isoniazid, rifampicin/pyrazinamide/ethambutol/isoniazid,
|
||||
rifampicin/pyrazinamide/isoniazid, rifamycin, and rifapentine
|
||||
|
||||
- [`streptogramins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
pristinamycin and quinupristin/dalfopristin
|
||||
|
||||
- [`sulfonamides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
brodimoprim, sulfadiazine, sulfadiazine/tetroxoprim, sulfadimethoxine,
|
||||
sulfadimidine, sulfafurazole, sulfaisodimidine, sulfalene,
|
||||
sulfamazone, sulfamerazine, sulfamethizole, sulfamethoxazole,
|
||||
sulfamethoxypyridazine, sulfametomidine, sulfametoxydiazine,
|
||||
sulfamoxole, sulfanilamide, sulfaperin, sulfaphenazole, sulfapyridine,
|
||||
sulfathiazole, and sulfathiourea
|
||||
|
||||
- [`tetracyclines()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
cetocycline, chlortetracycline, clomocycline, demeclocycline,
|
||||
doxycycline, eravacycline, lymecycline, metacycline, minocycline,
|
||||
omadacycline, oxytetracycline, penimepicycline, rolitetracycline,
|
||||
sarecycline, tetracycline, tetracycline screening test, and
|
||||
tigecycline
|
||||
|
||||
- [`trimethoprims()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
brodimoprim, sulfadiazine, sulfadiazine/tetroxoprim,
|
||||
sulfadiazine/trimethoprim, sulfadimethoxine, sulfadimidine,
|
||||
sulfadimidine/trimethoprim, sulfafurazole, sulfaisodimidine,
|
||||
sulfalene, sulfamazone, sulfamerazine, sulfamerazine/trimethoprim,
|
||||
sulfamethizole, sulfamethoxazole, sulfamethoxypyridazine,
|
||||
sulfametomidine, sulfametoxydiazine, sulfametrole/trimethoprim,
|
||||
sulfamoxole, sulfamoxole/trimethoprim, sulfanilamide, sulfaperin,
|
||||
sulfaphenazole, sulfapyridine, sulfathiazole, sulfathiourea,
|
||||
trimethoprim, and trimethoprim/sulfamethoxazole
|
||||
|
||||
- [`ureidopenicillins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
can select:
|
||||
azlocillin, mezlocillin, piperacillin, and piperacillin/tazobactam
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
x <- custom_mdro_guideline(
|
||||
CIP == "R" & age > 60 ~ "Elderly Type A",
|
||||
ERY == "R" & age > 60 ~ "Elderly Type B"
|
||||
)
|
||||
x
|
||||
#> A set of custom MDRO rules:
|
||||
#> 1. If CIP is R and age is higher than 60 then: Elderly Type A
|
||||
#> 2. If ERY is R and age is higher than 60 then: Elderly Type B
|
||||
#> 3. Otherwise: Negative
|
||||
#>
|
||||
#> Unmatched rows will return NA.
|
||||
#> Results will be of class 'factor', with ordered levels: Negative < Elderly Type A < Elderly Type B
|
||||
|
||||
# run the custom rule set (verbose = TRUE will return a logbook instead of the data set):
|
||||
out <- mdro(example_isolates, guideline = x)
|
||||
table(out)
|
||||
#> out
|
||||
#> Negative Elderly Type A Elderly Type B
|
||||
#> 1070 198 732
|
||||
|
||||
out <- mdro(example_isolates, guideline = x, verbose = TRUE)
|
||||
head(out)
|
||||
#> row_number microorganism MDRO
|
||||
#> V1 1 <NA> Elderly Type B
|
||||
#> V2 2 <NA> Elderly Type B
|
||||
#> V3 3 <NA> Negative
|
||||
#> V4 4 <NA> Negative
|
||||
#> V5 5 <NA> Negative
|
||||
#> V6 6 <NA> Negative
|
||||
#> reason
|
||||
#> V1 matched rule 2: ERY == "R" & age > 60
|
||||
#> V2 matched rule 2: ERY == "R" & age > 60
|
||||
#> V3 no rules matched
|
||||
#> V4 no rules matched
|
||||
#> V5 no rules matched
|
||||
#> V6 no rules matched
|
||||
#> all_nonsusceptible_columns guideline
|
||||
#> V1 PEN, TMP, SXT, LNZ, VAN, TEC, TCY, ERY, CLI, AZM, RIF Custom guideline
|
||||
#> V2 PEN, TMP, SXT, LNZ, VAN, TEC, TCY, ERY, CLI, AZM, RIF Custom guideline
|
||||
#> V3 PEN, FLC, CXM, CAZ, ERY, AZM, COL Custom guideline
|
||||
#> V4 PEN, FLC, CXM, CAZ, ERY, AZM, COL Custom guideline
|
||||
#> V5 PEN, FLC, CXM, CAZ, TMP, ERY, AZM, COL Custom guideline
|
||||
#> V6 PEN, FLC, CXM, CAZ, TMP, ERY, CLI, AZM, COL Custom guideline
|
||||
|
||||
# you can create custom guidelines using selectors (see ?antimicrobial_selectors)
|
||||
my_guideline <- custom_mdro_guideline(
|
||||
AMX == "R" ~ "Custom MDRO 1",
|
||||
all(cephalosporins_2nd() == "R") ~ "Custom MDRO 2"
|
||||
)
|
||||
my_guideline
|
||||
#> A set of custom MDRO rules:
|
||||
#> 1. If AMX is R then: Custom MDRO 1
|
||||
#> 2. If all of cephalosporins_2nd() is R then: Custom MDRO 2
|
||||
#> 3. Otherwise: Negative
|
||||
#>
|
||||
#> Unmatched rows will return NA.
|
||||
#> Results will be of class 'factor', with ordered levels: Negative < Custom MDRO 1 < Custom MDRO 2
|
||||
|
||||
out <- mdro(example_isolates, guideline = my_guideline)
|
||||
#> ℹ Column 'esbl' is SIR eligible (despite only having empty values), since
|
||||
#> it seems to be tazobactam (TAZ)
|
||||
#> ℹ Column 'mecC' is SIR eligible (despite only having empty values), since
|
||||
#> it seems to be mecillinam (MEC)
|
||||
#> ℹ Column 'vanA' is SIR eligible (despite only having empty values), since
|
||||
#> it seems to be lenampicillin (LEN)
|
||||
#> ℹ Column 'vanB' is SIR eligible (despite only having empty values), since
|
||||
#> it seems to be metronidazole (MTR)
|
||||
#> ℹ For `cephalosporins_2nd()` using columns 'CXM' (cefuroxime) and 'FOX'
|
||||
#> (cefoxitin)
|
||||
#> ℹ Assuming a filter on all 2 cephalosporins_2nd. Wrap around `all()` or
|
||||
#> `any()` to prevent this note.
|
||||
table(out)
|
||||
#> out
|
||||
#> Negative Custom MDRO 1 Custom MDRO 2
|
||||
#> 1144 804 52
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
85
reference/dosage.md
Normal file
85
reference/dosage.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# Data Set with Treatment Dosages as Defined by EUCAST
|
||||
|
||||
EUCAST breakpoints used in this package are based on the dosages in this
|
||||
data set. They can be retrieved with
|
||||
[`eucast_dosage()`](https://amr-for-r.org/reference/eucast_rules.md).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
dosage
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
A [tibble](https://tibble.tidyverse.org/reference/tibble.html) with 759
|
||||
observations and 9 variables:
|
||||
|
||||
- `ab`
|
||||
Antimicrobial ID as used in this package (such as `AMC`), using the
|
||||
official EARS-Net (European Antimicrobial Resistance Surveillance
|
||||
Network) codes where available
|
||||
|
||||
- `name`
|
||||
Official name of the antimicrobial drug as used by WHONET/EARS-Net or
|
||||
the WHO
|
||||
|
||||
- `type`
|
||||
Type of the dosage, either "high_dosage", "standard_dosage", or
|
||||
"uncomplicated_uti"
|
||||
|
||||
- `dose`
|
||||
Dose, such as "2 g" or "25 mg/kg"
|
||||
|
||||
- `dose_times`
|
||||
Number of times a dose must be administered
|
||||
|
||||
- `administration`
|
||||
Route of administration, either "", "im", "iv", or "oral"
|
||||
|
||||
- `notes`
|
||||
Additional dosage notes
|
||||
|
||||
- `original_txt`
|
||||
Original text in the PDF file of EUCAST
|
||||
|
||||
- `eucast_version`
|
||||
Version number of the EUCAST Clinical Breakpoints guideline to which
|
||||
these dosages apply, either 15, 14, 13.1, 12, or 11
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
dosage
|
||||
#> # A tibble: 759 × 9
|
||||
#> ab name type dose dose_times administration notes original_txt
|
||||
#> <ab> <chr> <chr> <chr> <int> <chr> <chr> <chr>
|
||||
#> 1 AMK Amikacin stan… 25-3… 1 iv "" "25-30 mg/k…
|
||||
#> 2 AMX Amoxicillin high… 2 g 6 iv "" "2 g x 6 iv"
|
||||
#> 3 AMX Amoxicillin stan… 1 g 3 iv "" "1 g x 3-4 …
|
||||
#> 4 AMX Amoxicillin high… 0.75… 3 oral "" "0.75-1 g x…
|
||||
#> 5 AMX Amoxicillin stan… 0.5 g 3 oral "" "0.5 g x 3 …
|
||||
#> 6 AMX Amoxicillin unco… 0.5 g 3 oral "" "0.5 g x 3 …
|
||||
#> 7 AMC Amoxicillin/cl… high… 2 g … 3 iv "" "(2 g amoxi…
|
||||
#> 8 AMC Amoxicillin/cl… stan… 1 g … 3 iv "" "(1 g amoxi…
|
||||
#> 9 AMC Amoxicillin/cl… high… 0.87… 3 oral "" "(0.875 g a…
|
||||
#> 10 AMC Amoxicillin/cl… stan… 0.5 … 3 oral "" "(0.5 g amo…
|
||||
#> # ℹ 749 more rows
|
||||
#> # ℹ 1 more variable: eucast_version <dbl>
|
||||
```
|
||||
@@ -9,7 +9,7 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
358
reference/eucast_rules.md
Normal file
358
reference/eucast_rules.md
Normal file
@@ -0,0 +1,358 @@
|
||||
# Apply EUCAST Rules
|
||||
|
||||
Apply rules from clinical breakpoints notes and expected resistant
|
||||
phenotypes as defined by the European Committee on Antimicrobial
|
||||
Susceptibility Testing (EUCAST, <https://www.eucast.org>), see *Source*.
|
||||
Use `eucast_dosage()` to get a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) with advised
|
||||
dosages of a certain bug-drug combination, which is based on the
|
||||
[dosage](https://amr-for-r.org/reference/dosage.md) data set.
|
||||
|
||||
To improve the interpretation of the antibiogram before EUCAST rules are
|
||||
applied, some non-EUCAST rules can applied at default, see *Details*.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
eucast_rules(x, col_mo = NULL, info = interactive(),
|
||||
rules = getOption("AMR_eucastrules", default = c("breakpoints",
|
||||
"expected_phenotypes")), verbose = FALSE, version_breakpoints = 15,
|
||||
version_expected_phenotypes = 1.2, version_expertrules = 3.3,
|
||||
ampc_cephalosporin_resistance = NA, only_sir_columns = any(is.sir(x)),
|
||||
custom_rules = NULL, overwrite = FALSE, ...)
|
||||
|
||||
eucast_dosage(ab, administration = "iv", version_breakpoints = 15)
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
- EUCAST Expert Rules. Version 2.0, 2012.
|
||||
Leclercq et al. **EUCAST expert rules in antimicrobial susceptibility
|
||||
testing.** *Clin Microbiol Infect.* 2013;19(2):141-60;
|
||||
[doi:10.1111/j.1469-0691.2011.03703.x](https://doi.org/10.1111/j.1469-0691.2011.03703.x)
|
||||
|
||||
- EUCAST Expert Rules, Intrinsic Resistance and Exceptional Phenotypes
|
||||
Tables. Version 3.1, 2016.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf)
|
||||
|
||||
- EUCAST Intrinsic Resistance and Unusual Phenotypes. Version 3.2, 2020.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/2020/Intrinsic_Resistance_and_Unusual_Phenotypes_Tables_v3.2_20200225.pdf)
|
||||
|
||||
- EUCAST Intrinsic Resistance and Unusual Phenotypes. Version 3.3, 2021.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/2021/Intrinsic_Resistance_and_Unusual_Phenotypes_Tables_v3.3_20211018.pdf)
|
||||
|
||||
- EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters. Version 9.0, 2019.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_9.0_Breakpoint_Tables.xlsx)
|
||||
|
||||
- EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters. Version 10.0, 2020.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_10.0_Breakpoint_Tables.xlsx)
|
||||
|
||||
- EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters. Version 11.0, 2021.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_11.0_Breakpoint_Tables.xlsx)
|
||||
|
||||
- EUCAST Breakpoint tables for interpretation of MICs and zone
|
||||
diameters. Version 12.0, 2022.
|
||||
[(link)](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Breakpoint_tables/v_12.0_Breakpoint_Tables.xlsx)
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A data set with antimicrobials columns, such as `amox`, `AMX` and
|
||||
`AMC`.
|
||||
|
||||
- col_mo:
|
||||
|
||||
Column name of the names or codes of the microorganisms (see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) - the default
|
||||
is the first column of class
|
||||
[`mo`](https://amr-for-r.org/reference/as.mo.md). Values will be
|
||||
coerced using [`as.mo()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
progress should be printed to the console - the default is only print
|
||||
while in interactive sessions.
|
||||
|
||||
- rules:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) vector that
|
||||
specifies which rules should be applied. Must be one or more of
|
||||
`"breakpoints"`, `"expected_phenotypes"`, `"expert"`, `"other"`,
|
||||
`"custom"`, `"all"`, and defaults to
|
||||
`c("breakpoints", "expected_phenotypes")`. The default value can be
|
||||
set to another value using the package option
|
||||
[`AMR_eucastrules`](https://amr-for-r.org/reference/AMR-options.md):
|
||||
`options(AMR_eucastrules = "all")`. If using `"custom"`, be sure to
|
||||
fill in argument `custom_rules` too. Custom rules can be created with
|
||||
[`custom_eucast_rules()`](https://amr-for-r.org/reference/custom_eucast_rules.md).
|
||||
|
||||
- verbose:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) 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. Using Verbose mode takes a lot more time.
|
||||
|
||||
- version_breakpoints:
|
||||
|
||||
The version number to use for the EUCAST Clinical Breakpoints
|
||||
guideline. Can be "15.0", "14.0", "13.1", "12.0", "11.0", or "10.0".
|
||||
|
||||
- version_expected_phenotypes:
|
||||
|
||||
The version number to use for the EUCAST Expected Phenotypes. Can be
|
||||
"1.2".
|
||||
|
||||
- version_expertrules:
|
||||
|
||||
The version number to use for the EUCAST Expert Rules and Intrinsic
|
||||
Resistance guideline. Can be "3.3", "3.2", or "3.1".
|
||||
|
||||
- ampc_cephalosporin_resistance:
|
||||
|
||||
(only applies when `rules` contains `"expert"` or `"all"`) a
|
||||
[character](https://rdrr.io/r/base/character.html) value that should
|
||||
be applied to cefotaxime, ceftriaxone and ceftazidime for AmpC
|
||||
de-repressed cephalosporin-resistant mutants - the default is `NA`.
|
||||
Currently only works when `version_expertrules` is `3.2` and higher;
|
||||
these versions of '*EUCAST Expert Rules on Enterobacterales*' state
|
||||
that results of cefotaxime, ceftriaxone and ceftazidime should be
|
||||
reported with a note, or results should be suppressed (emptied) for
|
||||
these three drugs. A value of `NA` (the default) for this argument
|
||||
will remove results for these three drugs, while e.g. a value of `"R"`
|
||||
will make the results for these drugs resistant. Use `NULL` or `FALSE`
|
||||
to not alter results for these three drugs of AmpC de-repressed
|
||||
cephalosporin-resistant mutants. Using `TRUE` is equal to using
|
||||
`"R"`.
|
||||
For *EUCAST Expert Rules* v3.2, this rule applies to: *Citrobacter
|
||||
braakii*, *Citrobacter freundii*, *Citrobacter gillenii*, *Citrobacter
|
||||
murliniae*, *Citrobacter rodenticum*, *Citrobacter sedlakii*,
|
||||
*Citrobacter werkmanii*, *Citrobacter youngae*, *Enterobacter*,
|
||||
*Hafnia alvei*, *Klebsiella aerogenes*, *Morganella morganii*,
|
||||
*Providencia*, and *Serratia*.
|
||||
|
||||
- only_sir_columns:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
only antimicrobial columns must be included that were transformed to
|
||||
class [sir](https://amr-for-r.org/reference/as.sir.md) on beforehand.
|
||||
Defaults to `FALSE` if no columns of `x` have a class
|
||||
[sir](https://amr-for-r.org/reference/as.sir.md).
|
||||
|
||||
- custom_rules:
|
||||
|
||||
Custom rules to apply, created with
|
||||
[`custom_eucast_rules()`](https://amr-for-r.org/reference/custom_eucast_rules.md).
|
||||
|
||||
- overwrite:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) indicating whether to
|
||||
overwrite existing SIR values (default: `FALSE`). When `FALSE`, only
|
||||
non-SIR values are modified (i.e., any value that is not already S, I
|
||||
or R). To ensure compliance with EUCAST guidelines, **this should
|
||||
remain** `FALSE`, as EUCAST notes often state that an organism "should
|
||||
be tested for susceptibility to individual agents or be reported
|
||||
resistant".
|
||||
|
||||
- ...:
|
||||
|
||||
Column names of antimicrobials. To automatically detect antimicrobial
|
||||
column names, do not provide any named arguments;
|
||||
[`guess_ab_col()`](https://amr-for-r.org/reference/guess_ab_col.md)
|
||||
will then be used for detection. To manually specify a column, provide
|
||||
its name (case-insensitive) as an argument, e.g.
|
||||
`AMX = "amoxicillin"`. To skip a specific antimicrobial, set it to
|
||||
`NULL`, e.g. `TIC = NULL` to exclude ticarcillin. If a manually
|
||||
defined column does not exist in the data, it will be skipped with a
|
||||
warning.
|
||||
|
||||
- ab:
|
||||
|
||||
Any (vector of) text that can be coerced to a valid antimicrobial drug
|
||||
code with [`as.ab()`](https://amr-for-r.org/reference/as.ab.md).
|
||||
|
||||
- administration:
|
||||
|
||||
Route of administration, either "", "im", "iv", or "oral".
|
||||
|
||||
## Value
|
||||
|
||||
The input of `x`, possibly with edited values of antimicrobials. Or, if
|
||||
`verbose = TRUE`, a [data.frame](https://rdrr.io/r/base/data.frame.html)
|
||||
with all original and new values of the affected bug-drug combinations.
|
||||
|
||||
## Details
|
||||
|
||||
**Note:** This function does not translate MIC values to SIR values. Use
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md) 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.
|
||||
|
||||
The file containing all EUCAST rules is located here:
|
||||
<https://github.com/msberends/AMR/blob/main/data-raw/eucast_rules.tsv>.
|
||||
**Note:** Old taxonomic names are replaced with the current taxonomy
|
||||
where applicable. For example, *Ochrobactrum anthropi* was renamed to
|
||||
*Brucella anthropi* in 2020; the original EUCAST rules v3.1 and v3.2 did
|
||||
not yet contain this new taxonomic name. The `AMR` package contains the
|
||||
full microbial taxonomy updated until June 24th, 2024, see
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md).
|
||||
|
||||
### Custom Rules
|
||||
|
||||
Custom rules can be created using
|
||||
[`custom_eucast_rules()`](https://amr-for-r.org/reference/custom_eucast_rules.md),
|
||||
e.g.:
|
||||
|
||||
x <- custom_eucast_rules(AMC == "R" & genus == "Klebsiella" ~ aminopenicillins == "R",
|
||||
AMC == "I" & genus == "Klebsiella" ~ aminopenicillins == "I")
|
||||
|
||||
eucast_rules(example_isolates, rules = "custom", custom_rules = x)
|
||||
|
||||
### 'Other' Rules
|
||||
|
||||
Before further processing, two non-EUCAST rules about drug combinations
|
||||
can be applied to improve the efficacy of the EUCAST rules, and the
|
||||
reliability of your data (analysis). These rules are:
|
||||
|
||||
1. A drug **with** enzyme inhibitor will be set to S if the same drug
|
||||
**without** enzyme inhibitor is S
|
||||
|
||||
2. A drug **without** enzyme inhibitor will be set to R if the same
|
||||
drug **with** enzyme inhibitor is R
|
||||
|
||||
Important examples include amoxicillin and amoxicillin/clavulanic acid,
|
||||
and trimethoprim and trimethoprim/sulfamethoxazole. Needless to say, for
|
||||
these rules to work, both drugs must be available in the data set.
|
||||
|
||||
Since these rules are not officially approved by EUCAST, they are not
|
||||
applied at default. To use these rules, include `"other"` to the `rules`
|
||||
argument, or use `eucast_rules(..., rules = "all")`. You can also set
|
||||
the package option
|
||||
[`AMR_eucastrules`](https://amr-for-r.org/reference/AMR-options.md),
|
||||
i.e. run `options(AMR_eucastrules = "all")`.
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# \donttest{
|
||||
a <- data.frame(
|
||||
mo = c(
|
||||
"Staphylococcus aureus",
|
||||
"Enterococcus faecalis",
|
||||
"Escherichia coli",
|
||||
"Klebsiella pneumoniae",
|
||||
"Pseudomonas aeruginosa"
|
||||
),
|
||||
VAN = "-", # Vancomycin
|
||||
AMX = "-", # Amoxicillin
|
||||
COL = "-", # Colistin
|
||||
CAZ = "-", # Ceftazidime
|
||||
CXM = "-", # Cefuroxime
|
||||
PEN = "S", # Benzylpenicillin
|
||||
FOX = "S", # Cefoxitin
|
||||
stringsAsFactors = FALSE
|
||||
)
|
||||
|
||||
head(a)
|
||||
#> mo VAN AMX COL CAZ CXM PEN FOX
|
||||
#> 1 Staphylococcus aureus - - - - - S S
|
||||
#> 2 Enterococcus faecalis - - - - - S S
|
||||
#> 3 Escherichia coli - - - - - S S
|
||||
#> 4 Klebsiella pneumoniae - - - - - S S
|
||||
#> 5 Pseudomonas aeruginosa - - - - - S S
|
||||
|
||||
|
||||
# apply EUCAST rules: some results wil be changed
|
||||
b <- eucast_rules(a, overwrite = TRUE)
|
||||
#> Warning: in `eucast_rules()`: not all columns with antimicrobial results are of
|
||||
#> class 'sir'. Transform them on beforehand, with e.g.:
|
||||
#> - a %>% as.sir(CXM:AMX)
|
||||
#> - a %>% mutate_if(is_sir_eligible, as.sir)
|
||||
#> - a %>% mutate(across(where(is_sir_eligible), as.sir))
|
||||
|
||||
head(b)
|
||||
#> mo VAN AMX COL CAZ CXM PEN FOX
|
||||
#> 1 Staphylococcus aureus - S R R S S S
|
||||
#> 2 Enterococcus faecalis - - R R R S R
|
||||
#> 3 Escherichia coli R - - - - R S
|
||||
#> 4 Klebsiella pneumoniae R R - - - R S
|
||||
#> 5 Pseudomonas aeruginosa R R - - R R R
|
||||
|
||||
|
||||
# do not apply EUCAST rules, but rather get a data.frame
|
||||
# containing all details about the transformations:
|
||||
c <- eucast_rules(a, overwrite = TRUE, verbose = TRUE)
|
||||
#> Warning: in `eucast_rules()`: not all columns with antimicrobial results are of
|
||||
#> class 'sir'. Transform them on beforehand, with e.g.:
|
||||
#> - a %>% as.sir(CXM:AMX)
|
||||
#> - a %>% mutate_if(is_sir_eligible, as.sir)
|
||||
#> - a %>% mutate(across(where(is_sir_eligible), as.sir))
|
||||
head(c)
|
||||
#> row col mo_fullname old new rule rule_group
|
||||
#> 1 1 AMX Staphylococcus aureus - S Breakpoints
|
||||
#> 2 1 CXM Staphylococcus aureus - S Breakpoints
|
||||
#> 3 1 CAZ Staphylococcus aureus - R Expected phenotypes
|
||||
#> 4 1 COL Staphylococcus aureus - R Expected phenotypes
|
||||
#> 5 2 CAZ Enterococcus faecalis - R Expected phenotypes
|
||||
#> 6 2 COL Enterococcus faecalis - R Expected phenotypes
|
||||
#> rule_name
|
||||
#> 1 Staphylococcus
|
||||
#> 2 Staphylococcus
|
||||
#> 3 Table 4: Expected resistant phenotype in gram-positive bacteria
|
||||
#> 4 Table 4: Expected resistant phenotype in gram-positive bacteria
|
||||
#> 5 Table 4: Expected resistant phenotype in gram-positive bacteria
|
||||
#> 6 Table 4: Expected resistant phenotype in gram-positive bacteria
|
||||
#> rule_source
|
||||
#> 1 'EUCAST Clinical Breakpoint Tables' v15.0, 2025
|
||||
#> 2 'EUCAST Clinical Breakpoint Tables' v15.0, 2025
|
||||
#> 3 'EUCAST Expected Resistant Phenotypes' v1.2, 2023
|
||||
#> 4 'EUCAST Expected Resistant Phenotypes' v1.2, 2023
|
||||
#> 5 'EUCAST Expected Resistant Phenotypes' v1.2, 2023
|
||||
#> 6 'EUCAST Expected Resistant Phenotypes' v1.2, 2023
|
||||
# }
|
||||
|
||||
# Dosage guidelines:
|
||||
|
||||
eucast_dosage(c("tobra", "genta", "cipro"), "iv")
|
||||
#> ℹ Dosages for antimicrobial drugs, as meant for 'EUCAST Clinical Breakpoint
|
||||
#> Tables' v15.0 (2025). This note will be shown once per session.
|
||||
#> # A tibble: 3 × 5
|
||||
#> ab name standard_dosage high_dosage eucast_version
|
||||
#> <ab> <chr> <chr> <chr> <dbl>
|
||||
#> 1 TOB Tobramycin 6-7 mg/kg x 1 iv NA 15
|
||||
#> 2 GEN Gentamicin 6-7 mg/kg x 1 iv NA 15
|
||||
#> 3 CIP Ciprofloxacin 0.4 g x 2 iv 0.4 g x 3 iv 15
|
||||
|
||||
eucast_dosage(c("tobra", "genta", "cipro"), "iv", version_breakpoints = 10)
|
||||
#> # A tibble: 3 × 5
|
||||
#> ab name standard_dosage high_dosage eucast_version
|
||||
#> <ab> <chr> <chr> <chr> <dbl>
|
||||
#> 1 TOB Tobramycin NA NA NA
|
||||
#> 2 GEN Gentamicin NA NA NA
|
||||
#> 3 CIP Ciprofloxacin NA NA NA
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
92
reference/example_isolates.md
Normal file
92
reference/example_isolates.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Data Set with 2 000 Example Isolates
|
||||
|
||||
A data set containing 2 000 microbial isolates with their full
|
||||
antibiograms. This data set contains randomised fictitious data, but
|
||||
reflects reality and can be used to practise AMR data analysis. For
|
||||
examples, please read [the tutorial on our
|
||||
website](https://amr-for-r.org/articles/AMR.html).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
example_isolates
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
A [tibble](https://tibble.tidyverse.org/reference/tibble.html) with 2
|
||||
000 observations and 46 variables:
|
||||
|
||||
- `date`
|
||||
Date of receipt at the laboratory
|
||||
|
||||
- `patient`
|
||||
ID of the patient
|
||||
|
||||
- `age`
|
||||
Age of the patient
|
||||
|
||||
- `gender`
|
||||
Gender of the patient, either "F" or "M"
|
||||
|
||||
- `ward`
|
||||
Ward type where the patient was admitted, either "Clinical", "ICU", or
|
||||
"Outpatient"
|
||||
|
||||
- `mo`
|
||||
ID of microorganism created with
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md), see also the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set
|
||||
|
||||
- `PEN:RIF`
|
||||
40 different antimicrobials with class
|
||||
[`sir`](https://amr-for-r.org/reference/as.sir.md) (see
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md)); these column
|
||||
names occur in the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set and can be translated with
|
||||
[`set_ab_names()`](https://amr-for-r.org/reference/ab_property.md) or
|
||||
[`ab_name()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
example_isolates
|
||||
#> # A tibble: 2,000 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-03 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 3 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 4 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 5 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 6 2002-01-13 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 7 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 8 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 9 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 10 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA
|
||||
#> # ℹ 1,990 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
70
reference/example_isolates_unclean.md
Normal file
70
reference/example_isolates_unclean.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Data Set with Unclean Data
|
||||
|
||||
A data set containing 3 000 microbial isolates that are not cleaned up
|
||||
and consequently not ready for AMR data analysis. This data set can be
|
||||
used for practice.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
example_isolates_unclean
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
A [tibble](https://tibble.tidyverse.org/reference/tibble.html) with 3
|
||||
000 observations and 8 variables:
|
||||
|
||||
- `patient_id`
|
||||
ID of the patient
|
||||
|
||||
- `date`
|
||||
date of receipt at the laboratory
|
||||
|
||||
- `hospital`
|
||||
ID of the hospital, from A to C
|
||||
|
||||
- `bacteria`
|
||||
info about microorganism that can be transformed with
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md), see also
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
|
||||
- `AMX:GEN`
|
||||
4 different antimicrobials that have to be transformed with
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md)
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
example_isolates_unclean
|
||||
#> # A tibble: 3,000 × 8
|
||||
#> patient_id hospital date bacteria AMX AMC CIP GEN
|
||||
#> <chr> <chr> <date> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 J3 A 2012-11-21 E. coli R I S S
|
||||
#> 2 R7 A 2018-04-03 K. pneumoniae R I S S
|
||||
#> 3 P3 A 2014-09-19 E. coli R S S S
|
||||
#> 4 P10 A 2015-12-10 E. coli S I S S
|
||||
#> 5 B7 A 2015-03-02 E. coli S S S S
|
||||
#> 6 W3 A 2018-03-31 S. aureus R S R S
|
||||
#> 7 J8 A 2016-06-14 E. coli R S S S
|
||||
#> 8 M3 A 2015-10-25 E. coli R S S S
|
||||
#> 9 J3 A 2019-06-19 E. coli S S S S
|
||||
#> 10 G6 A 2015-04-27 S. aureus S S S S
|
||||
#> # ℹ 2,990 more rows
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
27
reference/export_ncbi_biosample.md
Normal file
27
reference/export_ncbi_biosample.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Export Data Set as NCBI BioSample Antibiogram
|
||||
|
||||
Export Data Set as NCBI BioSample Antibiogram
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
export_ncbi_biosample(x, filename = paste0("biosample_", format(Sys.time(),
|
||||
"%Y-%m-%d-%H%M%S"), ".xlsx"), type = "pathogen MIC",
|
||||
columns = where(is.mic), save_as_xlsx = TRUE)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A data set.
|
||||
|
||||
- filename:
|
||||
|
||||
A character string specifying the file name.
|
||||
|
||||
- type:
|
||||
|
||||
A character string specifying the type of data set, either "pathogen
|
||||
MIC" or "beta-lactamase MIC", see
|
||||
<https://www.ncbi.nlm.nih.gov/biosample/docs/>.
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
482
reference/first_isolate.md
Normal file
482
reference/first_isolate.md
Normal file
@@ -0,0 +1,482 @@
|
||||
# Determine First Isolates
|
||||
|
||||
Determine first isolates of all microorganisms of every patient per
|
||||
episode and (if needed) per specimen type. These functions support all
|
||||
four methods as summarised by Hindler *et al.* in 2007
|
||||
([doi:10.1086/511864](https://doi.org/10.1086/511864) ). To determine
|
||||
patient episodes not necessarily based on microorganisms, use
|
||||
[`is_new_episode()`](https://amr-for-r.org/reference/get_episode.md)
|
||||
that also supports grouping with the `dplyr` package.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
first_isolate(x = NULL, col_date = NULL, col_patient_id = NULL,
|
||||
col_mo = NULL, col_testcode = NULL, col_specimen = NULL,
|
||||
col_icu = NULL, col_keyantimicrobials = NULL, episode_days = 365,
|
||||
testcodes_exclude = NULL, icu_exclude = FALSE, specimen_group = NULL,
|
||||
type = "points", method = c("phenotype-based", "episode-based",
|
||||
"patient-based", "isolate-based"), ignore_I = TRUE, points_threshold = 2,
|
||||
info = interactive(), include_unknown = FALSE,
|
||||
include_untested_sir = TRUE, ...)
|
||||
|
||||
filter_first_isolate(x = NULL, col_date = NULL, col_patient_id = NULL,
|
||||
col_mo = NULL, episode_days = 365, method = c("phenotype-based",
|
||||
"episode-based", "patient-based", "isolate-based"), ...)
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
Methodology of these functions is strictly based on:
|
||||
|
||||
- **M39 Analysis and Presentation of Cumulative Antimicrobial
|
||||
Susceptibility Test Data, 5th Edition**, 2022, *Clinical and
|
||||
Laboratory Standards Institute (CLSI)*.
|
||||
<https://clsi.org/standards/products/microbiology/documents/m39/>.
|
||||
|
||||
- Hindler JF and Stelling J (2007). **Analysis and Presentation of
|
||||
Cumulative Antibiograms: A New Consensus Guideline from the Clinical
|
||||
and Laboratory Standards Institute.** Clinical Infectious Diseases,
|
||||
44(6), 867-873. [doi:10.1086/511864](https://doi.org/10.1086/511864)
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) containing
|
||||
isolates. Can be left blank for automatic determination, see
|
||||
*Examples*.
|
||||
|
||||
- col_date:
|
||||
|
||||
Column name of the result date (or date that is was received on the
|
||||
lab) - the default is the first column with a date class.
|
||||
|
||||
- col_patient_id:
|
||||
|
||||
Column name of the unique IDs of the patients - the default is the
|
||||
first column that starts with 'patient' or 'patid' (case insensitive).
|
||||
|
||||
- col_mo:
|
||||
|
||||
Column name of the names or codes of the microorganisms (see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) - the default
|
||||
is the first column of class
|
||||
[`mo`](https://amr-for-r.org/reference/as.mo.md). Values will be
|
||||
coerced using [`as.mo()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- col_testcode:
|
||||
|
||||
Column name of the test codes. Use `col_testcode = NULL` to **not**
|
||||
exclude certain test codes (such as test codes for screening). In that
|
||||
case `testcodes_exclude` will be ignored.
|
||||
|
||||
- col_specimen:
|
||||
|
||||
Column name of the specimen type or group.
|
||||
|
||||
- col_icu:
|
||||
|
||||
Column name of the logicals (`TRUE`/`FALSE`) whether a ward or
|
||||
department is an Intensive Care Unit (ICU). This can also be a
|
||||
[logical](https://rdrr.io/r/base/logical.html) vector with the same
|
||||
length as rows in `x`.
|
||||
|
||||
- col_keyantimicrobials:
|
||||
|
||||
(only useful when `method = "phenotype-based"`) column name of the key
|
||||
antimicrobials to determine first isolates, see
|
||||
[`key_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md).
|
||||
The default is the first column that starts with 'key' followed by
|
||||
'ab' or 'antibiotics' or 'antimicrobials' (case insensitive). Use
|
||||
`col_keyantimicrobials = FALSE` to prevent this. Can also be the
|
||||
output of
|
||||
[`key_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md).
|
||||
|
||||
- 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*.
|
||||
|
||||
- testcodes_exclude:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) vector with test
|
||||
codes that should be excluded (case-insensitive).
|
||||
|
||||
- icu_exclude:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
ICU isolates should be excluded (rows with value `TRUE` in the column
|
||||
set with `col_icu`).
|
||||
|
||||
- specimen_group:
|
||||
|
||||
Value in the column set with `col_specimen` to filter on.
|
||||
|
||||
- type:
|
||||
|
||||
Type to determine weighed isolates; can be `"keyantimicrobials"` or
|
||||
`"points"`, see *Details*.
|
||||
|
||||
- method:
|
||||
|
||||
The method to apply, either `"phenotype-based"`, `"episode-based"`,
|
||||
`"patient-based"` or `"isolate-based"` (can be abbreviated), see
|
||||
*Details*. The default is `"phenotype-based"` if antimicrobial test
|
||||
results are present in the data, and `"episode-based"` otherwise.
|
||||
|
||||
- ignore_I:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
antibiotic interpretations with `"I"` will be ignored when
|
||||
`type = "keyantimicrobials"`, see *Details*.
|
||||
|
||||
- points_threshold:
|
||||
|
||||
Minimum number of points to require before differences in the
|
||||
antibiogram will lead to inclusion of an isolate when
|
||||
`type = "points"`, see *Details*.
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate info
|
||||
should be printed - the default is `TRUE` only in interactive mode.
|
||||
|
||||
- include_unknown:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate 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.
|
||||
|
||||
- include_untested_sir:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
also rows without antibiotic results are still eligible for becoming a
|
||||
first isolate. Use `include_untested_sir = FALSE` to always return
|
||||
`FALSE` for such rows. This checks the data set for columns of class
|
||||
`sir` and consequently requires transforming columns with antibiotic
|
||||
results using [`as.sir()`](https://amr-for-r.org/reference/as.sir.md)
|
||||
first.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to `first_isolate()` when using
|
||||
`filter_first_isolate()`, otherwise arguments passed on to
|
||||
[`key_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md)
|
||||
(such as `universal`, `gram_negative`, `gram_positive`).
|
||||
|
||||
## Value
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) vector
|
||||
|
||||
## Details
|
||||
|
||||
The methodology implemented in these functions is strictly based on the
|
||||
recommendations outlined in [CLSI Guideline
|
||||
M39](https://clsi.org/standards/products/microbiology/documents/m39) and
|
||||
the research overview by Hindler *et al.* (2007,
|
||||
[doi:10.1086/511864](https://doi.org/10.1086/511864) ).
|
||||
|
||||
To conduct epidemiological analyses on antimicrobial resistance data,
|
||||
only so-called first isolates should be included to prevent
|
||||
overestimation and underestimation of antimicrobial resistance.
|
||||
Different methods can be used to do so, see below.
|
||||
|
||||
These functions are context-aware. This means that the `x` argument can
|
||||
be left blank if used inside a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) call, see
|
||||
*Examples*.
|
||||
|
||||
The `first_isolate()` function is a wrapper around the
|
||||
[`is_new_episode()`](https://amr-for-r.org/reference/get_episode.md)
|
||||
function, but more efficient for data sets containing microorganism
|
||||
codes or names.
|
||||
|
||||
All isolates with a microbial ID of `NA` will be excluded as first
|
||||
isolate.
|
||||
|
||||
### Different methods
|
||||
|
||||
According to previously-mentioned sources, there are different methods
|
||||
(algorithms) to select first isolates with increasing reliability:
|
||||
isolate-based, patient-based, episode-based and phenotype-based. All
|
||||
methods select on a combination of the taxonomic genus and species (not
|
||||
subspecies).
|
||||
|
||||
All mentioned methods are covered in the `first_isolate()` function:
|
||||
|
||||
| | |
|
||||
|-------------------------------------------------|--------------------------------------------------------|
|
||||
| **Method** | **Function to apply** |
|
||||
| **Isolate-based** | `first_isolate(x, method = "isolate-based")` |
|
||||
| *(= all isolates)* | |
|
||||
| | |
|
||||
| | |
|
||||
| **Patient-based** | `first_isolate(x, method = "patient-based")` |
|
||||
| *(= first isolate per patient)* | |
|
||||
| | |
|
||||
| | |
|
||||
| **Episode-based** | `first_isolate(x, method = "episode-based")`, or: |
|
||||
| *(= first isolate per episode)* | |
|
||||
| \- 7-Day interval from initial isolate | \- `first_isolate(x, method = "e", episode_days = 7)` |
|
||||
| \- 30-Day interval from initial isolate | \- `first_isolate(x, method = "e", episode_days = 30)` |
|
||||
| | |
|
||||
| | |
|
||||
| **Phenotype-based** | `first_isolate(x, method = "phenotype-based")`, or: |
|
||||
| *(= first isolate per phenotype)* | |
|
||||
| \- Major difference in any antimicrobial result | \- `first_isolate(x, type = "points")` |
|
||||
| \- Any difference in key antimicrobial results | \- `first_isolate(x, type = "keyantimicrobials")` |
|
||||
|
||||
**Isolate-based**
|
||||
|
||||
*Minimum variables required: Microorganism identifier*
|
||||
|
||||
This method does not require any selection, as all isolates should be
|
||||
included. It does, however, respect all arguments set in the
|
||||
`first_isolate()` function. For example, the default setting for
|
||||
`include_unknown` (`FALSE`) will omit selection of rows without a
|
||||
microbial ID.
|
||||
|
||||
**Patient-based**
|
||||
|
||||
*Minimum variables required: Microorganism identifier, Patient
|
||||
identifier*
|
||||
|
||||
This method includes every genus-species combination per patient once.
|
||||
This method makes sure that no duplicate isolates are selected from the
|
||||
same patient. This method is preferred to e.g. identify the first MRSA
|
||||
finding of each patient to determine the incidence. Conversely, in a
|
||||
large longitudinal data set, this could mean that isolates are
|
||||
*excluded* that were found years after the initial isolate.
|
||||
|
||||
**Episode-based**
|
||||
|
||||
*Minimum variables required: Microorganism identifier, Patient
|
||||
identifier, Date*
|
||||
|
||||
To include every genus-species combination per patient episode once, set
|
||||
the `episode_days` to a sensible number of days. Depending on the type
|
||||
of analysis, this could be e.g., 14, 30, 60 or 365. Short episodes are
|
||||
common for analysing specific hospital or ward data or ICU cases, long
|
||||
episodes are common for analysing regional and national data.
|
||||
|
||||
This is the most common method to correct for duplicate isolates.
|
||||
Patients are categorised into episodes based on their ID and dates
|
||||
(e.g., the date of specimen receipt or laboratory result). While this is
|
||||
a common method, it does not take into account antimicrobial test
|
||||
results. This means that e.g. a methicillin-resistant *Staphylococcus
|
||||
aureus* (MRSA) isolate cannot be differentiated from a wildtype
|
||||
*Staphylococcus aureus* isolate.
|
||||
|
||||
**Phenotype-based**
|
||||
|
||||
*Minimum variables required: Microorganism identifier, Patient
|
||||
identifier, Date, Antimicrobial test results*
|
||||
|
||||
This is a more reliable method, since it also *weighs* the antibiogram
|
||||
(antimicrobial test results) yielding so-called 'first weighted
|
||||
isolates'. There are two different methods to weigh the antibiogram:
|
||||
|
||||
1. Using `type = "points"` and argument `points_threshold` (default)
|
||||
|
||||
This method weighs *all* antimicrobial drugs available in the data
|
||||
set. Any difference from I to S or R (or vice versa) counts as `0.5`
|
||||
points, a difference from S to R (or vice versa) counts as `1`
|
||||
point. When the sum of points exceeds `points_threshold`, which
|
||||
defaults to `2`, an isolate will be selected as a first weighted
|
||||
isolate.
|
||||
|
||||
All antimicrobials are internally selected using the
|
||||
[`all_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md)
|
||||
function. The output of this function does not need to be passed to
|
||||
the `first_isolate()` function.
|
||||
|
||||
2. Using `type = "keyantimicrobials"` and argument `ignore_I`
|
||||
|
||||
This method only weighs specific antimicrobial drugs, called *key
|
||||
antimicrobials*. Any difference from S to R (or vice versa) in these
|
||||
key antimicrobials will select an isolate as a first weighted
|
||||
isolate. With `ignore_I = FALSE`, also differences from I to S or R
|
||||
(or vice versa) will lead to this.
|
||||
|
||||
Key antimicrobials are internally selected using the
|
||||
[`key_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md)
|
||||
function, but can also be added manually as a variable to the data
|
||||
and set in the `col_keyantimicrobials` argument. Another option is
|
||||
to pass the output of the
|
||||
[`key_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md)
|
||||
function directly to the `col_keyantimicrobials` argument.
|
||||
|
||||
The default method is phenotype-based (using `type = "points"`) and
|
||||
episode-based (using `episode_days = 365`). This makes sure that every
|
||||
genus-species combination is selected per patient once per year, while
|
||||
taking into account all antimicrobial test results. If no antimicrobial
|
||||
test results are available in the data set, only the episode-based
|
||||
method is applied at default.
|
||||
|
||||
## See also
|
||||
|
||||
[`key_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# `example_isolates` is a data set available in the AMR package.
|
||||
# See ?example_isolates.
|
||||
|
||||
example_isolates[first_isolate(info = TRUE), ]
|
||||
#> ℹ Determining first isolates using an episode length of 365 days
|
||||
#> ℹ Using column 'date' as input for `col_date`.
|
||||
#> ℹ Using column 'patient' as input for `col_patient_id`.
|
||||
#> ℹ Basing inclusion on all antimicrobial results, using a points threshold
|
||||
#> of 2
|
||||
#> ℹ Excluding 16 isolates with a microbial ID 'UNKNOWN' (in column 'mo')
|
||||
#> => Found 1,387 'phenotype-based' first isolates (69.4% of total where a
|
||||
#> microbial ID was available)
|
||||
#> # A tibble: 1,387 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 3 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 4 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 5 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA
|
||||
#> 6 2002-01-17 495616 67 M Clinical B_STPHY_EPDR R NA S NA
|
||||
#> 7 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 8 2002-01-21 462081 75 F Clinical B_CTRBC_FRND R NA NA R
|
||||
#> 9 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA
|
||||
#> 10 2002-02-03 481442 76 M ICU B_STPHY_CONS R NA S NA
|
||||
#> # ℹ 1,377 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
# \donttest{
|
||||
# get all first Gram-negatives
|
||||
example_isolates[which(first_isolate(info = FALSE) & mo_is_gram_negative()), ]
|
||||
#> ℹ Using column 'mo' as input for `mo_is_gram_negative()`
|
||||
#> # A tibble: 441 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 3 2002-01-21 462081 75 F Clinical B_CTRBC_FRND R NA NA R
|
||||
#> 4 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA
|
||||
#> 5 2002-02-05 067927 45 F ICU B_SERRT_MRCS R NA NA R
|
||||
#> 6 2002-02-27 066895 85 F Clinical B_KLBSL_PNMN R NA NA R
|
||||
#> 7 2002-03-08 4FC193 69 M Clinical B_ESCHR_COLI R NA NA R
|
||||
#> 8 2002-03-16 4FC193 69 M Clinical B_PSDMN_AERG R NA NA R
|
||||
#> 9 2002-04-01 496896 46 F ICU B_ESCHR_COLI R NA NA NA
|
||||
#> 10 2002-04-23 EE2510 69 F ICU B_ESCHR_COLI R NA NA NA
|
||||
#> # ℹ 431 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
|
||||
if (require("dplyr")) {
|
||||
# filter on first isolates using dplyr:
|
||||
example_isolates %>%
|
||||
filter(first_isolate(info = TRUE))
|
||||
}
|
||||
#> ℹ Determining first isolates using an episode length of 365 days
|
||||
#> ℹ Basing inclusion on all antimicrobial results, using a points threshold
|
||||
#> of 2
|
||||
#> ℹ Excluding 16 isolates with a microbial ID 'UNKNOWN' (in column 'mo')
|
||||
#> => Found 1,387 'phenotype-based' first isolates (69.4% of total where a
|
||||
#> microbial ID was available)
|
||||
#> # A tibble: 1,387 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 3 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 4 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 5 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA
|
||||
#> 6 2002-01-17 495616 67 M Clinical B_STPHY_EPDR R NA S NA
|
||||
#> 7 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 8 2002-01-21 462081 75 F Clinical B_CTRBC_FRND R NA NA R
|
||||
#> 9 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA
|
||||
#> 10 2002-02-03 481442 76 M ICU B_STPHY_CONS R NA S NA
|
||||
#> # ℹ 1,377 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
if (require("dplyr")) {
|
||||
# short-hand version:
|
||||
example_isolates %>%
|
||||
filter_first_isolate(info = FALSE)
|
||||
}
|
||||
#> # A tibble: 1,387 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-01-02 A77334 65 F Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 2 2002-01-07 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 3 2002-01-14 462729 78 M Clinical B_STPHY_AURS R NA S R
|
||||
#> 4 2002-01-16 067927 45 F ICU B_STPHY_EPDR R NA R NA
|
||||
#> 5 2002-01-17 858515 79 F ICU B_STPHY_EPDR R NA S NA
|
||||
#> 6 2002-01-17 495616 67 M Clinical B_STPHY_EPDR R NA S NA
|
||||
#> 7 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R NA NA NA
|
||||
#> 8 2002-01-21 462081 75 F Clinical B_CTRBC_FRND R NA NA R
|
||||
#> 9 2002-01-22 F35553 50 M ICU B_PROTS_MRBL R NA NA NA
|
||||
#> 10 2002-02-03 481442 76 M ICU B_STPHY_CONS R NA S NA
|
||||
#> # ℹ 1,377 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
if (require("dplyr")) {
|
||||
# flag the first isolates per group:
|
||||
example_isolates %>%
|
||||
group_by(ward) %>%
|
||||
mutate(first = first_isolate(info = TRUE)) %>%
|
||||
select(ward, date, patient, mo, first)
|
||||
}
|
||||
#> ℹ Determining first isolates using an episode length of 365 days
|
||||
#> ℹ Basing inclusion on all antimicrobial results, using a points threshold
|
||||
#> of 2
|
||||
#>
|
||||
#> Group: ward = "Clinical"
|
||||
#> ℹ Excluding 9 isolates with a microbial ID 'UNKNOWN' (in column 'mo')
|
||||
#> => Found 865 'phenotype-based' first isolates (70.1% of total where a
|
||||
#> microbial ID was available)
|
||||
#>
|
||||
#> Group: ward = "ICU"
|
||||
#> ℹ Excluding 6 isolates with a microbial ID 'UNKNOWN' (in column 'mo')
|
||||
#> => Found 452 'phenotype-based' first isolates (70.0% of total where a
|
||||
#> microbial ID was available)
|
||||
#>
|
||||
#> Group: ward = "Outpatient"
|
||||
#> ℹ Excluding 1 isolates with a microbial ID 'UNKNOWN' (in column 'mo')
|
||||
#> => Found 99 'phenotype-based' first isolates (82.5% of total where a
|
||||
#> microbial ID was available)
|
||||
#> # A tibble: 2,000 × 5
|
||||
#> # Groups: ward [3]
|
||||
#> ward date patient mo first
|
||||
#> <chr> <date> <chr> <mo> <lgl>
|
||||
#> 1 Clinical 2002-01-02 A77334 B_ESCHR_COLI TRUE
|
||||
#> 2 Clinical 2002-01-03 A77334 B_ESCHR_COLI FALSE
|
||||
#> 3 ICU 2002-01-07 067927 B_STPHY_EPDR TRUE
|
||||
#> 4 ICU 2002-01-07 067927 B_STPHY_EPDR FALSE
|
||||
#> 5 ICU 2002-01-13 067927 B_STPHY_EPDR FALSE
|
||||
#> 6 ICU 2002-01-13 067927 B_STPHY_EPDR FALSE
|
||||
#> 7 Clinical 2002-01-14 462729 B_STPHY_AURS TRUE
|
||||
#> 8 Clinical 2002-01-14 462729 B_STPHY_AURS FALSE
|
||||
#> 9 ICU 2002-01-16 067927 B_STPHY_EPDR TRUE
|
||||
#> 10 ICU 2002-01-17 858515 B_STPHY_EPDR TRUE
|
||||
#> # ℹ 1,990 more rows
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
257
reference/g.test.md
Normal file
257
reference/g.test.md
Normal file
@@ -0,0 +1,257 @@
|
||||
# *G*-test for Count Data
|
||||
|
||||
`g.test()` performs chi-squared contingency table tests and
|
||||
goodness-of-fit tests, just like
|
||||
[`chisq.test()`](https://rdrr.io/r/stats/chisq.test.html) 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**).
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
g.test(x, y = NULL, p = rep(1/length(x), length(x)), rescale.p = FALSE)
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
The code for this function is identical to that of
|
||||
[`chisq.test()`](https://rdrr.io/r/stats/chisq.test.html), 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
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
a numeric vector or matrix. `x` and `y` can also both be factors.
|
||||
|
||||
- y:
|
||||
|
||||
a numeric vector; ignored if `x` is a matrix. If `x` is a factor, `y`
|
||||
should be a factor of the same length.
|
||||
|
||||
- p:
|
||||
|
||||
a vector of probabilities of the same length as `x`. An error is given
|
||||
if any entry of `p` is negative.
|
||||
|
||||
- rescale.p:
|
||||
|
||||
a logical scalar; if TRUE then `p` is rescaled (if necessary) to sum
|
||||
to 1. If `rescale.p` is FALSE, and `p` does not sum to 1, an error is
|
||||
given.
|
||||
|
||||
## Value
|
||||
|
||||
A list with class `"htest"` containing the following components:
|
||||
|
||||
- statistic:
|
||||
|
||||
the value the chi-squared test statistic.
|
||||
|
||||
- parameter:
|
||||
|
||||
the degrees of freedom of the approximate chi-squared distribution of
|
||||
the test statistic, `NA` if the p-value is computed by Monte Carlo
|
||||
simulation.
|
||||
|
||||
- p.value:
|
||||
|
||||
the p-value for the test.
|
||||
|
||||
- method:
|
||||
|
||||
a character string indicating the type of test performed, and whether
|
||||
Monte Carlo simulation or continuity correction was used.
|
||||
|
||||
- data.name:
|
||||
|
||||
a character string giving the name(s) of the data.
|
||||
|
||||
- observed:
|
||||
|
||||
the observed counts.
|
||||
|
||||
- expected:
|
||||
|
||||
the expected counts under the null hypothesis.
|
||||
|
||||
- residuals:
|
||||
|
||||
the Pearson residuals, `(observed - expected) / sqrt(expected)`.
|
||||
|
||||
- stdres:
|
||||
|
||||
standardized residuals, `(observed - expected) / sqrt(V)`, where `V`
|
||||
is the residual cell variance (Agresti, 2007, section 2.4.5 for the
|
||||
case where `x` is a matrix, `n * p * (1 - p)` otherwise).
|
||||
|
||||
## Details
|
||||
|
||||
If `x` is a [matrix](https://rdrr.io/r/base/matrix.html) 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 `x` is a [matrix](https://rdrr.io/r/base/matrix.html) 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 (such as 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)
|
||||
|
||||
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()`](https://rdrr.io/r/stats/fisher.test.html)).
|
||||
|
||||
The *G*-test of goodness-of-fit is an alternative to the chi-square test
|
||||
of goodness-of-fit
|
||||
([`chisq.test()`](https://rdrr.io/r/stats/chisq.test.html)); 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()`](https://rdrr.io/r/stats/fisher.test.html)) 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()`](https://rdrr.io/r/stats/chisq.test.html)), and they
|
||||
will give approximately the same results.
|
||||
|
||||
### How the Test Works
|
||||
|
||||
Unlike the exact test of goodness-of-fit
|
||||
([`fisher.test()`](https://rdrr.io/r/stats/fisher.test.html)), 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 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.
|
||||
|
||||
## References
|
||||
|
||||
1. McDonald, J.H. 2014. **Handbook of Biological Statistics (3rd
|
||||
ed.)**. Sparky House Publishing, Baltimore, Maryland.
|
||||
|
||||
## See also
|
||||
|
||||
[`chisq.test()`](https://rdrr.io/r/stats/chisq.test.html)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# = EXAMPLE 1 =
|
||||
# Shivrain et al. (2006) crossed clearfield rice (which are resistant
|
||||
# to the herbicide imazethapyr) with red rice (which are susceptible to
|
||||
# imazethapyr). They then crossed the hybrid offspring and examined the
|
||||
# F2 generation, where they found 772 resistant plants, 1611 moderately
|
||||
# resistant plants, and 737 susceptible plants. If resistance is controlled
|
||||
# by a single gene with two co-dominant alleles, you would expect a 1:2:1
|
||||
# ratio.
|
||||
|
||||
x <- c(772, 1611, 737)
|
||||
g.test(x, p = c(1, 2, 1) / 4)
|
||||
#>
|
||||
#> G-test of goodness-of-fit (likelihood ratio test)
|
||||
#>
|
||||
#> data: x
|
||||
#> X-squared = 4.1471, p-value = 0.1257
|
||||
#>
|
||||
|
||||
# There is no significant difference from a 1:2:1 ratio.
|
||||
# Meaning: resistance controlled by a single gene with two co-dominant
|
||||
# alleles, is plausible.
|
||||
|
||||
|
||||
# = EXAMPLE 2 =
|
||||
# Red crossbills (Loxia curvirostra) have the tip of the upper bill either
|
||||
# right or left of the lower bill, which helps them extract seeds from pine
|
||||
# cones. Some have hypothesized that frequency-dependent selection would
|
||||
# keep the number of right and left-billed birds at a 1:1 ratio. Groth (1992)
|
||||
# observed 1752 right-billed and 1895 left-billed crossbills.
|
||||
|
||||
x <- c(1752, 1895)
|
||||
g.test(x)
|
||||
#>
|
||||
#> G-test of goodness-of-fit (likelihood ratio test)
|
||||
#>
|
||||
#> data: x
|
||||
#> X-squared = 5.6085, p-value = 0.01787
|
||||
#>
|
||||
|
||||
# There is a significant difference from a 1:1 ratio.
|
||||
# Meaning: there are significantly more left-billed birds.
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
336
reference/get_episode.md
Normal file
336
reference/get_episode.md
Normal file
@@ -0,0 +1,336 @@
|
||||
# Determine Clinical or Epidemic Episodes
|
||||
|
||||
These functions determine which items in a vector can be considered (the
|
||||
start of) a new episode. This can be used to determine clinical episodes
|
||||
for any epidemiological analysis. The `get_episode()` function returns
|
||||
the index number of the episode per group, while the `is_new_episode()`
|
||||
function returns `TRUE` for every new `get_episode()` index. Both
|
||||
absolute and relative episode determination are supported.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
get_episode(x, episode_days = NULL, case_free_days = NULL, ...)
|
||||
|
||||
is_new_episode(x, episode_days = NULL, case_free_days = NULL, ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
Vector of dates (class `Date` or `POSIXt`), will be sorted internally
|
||||
to determine episodes.
|
||||
|
||||
- episode_days:
|
||||
|
||||
Episode length in days to specify the time period after which a new
|
||||
episode begins, can also be less than a day or `Inf`, see *Details*.
|
||||
|
||||
- case_free_days:
|
||||
|
||||
(inter-epidemic) interval length in days after which a new episode
|
||||
will start, can also be less than a day or `Inf`, see *Details*.
|
||||
|
||||
- ...:
|
||||
|
||||
Ignored, only in place to allow future extensions.
|
||||
|
||||
## Value
|
||||
|
||||
- `get_episode()`: an [integer](https://rdrr.io/r/base/integer.html)
|
||||
vector
|
||||
|
||||
- `is_new_episode()`: a [logical](https://rdrr.io/r/base/logical.html)
|
||||
vector
|
||||
|
||||
## Details
|
||||
|
||||
Episodes can be determined in two ways: absolute and relative.
|
||||
|
||||
1. Absolute
|
||||
|
||||
This method uses `episode_days` to define an episode length in days,
|
||||
after which a new episode will start. A common use case in AMR data
|
||||
analysis is microbial epidemiology: episodes of *S. aureus*
|
||||
bacteraemia in ICU patients for example. The episode length could
|
||||
then be 30 days, so that new *S. aureus* isolates after an ICU
|
||||
episode of 30 days will be considered a different (or new) episode.
|
||||
|
||||
Thus, this method counts **since the start of the previous
|
||||
episode**.
|
||||
|
||||
2. Relative
|
||||
|
||||
This method uses `case_free_days` to quantify the duration of
|
||||
case-free days (the inter-epidemic interval), after which a new
|
||||
episode will start. A common use case is infectious disease
|
||||
epidemiology: episodes of norovirus outbreaks in a hospital for
|
||||
example. The case-free period could then be 14 days, so that new
|
||||
norovirus cases after that time will be considered a different (or
|
||||
new) episode.
|
||||
|
||||
Thus, this methods counts **since the last case in the previous
|
||||
episode**.
|
||||
|
||||
In a table:
|
||||
|
||||
| | | |
|
||||
|------------|--------------------------|----------------------------|
|
||||
| Date | Using `episode_days = 7` | Using `case_free_days = 7` |
|
||||
| 2023-01-01 | 1 | 1 |
|
||||
| 2023-01-02 | 1 | 1 |
|
||||
| 2023-01-05 | 1 | 1 |
|
||||
| 2023-01-08 | 2\*\* | 1 |
|
||||
| 2023-02-21 | 3 | 2\*\*\* |
|
||||
| 2023-02-22 | 3 | 2 |
|
||||
| 2023-02-23 | 3 | 2 |
|
||||
| 2023-02-24 | 3 | 2 |
|
||||
| 2023-03-01 | 4 | 2 |
|
||||
|
||||
\*\* This marks the start of a new episode, because 8 January 2023 is
|
||||
more than 7 days since the start of the previous episode (1 January
|
||||
2023).
|
||||
\*\*\* This marks the start of a new episode, because 21 January 2023 is
|
||||
more than 7 days since the last case in the previous episode (8 January
|
||||
2023).
|
||||
|
||||
Either `episode_days` or `case_free_days` must be provided in the
|
||||
function.
|
||||
|
||||
### Difference between `get_episode()` and `is_new_episode()`
|
||||
|
||||
The `get_episode()` function returns the index number of the episode, so
|
||||
all cases/patients/isolates in the first episode will have the number 1,
|
||||
all cases/patients/isolates in the second episode will have the number
|
||||
2, etc.
|
||||
|
||||
The `is_new_episode()` function on the other hand, returns `TRUE` for
|
||||
every new `get_episode()` index.
|
||||
|
||||
To specify, when setting `episode_days = 365` (using method 1 as
|
||||
explained above), this is how the two functions differ:
|
||||
|
||||
| | | | |
|
||||
|---------|------------|-----------------|--------------------|
|
||||
| patient | date | `get_episode()` | `is_new_episode()` |
|
||||
| A | 2019-01-01 | 1 | TRUE |
|
||||
| A | 2019-03-01 | 1 | FALSE |
|
||||
| A | 2021-01-01 | 2 | TRUE |
|
||||
| B | 2008-01-01 | 1 | TRUE |
|
||||
| B | 2008-01-01 | 1 | FALSE |
|
||||
| C | 2020-01-01 | 1 | TRUE |
|
||||
|
||||
### Other
|
||||
|
||||
The
|
||||
[`first_isolate()`](https://amr-for-r.org/reference/first_isolate.md)
|
||||
function is a wrapper around the `is_new_episode()` function, but is
|
||||
more efficient for data sets containing microorganism codes or names and
|
||||
allows for different isolate selection methods.
|
||||
|
||||
The `dplyr` package is not required for these functions to work, but
|
||||
these episode functions do support [variable
|
||||
grouping](https://dplyr.tidyverse.org/reference/group_by.html) and work
|
||||
conveniently inside `dplyr` verbs such as
|
||||
[`filter()`](https://dplyr.tidyverse.org/reference/filter.html),
|
||||
[`mutate()`](https://dplyr.tidyverse.org/reference/mutate.html) and
|
||||
[`summarise()`](https://dplyr.tidyverse.org/reference/summarise.html).
|
||||
|
||||
## See also
|
||||
|
||||
[`first_isolate()`](https://amr-for-r.org/reference/first_isolate.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# difference between absolute and relative determination of episodes:
|
||||
x <- data.frame(dates = as.Date(c(
|
||||
"2021-01-01",
|
||||
"2021-01-02",
|
||||
"2021-01-05",
|
||||
"2021-01-08",
|
||||
"2021-02-21",
|
||||
"2021-02-22",
|
||||
"2021-02-23",
|
||||
"2021-02-24",
|
||||
"2021-03-01",
|
||||
"2021-03-01"
|
||||
)))
|
||||
x$absolute <- get_episode(x$dates, episode_days = 7)
|
||||
x$relative <- get_episode(x$dates, case_free_days = 7)
|
||||
x
|
||||
#> dates absolute relative
|
||||
#> 1 2021-01-01 1 1
|
||||
#> 2 2021-01-02 1 1
|
||||
#> 3 2021-01-05 1 1
|
||||
#> 4 2021-01-08 2 1
|
||||
#> 5 2021-02-21 3 2
|
||||
#> 6 2021-02-22 3 2
|
||||
#> 7 2021-02-23 3 2
|
||||
#> 8 2021-02-24 3 2
|
||||
#> 9 2021-03-01 4 2
|
||||
#> 10 2021-03-01 4 2
|
||||
|
||||
|
||||
# `example_isolates` is a data set available in the AMR package.
|
||||
# See ?example_isolates
|
||||
df <- example_isolates[sample(seq_len(2000), size = 100), ]
|
||||
|
||||
get_episode(df$date, episode_days = 60) # indices
|
||||
#> [1] 17 19 32 7 48 16 36 11 41 30 43 42 3 37 6 42 16 46 12 6 38 15 31 23 44
|
||||
#> [26] 35 42 21 10 21 18 22 9 29 40 8 22 14 31 47 18 26 28 18 25 20 11 49 8 27
|
||||
#> [51] 50 23 46 3 27 6 31 1 33 10 23 31 11 20 46 13 4 24 4 27 8 48 16 2 20
|
||||
#> [76] 35 31 19 33 34 16 14 33 17 46 24 15 17 7 9 39 14 50 5 12 2 45 35 8 28
|
||||
is_new_episode(df$date, episode_days = 60) # TRUE/FALSE
|
||||
#> [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
|
||||
#> [13] TRUE TRUE TRUE FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE
|
||||
#> [25] TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
|
||||
#> [37] FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE
|
||||
#> [49] FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE
|
||||
#> [61] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
|
||||
#> [73] FALSE TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
|
||||
#> [85] FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE
|
||||
#> [97] TRUE FALSE FALSE FALSE
|
||||
|
||||
# filter on results from the third 60-day episode only, using base R
|
||||
df[which(get_episode(df$date, 60) == 3), ]
|
||||
#> # A tibble: 2 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-07-23 F35553 51 M ICU B_STPHY_AURS R NA S R
|
||||
#> 2 2002-07-23 F35553 51 M ICU B_STPHY_AURS R NA S R
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, RIF <sir>
|
||||
|
||||
# the functions also work for less than a day, e.g. to include one per hour:
|
||||
get_episode(
|
||||
c(
|
||||
Sys.time(),
|
||||
Sys.time() + 60 * 60
|
||||
),
|
||||
episode_days = 1 / 24
|
||||
)
|
||||
#> [1] 1 2
|
||||
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
# is_new_episode() can also be used in dplyr verbs to determine patient
|
||||
# episodes based on any (combination of) grouping variables:
|
||||
df %>%
|
||||
mutate(condition = sample(
|
||||
x = c("A", "B", "C"),
|
||||
size = 100,
|
||||
replace = TRUE
|
||||
)) %>%
|
||||
group_by(patient, condition) %>%
|
||||
mutate(new_episode = is_new_episode(date, 365)) %>%
|
||||
select(patient, date, condition, new_episode) %>%
|
||||
arrange(patient, condition, date)
|
||||
}
|
||||
#> # A tibble: 100 × 4
|
||||
#> # Groups: patient, condition [95]
|
||||
#> patient date condition new_episode
|
||||
#> <chr> <date> <chr> <lgl>
|
||||
#> 1 011307 2011-09-20 B TRUE
|
||||
#> 2 011307 2011-09-20 C TRUE
|
||||
#> 3 021368 2016-03-25 A TRUE
|
||||
#> 4 060287 2007-03-11 B TRUE
|
||||
#> 5 078381 2014-07-17 A TRUE
|
||||
#> 6 097186 2015-10-28 B TRUE
|
||||
#> 7 0DBB93 2003-10-02 A TRUE
|
||||
#> 8 0DBF93 2015-12-03 C TRUE
|
||||
#> 9 114570 2003-04-22 A TRUE
|
||||
#> 10 141061 2014-10-22 C TRUE
|
||||
#> # ℹ 90 more rows
|
||||
|
||||
if (require("dplyr")) {
|
||||
df %>%
|
||||
group_by(ward, patient) %>%
|
||||
transmute(date,
|
||||
patient,
|
||||
new_index = get_episode(date, 60),
|
||||
new_logical = is_new_episode(date, 60)
|
||||
) %>%
|
||||
arrange(patient, ward, date)
|
||||
}
|
||||
#> # A tibble: 100 × 5
|
||||
#> # Groups: ward, patient [93]
|
||||
#> ward date patient new_index new_logical
|
||||
#> <chr> <date> <chr> <int> <lgl>
|
||||
#> 1 Clinical 2011-09-20 011307 1 TRUE
|
||||
#> 2 Clinical 2011-09-20 011307 1 FALSE
|
||||
#> 3 Outpatient 2016-03-25 021368 1 TRUE
|
||||
#> 4 Clinical 2007-03-11 060287 1 TRUE
|
||||
#> 5 ICU 2014-07-17 078381 1 TRUE
|
||||
#> 6 Clinical 2015-10-28 097186 1 TRUE
|
||||
#> 7 ICU 2003-10-02 0DBB93 1 TRUE
|
||||
#> 8 ICU 2015-12-03 0DBF93 1 TRUE
|
||||
#> 9 ICU 2003-04-22 114570 1 TRUE
|
||||
#> 10 Clinical 2014-10-22 141061 1 TRUE
|
||||
#> # ℹ 90 more rows
|
||||
|
||||
if (require("dplyr")) {
|
||||
df %>%
|
||||
group_by(ward) %>%
|
||||
summarise(
|
||||
n_patients = n_distinct(patient),
|
||||
n_episodes_365 = sum(is_new_episode(date, episode_days = 365)),
|
||||
n_episodes_60 = sum(is_new_episode(date, episode_days = 60)),
|
||||
n_episodes_30 = sum(is_new_episode(date, episode_days = 30))
|
||||
)
|
||||
}
|
||||
#> # A tibble: 3 × 5
|
||||
#> ward n_patients n_episodes_365 n_episodes_60 n_episodes_30
|
||||
#> <chr> <int> <int> <int> <int>
|
||||
#> 1 Clinical 51 12 33 43
|
||||
#> 2 ICU 31 11 26 30
|
||||
#> 3 Outpatient 11 8 11 11
|
||||
|
||||
# grouping on patients and microorganisms leads to the same
|
||||
# results as first_isolate() when using 'episode-based':
|
||||
if (require("dplyr")) {
|
||||
x <- df %>%
|
||||
filter_first_isolate(
|
||||
include_unknown = TRUE,
|
||||
method = "episode-based"
|
||||
)
|
||||
|
||||
y <- df %>%
|
||||
group_by(patient, mo) %>%
|
||||
filter(is_new_episode(date, 365)) %>%
|
||||
ungroup()
|
||||
|
||||
identical(x, y)
|
||||
}
|
||||
#> [1] TRUE
|
||||
|
||||
# but is_new_episode() has a lot more flexibility than first_isolate(),
|
||||
# since you can now group on anything that seems relevant:
|
||||
if (require("dplyr")) {
|
||||
df %>%
|
||||
group_by(patient, mo, ward) %>%
|
||||
mutate(flag_episode = is_new_episode(date, 365)) %>%
|
||||
select(group_vars(.), flag_episode)
|
||||
}
|
||||
#> # A tibble: 100 × 4
|
||||
#> # Groups: patient, mo, ward [95]
|
||||
#> patient mo ward flag_episode
|
||||
#> <chr> <mo> <chr> <lgl>
|
||||
#> 1 690B42 B_ESCHR_COLI ICU TRUE
|
||||
#> 2 550406 B_ESCHR_COLI Outpatient TRUE
|
||||
#> 3 F86227 B_STPHY_CONS Clinical TRUE
|
||||
#> 4 859863 B_STPHY_EPDR ICU TRUE
|
||||
#> 5 987C84 B_ESCHR_COLI Clinical TRUE
|
||||
#> 6 E19440 B_ESCHR_COLI ICU TRUE
|
||||
#> 7 F42C5F B_MRGNL_MRGN Clinical TRUE
|
||||
#> 8 F54261 B_STPHY_AURS Clinical TRUE
|
||||
#> 9 5D1690 B_ESCHR_COLI Outpatient TRUE
|
||||
#> 10 874171 B_STPHY_CONS Clinical TRUE
|
||||
#> # ℹ 90 more rows
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
228
reference/ggplot_pca.md
Normal file
228
reference/ggplot_pca.md
Normal file
@@ -0,0 +1,228 @@
|
||||
# PCA Biplot with `ggplot2`
|
||||
|
||||
Produces a `ggplot2` variant of a so-called
|
||||
[biplot](https://en.wikipedia.org/wiki/Biplot) for PCA (principal
|
||||
component analysis), but is more flexible and more appealing than the
|
||||
base R [`biplot()`](https://rdrr.io/r/stats/biplot.html) function.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
ggplot_pca(x, choices = 1:2, scale = 1, pc.biplot = TRUE,
|
||||
labels = NULL, labels_textsize = 3, labels_text_placement = 1.5,
|
||||
groups = NULL, ellipse = TRUE, ellipse_prob = 0.68,
|
||||
ellipse_size = 0.5, ellipse_alpha = 0.5, points_size = 2,
|
||||
points_alpha = 0.25, arrows = TRUE, arrows_colour = "darkblue",
|
||||
arrows_size = 0.5, arrows_textsize = 3, arrows_textangled = TRUE,
|
||||
arrows_alpha = 0.75, base_textsize = 10, ...)
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
The `ggplot_pca()` function is based on the `ggbiplot()` function from
|
||||
the `ggbiplot` package by Vince Vu, as found on GitHub:
|
||||
<https://github.com/vqv/ggbiplot> (retrieved: 2 March 2020, their latest
|
||||
commit:
|
||||
[`7325e88`](https://github.com/vqv/ggbiplot/commit/7325e880485bea4c07465a0304c470608fffb5d9);
|
||||
12 February 2015).
|
||||
|
||||
As per their GPL-2 licence that demands documentation of code changes,
|
||||
the changes made based on the source code were:
|
||||
|
||||
1. Rewritten code to remove the dependency on packages `plyr`, `scales`
|
||||
and `grid`
|
||||
|
||||
2. Parametrised more options, like arrow and ellipse settings
|
||||
|
||||
3. Hardened all input possibilities by defining the exact type of user
|
||||
input for every argument
|
||||
|
||||
4. Added total amount of explained variance as a caption in the plot
|
||||
|
||||
5. Cleaned all syntax based on the `lintr` package, fixed grammatical
|
||||
errors and added integrity checks
|
||||
|
||||
6. Updated documentation
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
An object returned by
|
||||
[`pca()`](https://amr-for-r.org/reference/pca.md),
|
||||
[`prcomp()`](https://rdrr.io/r/stats/prcomp.html) or
|
||||
[`princomp()`](https://rdrr.io/r/stats/princomp.html).
|
||||
|
||||
- choices:
|
||||
|
||||
length 2 vector specifying the components to plot. Only the default is
|
||||
a biplot in the strict sense.
|
||||
|
||||
- scale:
|
||||
|
||||
The variables are scaled by `lambda ^ scale` and the observations are
|
||||
scaled by `lambda ^ (1-scale)` where `lambda` are the singular values
|
||||
as computed by [`princomp`](https://rdrr.io/r/stats/princomp.html).
|
||||
Normally `0 <= scale <= 1`, and a warning will be issued if the
|
||||
specified `scale` is outside this range.
|
||||
|
||||
- pc.biplot:
|
||||
|
||||
If true, use what Gabriel (1971) refers to as a "principal component
|
||||
biplot", with `lambda = 1` and observations scaled up by sqrt(n) and
|
||||
variables scaled down by sqrt(n). Then inner products between
|
||||
variables approximate covariances and distances between observations
|
||||
approximate Mahalanobis distance.
|
||||
|
||||
- labels:
|
||||
|
||||
An optional vector of labels for the observations. If set, the labels
|
||||
will be placed below their respective points. When using the
|
||||
[`pca()`](https://amr-for-r.org/reference/pca.md) function as input
|
||||
for `x`, this will be determined automatically based on the attribute
|
||||
`non_numeric_cols`, see
|
||||
[`pca()`](https://amr-for-r.org/reference/pca.md).
|
||||
|
||||
- labels_textsize:
|
||||
|
||||
The size of the text used for the labels.
|
||||
|
||||
- labels_text_placement:
|
||||
|
||||
Adjustment factor the placement of the variable names (`>=1` means
|
||||
further away from the arrow head).
|
||||
|
||||
- groups:
|
||||
|
||||
An optional vector of groups for the labels, with the same length as
|
||||
`labels`. If set, the points and labels will be coloured according to
|
||||
these groups. When using the
|
||||
[`pca()`](https://amr-for-r.org/reference/pca.md) function as input
|
||||
for `x`, this will be determined automatically based on the attribute
|
||||
`non_numeric_cols`, see
|
||||
[`pca()`](https://amr-for-r.org/reference/pca.md).
|
||||
|
||||
- ellipse:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether a
|
||||
normal data ellipse should be drawn for each group (set with
|
||||
`groups`).
|
||||
|
||||
- ellipse_prob:
|
||||
|
||||
Statistical size of the ellipse in normal probability.
|
||||
|
||||
- ellipse_size:
|
||||
|
||||
The size of the ellipse line.
|
||||
|
||||
- ellipse_alpha:
|
||||
|
||||
The alpha (transparency) of the ellipse line.
|
||||
|
||||
- points_size:
|
||||
|
||||
The size of the points.
|
||||
|
||||
- points_alpha:
|
||||
|
||||
The alpha (transparency) of the points.
|
||||
|
||||
- arrows:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
arrows should be drawn.
|
||||
|
||||
- arrows_colour:
|
||||
|
||||
The colour of the arrow and their text.
|
||||
|
||||
- arrows_size:
|
||||
|
||||
The size (thickness) of the arrow lines.
|
||||
|
||||
- arrows_textsize:
|
||||
|
||||
The size of the text at the end of the arrows.
|
||||
|
||||
- arrows_textangled:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) whether the text at
|
||||
the end of the arrows should be angled.
|
||||
|
||||
- arrows_alpha:
|
||||
|
||||
The alpha (transparency) of the arrows and their text.
|
||||
|
||||
- base_textsize:
|
||||
|
||||
The text size for all plot elements except the labels and arrows.
|
||||
|
||||
- ...:
|
||||
|
||||
Arguments passed on to functions.
|
||||
|
||||
## Details
|
||||
|
||||
The colours for labels and points can be changed by adding another scale
|
||||
layer for colour, such as
|
||||
[`scale_colour_viridis_d()`](https://ggplot2.tidyverse.org/reference/scale_viridis.html)
|
||||
and
|
||||
[`scale_colour_brewer()`](https://ggplot2.tidyverse.org/reference/scale_brewer.html).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# `example_isolates` is a data set available in the AMR package.
|
||||
# See ?example_isolates.
|
||||
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
# calculate the resistance per group first
|
||||
resistance_data <- example_isolates %>%
|
||||
group_by(
|
||||
order = mo_order(mo), # group on anything, like order
|
||||
genus = mo_genus(mo)
|
||||
) %>% # and genus as we do here;
|
||||
filter(n() >= 30) %>% # filter on only 30 results per group
|
||||
summarise_if(is.sir, resistance) # then get resistance of all drugs
|
||||
|
||||
# now conduct PCA for certain antimicrobial drugs
|
||||
pca_result <- resistance_data %>%
|
||||
pca(AMC, CXM, CTX, CAZ, GEN, TOB, TMP, SXT)
|
||||
|
||||
summary(pca_result)
|
||||
|
||||
# old base R plotting method:
|
||||
biplot(pca_result, main = "Base R biplot")
|
||||
|
||||
# new ggplot2 plotting method using this package:
|
||||
if (require("ggplot2")) {
|
||||
ggplot_pca(pca_result) +
|
||||
labs(title = "ggplot2 biplot")
|
||||
}
|
||||
if (require("ggplot2")) {
|
||||
# still extendible with any ggplot2 function
|
||||
ggplot_pca(pca_result) +
|
||||
scale_colour_viridis_d() +
|
||||
labs(title = "ggplot2 biplot")
|
||||
}
|
||||
}
|
||||
#> Warning: There were 73 warnings in `summarise()`.
|
||||
#> The first warning was:
|
||||
#> ℹ In argument: `PEN = (function (..., minimum = 30, as_percent = FALSE,
|
||||
#> only_all_tested = FALSE) ...`.
|
||||
#> ℹ In group 5: `order = "Lactobacillales"` `genus = "Enterococcus"`.
|
||||
#> Caused by warning:
|
||||
#> ! Introducing NA: only 14 results available for PEN in group: order =
|
||||
#> "Lactobacillales", genus = "Enterococcus" (`minimum` = 30).
|
||||
#> ℹ Run `dplyr::last_dplyr_warnings()` to see the 72 remaining warnings.
|
||||
#> ℹ Columns selected for PCA: "AMC", "CAZ", "CTX", "CXM", "GEN", "SXT",
|
||||
#> "TMP", and "TOB". Total observations available: 7.
|
||||
#> Groups (n=4, named as 'order'):
|
||||
#> [1] "Caryophanales" "Enterobacterales" "Lactobacillales" "Pseudomonadales"
|
||||
#>
|
||||
|
||||
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
301
reference/ggplot_sir.md
Normal file
301
reference/ggplot_sir.md
Normal file
@@ -0,0 +1,301 @@
|
||||
# AMR Plots with `ggplot2`
|
||||
|
||||
Use these functions to create bar plots for AMR data analysis. All
|
||||
functions rely on
|
||||
[ggplot2](https://ggplot2.tidyverse.org/reference/ggplot.html)
|
||||
functions.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
ggplot_sir(data, position = NULL, x = "antibiotic",
|
||||
fill = "interpretation", facet = NULL, breaks = seq(0, 1, 0.1),
|
||||
limits = NULL, translate_ab = "name", combine_SI = TRUE,
|
||||
minimum = 30, language = get_AMR_locale(), nrow = NULL, colours = c(S
|
||||
= "#3CAEA3", SDD = "#8FD6C4", SI = "#3CAEA3", I = "#F6D55C", IR = "#ED553B",
|
||||
R = "#ED553B"), datalabels = TRUE, datalabels.size = 2.5,
|
||||
datalabels.colour = "grey15", title = NULL, subtitle = NULL,
|
||||
caption = NULL, x.title = "Antimicrobial", y.title = "Proportion", ...)
|
||||
|
||||
geom_sir(position = NULL, x = c("antibiotic", "interpretation"),
|
||||
fill = "interpretation", translate_ab = "name", minimum = 30,
|
||||
language = get_AMR_locale(), combine_SI = TRUE, ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- data:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) with column(s)
|
||||
of class [`sir`](https://amr-for-r.org/reference/as.sir.md) (see
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md)).
|
||||
|
||||
- position:
|
||||
|
||||
Position adjustment of bars, either `"fill"`, `"stack"` or `"dodge"`.
|
||||
|
||||
- x:
|
||||
|
||||
Variable to show on x axis, either `"antibiotic"` (default) or
|
||||
`"interpretation"` or a grouping variable.
|
||||
|
||||
- fill:
|
||||
|
||||
Variable to categorise using the plots legend, either `"antibiotic"`
|
||||
(default) or `"interpretation"` or a grouping variable.
|
||||
|
||||
- facet:
|
||||
|
||||
Variable to split plots by, either `"interpretation"` (default) or
|
||||
`"antibiotic"` or a grouping variable.
|
||||
|
||||
- breaks:
|
||||
|
||||
A [numeric](https://rdrr.io/r/base/numeric.html) vector of positions.
|
||||
|
||||
- limits:
|
||||
|
||||
A [numeric](https://rdrr.io/r/base/numeric.html) vector of length two
|
||||
providing limits of the scale, use `NA` to refer to the existing
|
||||
minimum or maximum.
|
||||
|
||||
- translate_ab:
|
||||
|
||||
A column name of the
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set to translate the antibiotic abbreviations to, using
|
||||
[`ab_property()`](https://amr-for-r.org/reference/ab_property.md).
|
||||
|
||||
- combine_SI:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
all values of S, SDD, and I must be merged into one, so the output
|
||||
only consists of S+SDD+I vs. R (susceptible vs. resistant) - the
|
||||
default is `TRUE`.
|
||||
|
||||
- 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*.
|
||||
|
||||
- language:
|
||||
|
||||
Language of the returned text - the default is the current system
|
||||
language (see
|
||||
[`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md))
|
||||
and can also be set with the package option
|
||||
[`AMR_locale`](https://amr-for-r.org/reference/AMR-options.md). Use
|
||||
`language = NULL` or `language = ""` to prevent translation.
|
||||
|
||||
- nrow:
|
||||
|
||||
(when using `facet`) number of rows.
|
||||
|
||||
- colours:
|
||||
|
||||
A named vactor with colour to be used for filling. The default colours
|
||||
are colour-blind friendly.
|
||||
|
||||
- datalabels:
|
||||
|
||||
Show datalabels using
|
||||
[`labels_sir_count()`](https://amr-for-r.org/reference/plot.md).
|
||||
|
||||
- datalabels.size:
|
||||
|
||||
Size of the datalabels.
|
||||
|
||||
- datalabels.colour:
|
||||
|
||||
Colour of the datalabels.
|
||||
|
||||
- title:
|
||||
|
||||
Text to show as title of the plot.
|
||||
|
||||
- subtitle:
|
||||
|
||||
Text to show as subtitle of the plot.
|
||||
|
||||
- caption:
|
||||
|
||||
Text to show as caption of the plot.
|
||||
|
||||
- x.title:
|
||||
|
||||
Text to show as x axis description.
|
||||
|
||||
- y.title:
|
||||
|
||||
Text to show as y axis description.
|
||||
|
||||
- ...:
|
||||
|
||||
Other arguments passed on to `geom_sir()` or, in case of
|
||||
[`scale_sir_colours()`](https://amr-for-r.org/reference/plot.md),
|
||||
named values to set colours. The default colours are colour-blind
|
||||
friendly, while maintaining the convention that e.g. 'susceptible'
|
||||
should be green and 'resistant' should be red. See *Examples*.
|
||||
|
||||
## Details
|
||||
|
||||
At default, the names of antimicrobials will be shown on the plots using
|
||||
[`ab_name()`](https://amr-for-r.org/reference/ab_property.md). This can
|
||||
be set with the `translate_ab` argument. See
|
||||
[`count_df()`](https://amr-for-r.org/reference/count.md).
|
||||
|
||||
`geom_sir()` will take any variable from the data that has an
|
||||
[`sir`](https://amr-for-r.org/reference/as.sir.md) class (created with
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md)) using
|
||||
[`sir_df()`](https://amr-for-r.org/reference/proportion.md) and will
|
||||
plot bars with the percentage S, I, and R. The default behaviour is to
|
||||
have the bars stacked and to have the different antimicrobials on the x
|
||||
axis.
|
||||
|
||||
Additional functions include:
|
||||
|
||||
- [`facet_sir()`](https://amr-for-r.org/reference/plot.md) creates 2d
|
||||
plots (at default based on S/I/R) using
|
||||
[`ggplot2::facet_wrap()`](https://ggplot2.tidyverse.org/reference/facet_wrap.html).
|
||||
|
||||
- [`scale_y_percent()`](https://amr-for-r.org/reference/plot.md)
|
||||
transforms the y axis to a 0 to 100% range using
|
||||
[`ggplot2::scale_y_continuous()`](https://ggplot2.tidyverse.org/reference/scale_continuous.html).
|
||||
|
||||
- [`scale_sir_colours()`](https://amr-for-r.org/reference/plot.md) sets
|
||||
colours to the bars (green for S, yellow for I, and red for R). with
|
||||
multilingual support. The default colours are colour-blind friendly,
|
||||
while maintaining the convention that e.g. 'susceptible' should be
|
||||
green and 'resistant' should be red.
|
||||
|
||||
- [`theme_sir()`](https://amr-for-r.org/reference/plot.md) is a [ggplot2
|
||||
theme](https://ggplot2.tidyverse.org/reference/theme.html) with
|
||||
minimal distraction.
|
||||
|
||||
- [`labels_sir_count()`](https://amr-for-r.org/reference/plot.md) print
|
||||
datalabels on the bars with percentage and amount of isolates using
|
||||
[`ggplot2::geom_text()`](https://ggplot2.tidyverse.org/reference/geom_text.html).
|
||||
|
||||
`ggplot_sir()` 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*.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# \donttest{
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# get antimicrobial results for drugs against a UTI:
|
||||
ggplot(example_isolates %>% select(AMX, NIT, FOS, TMP, CIP)) +
|
||||
geom_sir()
|
||||
}
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# prettify the plot using some additional functions:
|
||||
df <- example_isolates %>% select(AMX, NIT, FOS, TMP, CIP)
|
||||
ggplot(df) +
|
||||
geom_sir() +
|
||||
scale_y_percent() +
|
||||
scale_sir_colours(aesthetics = "fill") +
|
||||
labels_sir_count() +
|
||||
theme_sir()
|
||||
}
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# or better yet, simplify this using the wrapper function - a single command:
|
||||
example_isolates %>%
|
||||
select(AMX, NIT, FOS, TMP, CIP) %>%
|
||||
ggplot_sir()
|
||||
}
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# get only proportions and no counts:
|
||||
example_isolates %>%
|
||||
select(AMX, NIT, FOS, TMP, CIP) %>%
|
||||
ggplot_sir(datalabels = FALSE)
|
||||
}
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# add other ggplot2 arguments as you like:
|
||||
example_isolates %>%
|
||||
select(AMX, NIT, FOS, TMP, CIP) %>%
|
||||
ggplot_sir(
|
||||
width = 0.5,
|
||||
colour = "black",
|
||||
size = 1,
|
||||
linetype = 2,
|
||||
alpha = 0.25
|
||||
)
|
||||
}
|
||||
#> Warning: Ignoring unknown parameters: `size`
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# you can alter the colours with colour names:
|
||||
example_isolates %>%
|
||||
select(AMX) %>%
|
||||
ggplot_sir(colours = c(SI = "yellow"))
|
||||
}
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# but you can also use the built-in colour-blind friendly colours for
|
||||
# your plots, where "S" is green, "I" is yellow and "R" is red:
|
||||
data.frame(
|
||||
x = c("Value1", "Value2", "Value3"),
|
||||
y = c(1, 2, 3),
|
||||
z = c("Value4", "Value5", "Value6")
|
||||
) %>%
|
||||
ggplot() +
|
||||
geom_col(aes(x = x, y = y, fill = z)) +
|
||||
scale_sir_colours(
|
||||
aesthetics = "fill",
|
||||
Value4 = "S", Value5 = "I", Value6 = "R"
|
||||
)
|
||||
}
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# resistance of ciprofloxacine per age group
|
||||
example_isolates %>%
|
||||
mutate(first_isolate = first_isolate()) %>%
|
||||
filter(
|
||||
first_isolate == TRUE,
|
||||
mo == as.mo("Escherichia coli")
|
||||
) %>%
|
||||
# age_groups() is also a function in this AMR package:
|
||||
group_by(age_group = age_groups(age)) %>%
|
||||
select(age_group, CIP) %>%
|
||||
ggplot_sir(x = "age_group")
|
||||
}
|
||||
#> Warning: Removed 6 rows containing missing values or values outside the scale range
|
||||
#> (`geom_col()`).
|
||||
#> Warning: Removed 6 rows containing missing values or values outside the scale range
|
||||
#> (`geom_text()`).
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# a shorter version which also adjusts data label colours:
|
||||
example_isolates %>%
|
||||
select(AMX, NIT, FOS, TMP, CIP) %>%
|
||||
ggplot_sir(colours = FALSE)
|
||||
}
|
||||
|
||||
if (require("ggplot2") && require("dplyr")) {
|
||||
# it also supports groups (don't forget to use the group var on `x` or `facet`):
|
||||
example_isolates %>%
|
||||
filter(mo_is_gram_negative(), ward != "Outpatient") %>%
|
||||
# select only UTI-specific drugs
|
||||
select(ward, AMX, NIT, FOS, TMP, CIP) %>%
|
||||
group_by(ward) %>%
|
||||
ggplot_sir(
|
||||
x = "ward",
|
||||
facet = "antibiotic",
|
||||
nrow = 1,
|
||||
title = "AMR of Anti-UTI Drugs Per Ward",
|
||||
x.title = "Ward",
|
||||
datalabels = FALSE
|
||||
)
|
||||
}
|
||||
#> ℹ Using column 'mo' as input for `mo_is_gram_negative()`
|
||||
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
83
reference/guess_ab_col.md
Normal file
83
reference/guess_ab_col.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# Guess Antibiotic Column
|
||||
|
||||
This tries to find a column name in a data set based on information from
|
||||
the [antimicrobials](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
data set. Also supports WHONET abbreviations.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
guess_ab_col(x = NULL, search_string = NULL, verbose = FALSE,
|
||||
only_sir_columns = FALSE)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html).
|
||||
|
||||
- search_string:
|
||||
|
||||
A text to search `x` for, will be checked with
|
||||
[`as.ab()`](https://amr-for-r.org/reference/as.ab.md) if this value is
|
||||
not a column in `x`.
|
||||
|
||||
- verbose:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
additional info should be printed.
|
||||
|
||||
- only_sir_columns:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
only antimicrobial columns must be included that were transformed to
|
||||
class [sir](https://amr-for-r.org/reference/as.sir.md) on beforehand.
|
||||
Defaults to `FALSE` if no columns of `x` have a class
|
||||
[sir](https://amr-for-r.org/reference/as.sir.md).
|
||||
|
||||
## Value
|
||||
|
||||
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
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md) data
|
||||
set for any column containing a name or code of that antibiotic.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
df <- data.frame(
|
||||
amox = "S",
|
||||
tetr = "R"
|
||||
)
|
||||
|
||||
guess_ab_col(df, "amoxicillin")
|
||||
#> [1] "amox"
|
||||
guess_ab_col(df, "J01AA07") # ATC code of tetracycline
|
||||
#> [1] "tetr"
|
||||
|
||||
guess_ab_col(df, "J01AA07", verbose = TRUE)
|
||||
#> Auto-guessing columns suitable for analysis
|
||||
#> ...
|
||||
#> OK.
|
||||
#> ℹ Using column 'amox' as input for AMX (amoxicillin).
|
||||
#> ℹ Using column 'tetr' as input for TCY (tetracycline).
|
||||
#> ℹ Using column 'tetr' as input for J01AA07 (tetracycline).
|
||||
#> [1] "tetr"
|
||||
|
||||
# WHONET codes
|
||||
df <- data.frame(
|
||||
AMP_ND10 = "R",
|
||||
AMC_ED20 = "S"
|
||||
)
|
||||
guess_ab_col(df, "ampicillin")
|
||||
#> [1] "AMP_ND10"
|
||||
guess_ab_col(df, "J01CR02")
|
||||
#> [1] "AMC_ED20"
|
||||
guess_ab_col(df, "augmentin")
|
||||
#> [1] "AMC_ED20"
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -52,8 +52,7 @@
|
||||
|
||||
<div class="section-desc"><p>Please find the introduction to (and some general information about) our package here.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -69,8 +68,7 @@
|
||||
|
||||
<div class="section-desc"><p>These functions are meant to get taxonomically valid properties of microorganisms from any input, but also properties derived from taxonomy, such as the Gram stain (<code><a href="../reference/mo_property.html">mo_gramstain()</a></code>) , or <code><a href="../reference/mo_property.html">mo_is_yeast()</a></code>. Use <code><a href="../reference/mo_source.html">mo_source()</a></code> to teach this package how to translate your own codes to valid microorganisms, and use <code><a href="../reference/add_custom_microorganisms.html">add_custom_microorganisms()</a></code> to add your own custom microorganisms to this package.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -81,19 +79,22 @@
|
||||
|
||||
</dt>
|
||||
<dd>Transform Arbitrary Input to Valid Microbial Taxonomy</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="mo_property.html">mo_name()</a></code> <code><a href="mo_property.html">mo_fullname()</a></code> <code><a href="mo_property.html">mo_shortname()</a></code> <code><a href="mo_property.html">mo_subspecies()</a></code> <code><a href="mo_property.html">mo_species()</a></code> <code><a href="mo_property.html">mo_genus()</a></code> <code><a href="mo_property.html">mo_family()</a></code> <code><a href="mo_property.html">mo_order()</a></code> <code><a href="mo_property.html">mo_class()</a></code> <code><a href="mo_property.html">mo_phylum()</a></code> <code><a href="mo_property.html">mo_kingdom()</a></code> <code><a href="mo_property.html">mo_domain()</a></code> <code><a href="mo_property.html">mo_type()</a></code> <code><a href="mo_property.html">mo_status()</a></code> <code><a href="mo_property.html">mo_pathogenicity()</a></code> <code><a href="mo_property.html">mo_gramstain()</a></code> <code><a href="mo_property.html">mo_is_gram_negative()</a></code> <code><a href="mo_property.html">mo_is_gram_positive()</a></code> <code><a href="mo_property.html">mo_is_yeast()</a></code> <code><a href="mo_property.html">mo_is_intrinsic_resistant()</a></code> <code><a href="mo_property.html">mo_oxygen_tolerance()</a></code> <code><a href="mo_property.html">mo_is_anaerobic()</a></code> <code><a href="mo_property.html">mo_snomed()</a></code> <code><a href="mo_property.html">mo_ref()</a></code> <code><a href="mo_property.html">mo_authors()</a></code> <code><a href="mo_property.html">mo_year()</a></code> <code><a href="mo_property.html">mo_lpsn()</a></code> <code><a href="mo_property.html">mo_mycobank()</a></code> <code><a href="mo_property.html">mo_gbif()</a></code> <code><a href="mo_property.html">mo_rank()</a></code> <code><a href="mo_property.html">mo_taxonomy()</a></code> <code><a href="mo_property.html">mo_synonyms()</a></code> <code><a href="mo_property.html">mo_current()</a></code> <code><a href="mo_property.html">mo_group_members()</a></code> <code><a href="mo_property.html">mo_info()</a></code> <code><a href="mo_property.html">mo_url()</a></code> <code><a href="mo_property.html">mo_property()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Get Properties of a Microorganism</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="add_custom_microorganisms.html">add_custom_microorganisms()</a></code> <code><a href="add_custom_microorganisms.html">clear_custom_microorganisms()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Add Custom Microorganisms</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="mo_source.html">set_mo_source()</a></code> <code><a href="mo_source.html">get_mo_source()</a></code>
|
||||
|
||||
@@ -104,8 +105,7 @@
|
||||
|
||||
<div class="section-desc"><p>Use these functions to get valid properties of antimicrobials from any input or to clean your input. You can even retrieve drug names and doses from clinical text records, using <code><a href="../reference/ab_from_text.html">ab_from_text()</a></code>.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -116,25 +116,29 @@
|
||||
|
||||
</dt>
|
||||
<dd>Transform Input to an Antibiotic ID</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="ab_property.html">ab_name()</a></code> <code><a href="ab_property.html">ab_cid()</a></code> <code><a href="ab_property.html">ab_synonyms()</a></code> <code><a href="ab_property.html">ab_tradenames()</a></code> <code><a href="ab_property.html">ab_group()</a></code> <code><a href="ab_property.html">ab_atc()</a></code> <code><a href="ab_property.html">ab_atc_group1()</a></code> <code><a href="ab_property.html">ab_atc_group2()</a></code> <code><a href="ab_property.html">ab_loinc()</a></code> <code><a href="ab_property.html">ab_ddd()</a></code> <code><a href="ab_property.html">ab_ddd_units()</a></code> <code><a href="ab_property.html">ab_info()</a></code> <code><a href="ab_property.html">ab_url()</a></code> <code><a href="ab_property.html">ab_property()</a></code> <code><a href="ab_property.html">set_ab_names()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Get Properties of an Antibiotic</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="ab_from_text.html">ab_from_text()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Retrieve Antimicrobial Drug Names and Doses from Clinical Text</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="atc_online.html">atc_online_property()</a></code> <code><a href="atc_online.html">atc_online_groups()</a></code> <code><a href="atc_online.html">atc_online_ddd()</a></code> <code><a href="atc_online.html">atc_online_ddd_units()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Get ATC Properties from WHOCC Website</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="add_custom_antimicrobials.html">add_custom_antimicrobials()</a></code> <code><a href="add_custom_antimicrobials.html">clear_custom_antimicrobials()</a></code>
|
||||
|
||||
@@ -145,8 +149,7 @@
|
||||
|
||||
<div class="section-desc"><p>With <code><a href="../reference/as.mic.html">as.mic()</a></code> and <code><a href="../reference/as.disk.html">as.disk()</a></code> you can transform your raw input to valid MIC or disk diffusion values. Use <code><a href="../reference/as.sir.html">as.sir()</a></code> for cleaning raw data to let it only contain “R”, “I” and “S”, or to interpret MIC or disk diffusion values as SIR based on the lastest EUCAST and CLSI guidelines. Afterwards, you can extend antibiotic interpretations by applying <a href="https://www.eucast.org/expert_rules_and_intrinsic_resistance/" class="external-link">EUCAST rules</a> with <code><a href="../reference/eucast_rules.html">eucast_rules()</a></code>.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -157,25 +160,29 @@
|
||||
|
||||
</dt>
|
||||
<dd>Interpret MIC and Disk Diffusion as SIR, or Clean Existing SIR Data</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="as.mic.html">as.mic()</a></code> <code><a href="as.mic.html">is.mic()</a></code> <code><a href="as.mic.html">NA_mic_</a></code> <code><a href="as.mic.html">rescale_mic()</a></code> <code><a href="as.mic.html">mic_p50()</a></code> <code><a href="as.mic.html">mic_p90()</a></code> <code><a href="as.mic.html">droplevels(<i><mic></i>)</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Transform Input to Minimum Inhibitory Concentrations (MIC)</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="as.disk.html">as.disk()</a></code> <code><a href="as.disk.html">NA_disk_</a></code> <code><a href="as.disk.html">is.disk()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Transform Input to Disk Diffusion Diameters</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="eucast_rules.html">eucast_rules()</a></code> <code><a href="eucast_rules.html">eucast_dosage()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Apply EUCAST Rules</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="custom_eucast_rules.html">custom_eucast_rules()</a></code>
|
||||
|
||||
@@ -186,8 +193,7 @@
|
||||
|
||||
<div class="section-desc"><p>Use these function for the analysis part. You can use <code><a href="../reference/proportion.html">susceptibility()</a></code> or <code><a href="../reference/proportion.html">resistance()</a></code> on any antibiotic column. With <code><a href="../reference/antibiogram.html">antibiogram()</a></code>, you can generate a traditional, combined, syndromic, or weighted-incidence syndromic combination antibiogram (WISCA). This function also comes with support for R Markdown and Quarto. Be sure to first select the isolates that are appropiate for analysis, by using <code><a href="../reference/first_isolate.html">first_isolate()</a></code> or <code><a href="../reference/get_episode.html">is_new_episode()</a></code>. You can also filter your data on certain resistance in certain antibiotic classes (<code><a href="../reference/antimicrobial_selectors.html">carbapenems()</a></code>, <code><a href="../reference/antimicrobial_selectors.html">aminoglycosides()</a></code>), or determine multi-drug resistant microorganisms (MDRO, <code><a href="../reference/mdro.html">mdro()</a></code>).</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -198,79 +204,92 @@
|
||||
|
||||
</dt>
|
||||
<dd>Generate Traditional, Combination, Syndromic, or WISCA Antibiograms</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="proportion.html">resistance()</a></code> <code><a href="proportion.html">susceptibility()</a></code> <code><a href="proportion.html">sir_confidence_interval()</a></code> <code><a href="proportion.html">proportion_R()</a></code> <code><a href="proportion.html">proportion_IR()</a></code> <code><a href="proportion.html">proportion_I()</a></code> <code><a href="proportion.html">proportion_SI()</a></code> <code><a href="proportion.html">proportion_S()</a></code> <code><a href="proportion.html">proportion_df()</a></code> <code><a href="proportion.html">sir_df()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Calculate Antimicrobial Resistance</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="count.html">count_resistant()</a></code> <code><a href="count.html">count_susceptible()</a></code> <code><a href="count.html">count_S()</a></code> <code><a href="count.html">count_SI()</a></code> <code><a href="count.html">count_I()</a></code> <code><a href="count.html">count_IR()</a></code> <code><a href="count.html">count_R()</a></code> <code><a href="count.html">count_all()</a></code> <code><a href="count.html">n_sir()</a></code> <code><a href="count.html">count_df()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Count Available Isolates</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="get_episode.html">get_episode()</a></code> <code><a href="get_episode.html">is_new_episode()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Determine Clinical or Epidemic Episodes</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="first_isolate.html">first_isolate()</a></code> <code><a href="first_isolate.html">filter_first_isolate()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Determine First Isolates</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="key_antimicrobials.html">key_antimicrobials()</a></code> <code><a href="key_antimicrobials.html">all_antimicrobials()</a></code> <code><a href="key_antimicrobials.html">antimicrobials_equal()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>(Key) Antimicrobials for First Weighted Isolates</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="mdro.html">mdro()</a></code> <code><a href="mdro.html">brmo()</a></code> <code><a href="mdro.html">mrgn()</a></code> <code><a href="mdro.html">mdr_tb()</a></code> <code><a href="mdro.html">mdr_cmi2012()</a></code> <code><a href="mdro.html">eucast_exceptional_phenotypes()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Determine Multidrug-Resistant Organisms (MDRO)</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="custom_mdro_guideline.html">custom_mdro_guideline()</a></code> <code><a href="custom_mdro_guideline.html">c(<i><custom_mdro_guideline></i>)</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Define Custom MDRO Guideline</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="bug_drug_combinations.html">bug_drug_combinations()</a></code> <code><a href="bug_drug_combinations.html">format(<i><bug_drug_combinations></i>)</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Determine Bug-Drug Combinations</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="antimicrobial_selectors.html">aminoglycosides()</a></code> <code><a href="antimicrobial_selectors.html">aminopenicillins()</a></code> <code><a href="antimicrobial_selectors.html">antifungals()</a></code> <code><a href="antimicrobial_selectors.html">antimycobacterials()</a></code> <code><a href="antimicrobial_selectors.html">betalactams()</a></code> <code><a href="antimicrobial_selectors.html">betalactams_with_inhibitor()</a></code> <code><a href="antimicrobial_selectors.html">carbapenems()</a></code> <code><a href="antimicrobial_selectors.html">cephalosporins()</a></code> <code><a href="antimicrobial_selectors.html">cephalosporins_1st()</a></code> <code><a href="antimicrobial_selectors.html">cephalosporins_2nd()</a></code> <code><a href="antimicrobial_selectors.html">cephalosporins_3rd()</a></code> <code><a href="antimicrobial_selectors.html">cephalosporins_4th()</a></code> <code><a href="antimicrobial_selectors.html">cephalosporins_5th()</a></code> <code><a href="antimicrobial_selectors.html">fluoroquinolones()</a></code> <code><a href="antimicrobial_selectors.html">glycopeptides()</a></code> <code><a href="antimicrobial_selectors.html">isoxazolylpenicillins()</a></code> <code><a href="antimicrobial_selectors.html">lincosamides()</a></code> <code><a href="antimicrobial_selectors.html">lipoglycopeptides()</a></code> <code><a href="antimicrobial_selectors.html">macrolides()</a></code> <code><a href="antimicrobial_selectors.html">monobactams()</a></code> <code><a href="antimicrobial_selectors.html">nitrofurans()</a></code> <code><a href="antimicrobial_selectors.html">oxazolidinones()</a></code> <code><a href="antimicrobial_selectors.html">penicillins()</a></code> <code><a href="antimicrobial_selectors.html">phenicols()</a></code> <code><a href="antimicrobial_selectors.html">polymyxins()</a></code> <code><a href="antimicrobial_selectors.html">quinolones()</a></code> <code><a href="antimicrobial_selectors.html">rifamycins()</a></code> <code><a href="antimicrobial_selectors.html">streptogramins()</a></code> <code><a href="antimicrobial_selectors.html">sulfonamides()</a></code> <code><a href="antimicrobial_selectors.html">tetracyclines()</a></code> <code><a href="antimicrobial_selectors.html">trimethoprims()</a></code> <code><a href="antimicrobial_selectors.html">ureidopenicillins()</a></code> <code><a href="antimicrobial_selectors.html">amr_class()</a></code> <code><a href="antimicrobial_selectors.html">amr_selector()</a></code> <code><a href="antimicrobial_selectors.html">administrable_per_os()</a></code> <code><a href="antimicrobial_selectors.html">administrable_iv()</a></code> <code><a href="antimicrobial_selectors.html">not_intrinsic_resistant()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Antimicrobial Selectors</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="top_n_microorganisms.html">top_n_microorganisms()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Filter Top <em>n</em> Microorganisms</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="mean_amr_distance.html">mean_amr_distance()</a></code> <code><a href="mean_amr_distance.html">amr_distance_from_row()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Calculate the Mean AMR Distance</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="resistance_predict.html">resistance_predict()</a></code> <code><a href="resistance_predict.html">sir_predict()</a></code> <code><a href="resistance_predict.html">plot(<i><resistance_predict></i>)</a></code> <code><a href="resistance_predict.html">ggplot_sir_predict()</a></code> <code><a href="resistance_predict.html">autoplot(<i><resistance_predict></i>)</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Predict Antimicrobial Resistance</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="guess_ab_col.html">guess_ab_col()</a></code>
|
||||
|
||||
@@ -281,8 +300,7 @@
|
||||
|
||||
<div class="section-desc"><p>Use these functions for the plotting part. The <code>scale_*_mic()</code> functions extend the ggplot2 package to allow plotting of MIC values, even within a manually set range. If using <code><a href="../reference/plot.html">plot()</a></code> (base R) or <code><a href="https://ggplot2.tidyverse.org/reference/autoplot.html" class="external-link">autoplot()</a></code> (ggplot2) on MIC values or disk diffusion values, the user can set the interpretation guideline to give the bars the right SIR colours. The <code><a href="../reference/ggplot_sir.html">ggplot_sir()</a></code> function is a short wrapper for users not much accustomed to ggplot2 yet. The <code><a href="../reference/ggplot_pca.html">ggplot_pca()</a></code> function is a specific function to plot so-called biplots for PCA (principal component analysis).</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -293,13 +311,15 @@
|
||||
|
||||
</dt>
|
||||
<dd>Plotting Helpers for AMR Data Analysis</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="ggplot_sir.html">ggplot_sir()</a></code> <code><a href="ggplot_sir.html">geom_sir()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>AMR Plots with <code>ggplot2</code></dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="ggplot_pca.html">ggplot_pca()</a></code>
|
||||
|
||||
@@ -310,8 +330,7 @@
|
||||
|
||||
<div class="section-desc"><p>The AMR package is customisable, by providing settings that can be set per user or per team. For example, the default interpretation guideline can be changed from EUCAST to CLSI, or a supported language can be set for the whole team (system-language independent) for antibiotic names in a foreign language.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -327,8 +346,7 @@
|
||||
|
||||
<div class="section-desc"><p>This package also provides extensive support for antiviral agents, even though it is not the primary scope of this package. Working with data containing information about antiviral drugs was never easier. Use these functions to get valid properties of antiviral drugs from any input or to clean your input. You can even retrieve drug names and doses from clinical text records, using <code><a href="../reference/av_from_text.html">av_from_text()</a></code>.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -339,13 +357,15 @@
|
||||
|
||||
</dt>
|
||||
<dd>Transform Input to an Antiviral Drug ID</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="av_property.html">av_name()</a></code> <code><a href="av_property.html">av_cid()</a></code> <code><a href="av_property.html">av_synonyms()</a></code> <code><a href="av_property.html">av_tradenames()</a></code> <code><a href="av_property.html">av_group()</a></code> <code><a href="av_property.html">av_atc()</a></code> <code><a href="av_property.html">av_loinc()</a></code> <code><a href="av_property.html">av_ddd()</a></code> <code><a href="av_property.html">av_ddd_units()</a></code> <code><a href="av_property.html">av_info()</a></code> <code><a href="av_property.html">av_url()</a></code> <code><a href="av_property.html">av_property()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Get Properties of an Antiviral Drug</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="av_from_text.html">av_from_text()</a></code>
|
||||
|
||||
@@ -356,8 +376,7 @@
|
||||
|
||||
<div class="section-desc"><p>Some pages about our package and its external sources. Be sure to read our <a href="./../articles/index.html">How To’s</a> for more information about how to work with functions in this package.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -368,61 +387,71 @@
|
||||
|
||||
</dt>
|
||||
<dd>Data Set with 78 679 Taxonomic Records of Microorganisms</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="antimicrobials.html">antimicrobials</a></code> <code><a href="antimicrobials.html">antibiotics</a></code> <code><a href="antimicrobials.html">antivirals</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Data Sets with 616 Antimicrobial Drugs</dd>
|
||||
</dl><dl><dt>
|
||||
<dd>Data Sets with 618 Antimicrobial Drugs</dd>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="clinical_breakpoints.html">clinical_breakpoints</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Data Set with Clinical Breakpoints for SIR Interpretation</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="example_isolates.html">example_isolates</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Data Set with 2 000 Example Isolates</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="microorganisms.codes.html">microorganisms.codes</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Data Set with 6 036 Common Microorganism Codes</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="microorganisms.groups.html">microorganisms.groups</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Data Set with 534 Microorganisms In Species Groups</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="intrinsic_resistant.html">intrinsic_resistant</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Data Set Denoting Bacterial Intrinsic Resistance</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="dosage.html">dosage</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Data Set with Treatment Dosages as Defined by EUCAST</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="WHOCC.html">WHOCC</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>WHOCC: WHO Collaborating Centre for Drug Statistics Methodology</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="example_isolates_unclean.html">example_isolates_unclean</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Data Set with Unclean Data</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="WHONET.html">WHONET</a></code>
|
||||
|
||||
@@ -433,8 +462,7 @@
|
||||
|
||||
<div class="section-desc"><p>These functions are mostly for internal use, but some of them may also be suitable for your analysis. Especially the ‘like’ function can be useful: <code>if (x %like% y) {...}</code>.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -445,61 +473,71 @@
|
||||
|
||||
</dt>
|
||||
<dd>Split Ages into Age Groups</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="age.html">age()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Age in Years of Individuals</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="export_ncbi_biosample.html">export_ncbi_biosample()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Export Data Set as NCBI BioSample Antibiogram</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="availability.html">availability()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Check Availability of Columns</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="translate.html">get_AMR_locale()</a></code> <code><a href="translate.html">set_AMR_locale()</a></code> <code><a href="translate.html">reset_AMR_locale()</a></code> <code><a href="translate.html">translate_AMR()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Translate Strings from the AMR Package</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="italicise_taxonomy.html">italicise_taxonomy()</a></code> <code><a href="italicise_taxonomy.html">italicize_taxonomy()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Italicise Taxonomic Families, Genera, Species, Subspecies</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="join.html">inner_join_microorganisms()</a></code> <code><a href="join.html">left_join_microorganisms()</a></code> <code><a href="join.html">right_join_microorganisms()</a></code> <code><a href="join.html">full_join_microorganisms()</a></code> <code><a href="join.html">semi_join_microorganisms()</a></code> <code><a href="join.html">anti_join_microorganisms()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Join microorganisms to a Data Set</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="like.html">like()</a></code> <code><a href="like.html">`%like%`</a></code> <code><a href="like.html">`%unlike%`</a></code> <code><a href="like.html">`%like_case%`</a></code> <code><a href="like.html">`%unlike_case%`</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Vectorised Pattern Matching with Keyboard Shortcut</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="mo_matching_score.html">mo_matching_score()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Calculate the Matching Score for Microorganisms</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="pca.html">pca()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Principal Component Analysis (for AMR)</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="random.html">random_mic()</a></code> <code><a href="random.html">random_disk()</a></code> <code><a href="random.html">random_sir()</a></code>
|
||||
|
||||
@@ -510,8 +548,7 @@
|
||||
|
||||
<div class="section-desc"><p>Some statistical tests or methods are not part of base R and were added to this package for convenience.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
@@ -522,13 +559,15 @@
|
||||
|
||||
</dt>
|
||||
<dd><em>G</em>-test for Count Data</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="kurtosis.html">kurtosis()</a></code>
|
||||
|
||||
</dt>
|
||||
<dd>Kurtosis of the Sample</dd>
|
||||
</dl><dl><dt>
|
||||
|
||||
<dt>
|
||||
|
||||
<code><a href="skewness.html">skewness()</a></code>
|
||||
|
||||
@@ -539,8 +578,7 @@
|
||||
|
||||
<div class="section-desc"><p>These objects are deprecated, meaning that they will still work but show a warning that they will be removed in a future version.</p></div>
|
||||
|
||||
|
||||
</div><div class="section level2">
|
||||
<dl></dl></div><div class="section level2">
|
||||
|
||||
|
||||
|
||||
|
||||
475
reference/index.md
Normal file
475
reference/index.md
Normal file
@@ -0,0 +1,475 @@
|
||||
# Package index
|
||||
|
||||
## Introduction to the package
|
||||
|
||||
Please find the introduction to (and some general information about) our
|
||||
package here.
|
||||
|
||||
- [`AMR-package`](https://amr-for-r.org/reference/AMR.md)
|
||||
[`AMR`](https://amr-for-r.org/reference/AMR.md) :
|
||||
|
||||
The `AMR` Package
|
||||
|
||||
## Preparing data: microorganisms
|
||||
|
||||
These functions are meant to get taxonomically valid properties of
|
||||
microorganisms from any input, but also properties derived from
|
||||
taxonomy, such as the Gram stain
|
||||
([`mo_gramstain()`](https://amr-for-r.org/reference/mo_property.md)) ,
|
||||
or [`mo_is_yeast()`](https://amr-for-r.org/reference/mo_property.md).
|
||||
Use [`mo_source()`](https://amr-for-r.org/reference/mo_source.md) to
|
||||
teach this package how to translate your own codes to valid
|
||||
microorganisms, and use
|
||||
[`add_custom_microorganisms()`](https://amr-for-r.org/reference/add_custom_microorganisms.md)
|
||||
to add your own custom microorganisms to this package.
|
||||
|
||||
- [`as.mo()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
[`is.mo()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
[`mo_uncertainties()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
[`mo_renamed()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
[`mo_failures()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
[`mo_reset_session()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
[`mo_cleaning_regex()`](https://amr-for-r.org/reference/as.mo.md) :
|
||||
Transform Arbitrary Input to Valid Microbial Taxonomy
|
||||
- [`mo_name()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_fullname()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_shortname()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_subspecies()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_species()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_genus()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_family()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_order()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_class()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_phylum()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_kingdom()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_domain()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_type()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_status()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_pathogenicity()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_gramstain()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_is_gram_negative()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_is_gram_positive()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_is_yeast()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_is_intrinsic_resistant()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_oxygen_tolerance()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_is_anaerobic()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_snomed()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_ref()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_authors()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_year()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_lpsn()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_mycobank()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_gbif()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_rank()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_taxonomy()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_synonyms()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_current()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_group_members()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_info()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_url()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
[`mo_property()`](https://amr-for-r.org/reference/mo_property.md) :
|
||||
Get Properties of a Microorganism
|
||||
- [`add_custom_microorganisms()`](https://amr-for-r.org/reference/add_custom_microorganisms.md)
|
||||
[`clear_custom_microorganisms()`](https://amr-for-r.org/reference/add_custom_microorganisms.md)
|
||||
: Add Custom Microorganisms
|
||||
- [`set_mo_source()`](https://amr-for-r.org/reference/mo_source.md)
|
||||
[`get_mo_source()`](https://amr-for-r.org/reference/mo_source.md) :
|
||||
User-Defined Reference Data Set for Microorganisms
|
||||
|
||||
## Preparing data: antimicrobials
|
||||
|
||||
Use these functions to get valid properties of antimicrobials from any
|
||||
input or to clean your input. You can even retrieve drug names and doses
|
||||
from clinical text records, using
|
||||
[`ab_from_text()`](https://amr-for-r.org/reference/ab_from_text.md).
|
||||
|
||||
- [`as.ab()`](https://amr-for-r.org/reference/as.ab.md)
|
||||
[`is.ab()`](https://amr-for-r.org/reference/as.ab.md)
|
||||
[`ab_reset_session()`](https://amr-for-r.org/reference/as.ab.md) :
|
||||
Transform Input to an Antibiotic ID
|
||||
- [`ab_name()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_cid()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_synonyms()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_tradenames()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_group()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_atc()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_atc_group1()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_atc_group2()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_loinc()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_ddd()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_ddd_units()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_info()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_url()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`ab_property()`](https://amr-for-r.org/reference/ab_property.md)
|
||||
[`set_ab_names()`](https://amr-for-r.org/reference/ab_property.md) :
|
||||
Get Properties of an Antibiotic
|
||||
- [`ab_from_text()`](https://amr-for-r.org/reference/ab_from_text.md) :
|
||||
Retrieve Antimicrobial Drug Names and Doses from Clinical Text
|
||||
- [`atc_online_property()`](https://amr-for-r.org/reference/atc_online.md)
|
||||
[`atc_online_groups()`](https://amr-for-r.org/reference/atc_online.md)
|
||||
[`atc_online_ddd()`](https://amr-for-r.org/reference/atc_online.md)
|
||||
[`atc_online_ddd_units()`](https://amr-for-r.org/reference/atc_online.md)
|
||||
: Get ATC Properties from WHOCC Website
|
||||
- [`add_custom_antimicrobials()`](https://amr-for-r.org/reference/add_custom_antimicrobials.md)
|
||||
[`clear_custom_antimicrobials()`](https://amr-for-r.org/reference/add_custom_antimicrobials.md)
|
||||
: Add Custom Antimicrobials
|
||||
|
||||
## Preparing data: antimicrobial results
|
||||
|
||||
With [`as.mic()`](https://amr-for-r.org/reference/as.mic.md) and
|
||||
[`as.disk()`](https://amr-for-r.org/reference/as.disk.md) you can
|
||||
transform your raw input to valid MIC or disk diffusion values. Use
|
||||
[`as.sir()`](https://amr-for-r.org/reference/as.sir.md) for cleaning raw
|
||||
data to let it only contain “R”, “I” and “S”, or to interpret MIC or
|
||||
disk diffusion values as SIR based on the lastest EUCAST and CLSI
|
||||
guidelines. Afterwards, you can extend antibiotic interpretations by
|
||||
applying [EUCAST
|
||||
rules](https://www.eucast.org/expert_rules_and_intrinsic_resistance/)
|
||||
with
|
||||
[`eucast_rules()`](https://amr-for-r.org/reference/eucast_rules.md).
|
||||
|
||||
- [`as.sir()`](https://amr-for-r.org/reference/as.sir.md)
|
||||
[`NA_sir_`](https://amr-for-r.org/reference/as.sir.md)
|
||||
[`is.sir()`](https://amr-for-r.org/reference/as.sir.md)
|
||||
[`is_sir_eligible()`](https://amr-for-r.org/reference/as.sir.md)
|
||||
[`sir_interpretation_history()`](https://amr-for-r.org/reference/as.sir.md)
|
||||
: Interpret MIC and Disk Diffusion as SIR, or Clean Existing SIR Data
|
||||
- [`as.mic()`](https://amr-for-r.org/reference/as.mic.md)
|
||||
[`is.mic()`](https://amr-for-r.org/reference/as.mic.md)
|
||||
[`NA_mic_`](https://amr-for-r.org/reference/as.mic.md)
|
||||
[`rescale_mic()`](https://amr-for-r.org/reference/as.mic.md)
|
||||
[`mic_p50()`](https://amr-for-r.org/reference/as.mic.md)
|
||||
[`mic_p90()`](https://amr-for-r.org/reference/as.mic.md)
|
||||
[`droplevels(`*`<mic>`*`)`](https://amr-for-r.org/reference/as.mic.md)
|
||||
: Transform Input to Minimum Inhibitory Concentrations (MIC)
|
||||
- [`as.disk()`](https://amr-for-r.org/reference/as.disk.md)
|
||||
[`NA_disk_`](https://amr-for-r.org/reference/as.disk.md)
|
||||
[`is.disk()`](https://amr-for-r.org/reference/as.disk.md) : Transform
|
||||
Input to Disk Diffusion Diameters
|
||||
- [`eucast_rules()`](https://amr-for-r.org/reference/eucast_rules.md)
|
||||
[`eucast_dosage()`](https://amr-for-r.org/reference/eucast_rules.md) :
|
||||
Apply EUCAST Rules
|
||||
- [`custom_eucast_rules()`](https://amr-for-r.org/reference/custom_eucast_rules.md)
|
||||
: Define Custom EUCAST Rules
|
||||
|
||||
## Analysing data
|
||||
|
||||
Use these function for the analysis part. You can use
|
||||
[`susceptibility()`](https://amr-for-r.org/reference/proportion.md) or
|
||||
[`resistance()`](https://amr-for-r.org/reference/proportion.md) on any
|
||||
antibiotic column. With
|
||||
[`antibiogram()`](https://amr-for-r.org/reference/antibiogram.md), you
|
||||
can generate a traditional, combined, syndromic, or weighted-incidence
|
||||
syndromic combination antibiogram (WISCA). This function also comes with
|
||||
support for R Markdown and Quarto. Be sure to first select the isolates
|
||||
that are appropiate for analysis, by using
|
||||
[`first_isolate()`](https://amr-for-r.org/reference/first_isolate.md) or
|
||||
[`is_new_episode()`](https://amr-for-r.org/reference/get_episode.md).
|
||||
You can also filter your data on certain resistance in certain
|
||||
antibiotic classes
|
||||
([`carbapenems()`](https://amr-for-r.org/reference/antimicrobial_selectors.md),
|
||||
[`aminoglycosides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)),
|
||||
or determine multi-drug resistant microorganisms (MDRO,
|
||||
[`mdro()`](https://amr-for-r.org/reference/mdro.md)).
|
||||
|
||||
- [`antibiogram()`](https://amr-for-r.org/reference/antibiogram.md)
|
||||
[`wisca()`](https://amr-for-r.org/reference/antibiogram.md)
|
||||
[`retrieve_wisca_parameters()`](https://amr-for-r.org/reference/antibiogram.md)
|
||||
[`plot(`*`<antibiogram>`*`)`](https://amr-for-r.org/reference/antibiogram.md)
|
||||
[`autoplot(`*`<antibiogram>`*`)`](https://amr-for-r.org/reference/antibiogram.md)
|
||||
[`knit_print(`*`<antibiogram>`*`)`](https://amr-for-r.org/reference/antibiogram.md)
|
||||
: Generate Traditional, Combination, Syndromic, or WISCA Antibiograms
|
||||
|
||||
- [`resistance()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`susceptibility()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`sir_confidence_interval()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`proportion_R()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`proportion_IR()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`proportion_I()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`proportion_SI()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`proportion_S()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`proportion_df()`](https://amr-for-r.org/reference/proportion.md)
|
||||
[`sir_df()`](https://amr-for-r.org/reference/proportion.md) :
|
||||
Calculate Antimicrobial Resistance
|
||||
|
||||
- [`count_resistant()`](https://amr-for-r.org/reference/count.md)
|
||||
[`count_susceptible()`](https://amr-for-r.org/reference/count.md)
|
||||
[`count_S()`](https://amr-for-r.org/reference/count.md)
|
||||
[`count_SI()`](https://amr-for-r.org/reference/count.md)
|
||||
[`count_I()`](https://amr-for-r.org/reference/count.md)
|
||||
[`count_IR()`](https://amr-for-r.org/reference/count.md)
|
||||
[`count_R()`](https://amr-for-r.org/reference/count.md)
|
||||
[`count_all()`](https://amr-for-r.org/reference/count.md)
|
||||
[`n_sir()`](https://amr-for-r.org/reference/count.md)
|
||||
[`count_df()`](https://amr-for-r.org/reference/count.md) : Count
|
||||
Available Isolates
|
||||
|
||||
- [`get_episode()`](https://amr-for-r.org/reference/get_episode.md)
|
||||
[`is_new_episode()`](https://amr-for-r.org/reference/get_episode.md) :
|
||||
Determine Clinical or Epidemic Episodes
|
||||
|
||||
- [`first_isolate()`](https://amr-for-r.org/reference/first_isolate.md)
|
||||
[`filter_first_isolate()`](https://amr-for-r.org/reference/first_isolate.md)
|
||||
: Determine First Isolates
|
||||
|
||||
- [`key_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md)
|
||||
[`all_antimicrobials()`](https://amr-for-r.org/reference/key_antimicrobials.md)
|
||||
[`antimicrobials_equal()`](https://amr-for-r.org/reference/key_antimicrobials.md)
|
||||
: (Key) Antimicrobials for First Weighted Isolates
|
||||
|
||||
- [`mdro()`](https://amr-for-r.org/reference/mdro.md)
|
||||
[`brmo()`](https://amr-for-r.org/reference/mdro.md)
|
||||
[`mrgn()`](https://amr-for-r.org/reference/mdro.md)
|
||||
[`mdr_tb()`](https://amr-for-r.org/reference/mdro.md)
|
||||
[`mdr_cmi2012()`](https://amr-for-r.org/reference/mdro.md)
|
||||
[`eucast_exceptional_phenotypes()`](https://amr-for-r.org/reference/mdro.md)
|
||||
: Determine Multidrug-Resistant Organisms (MDRO)
|
||||
|
||||
- [`custom_mdro_guideline()`](https://amr-for-r.org/reference/custom_mdro_guideline.md)
|
||||
[`c(`*`<custom_mdro_guideline>`*`)`](https://amr-for-r.org/reference/custom_mdro_guideline.md)
|
||||
: Define Custom MDRO Guideline
|
||||
|
||||
- [`bug_drug_combinations()`](https://amr-for-r.org/reference/bug_drug_combinations.md)
|
||||
[`format(`*`<bug_drug_combinations>`*`)`](https://amr-for-r.org/reference/bug_drug_combinations.md)
|
||||
: Determine Bug-Drug Combinations
|
||||
|
||||
- [`aminoglycosides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`aminopenicillins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`antifungals()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`antimycobacterials()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`betalactams()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`betalactams_with_inhibitor()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`carbapenems()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`cephalosporins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`cephalosporins_1st()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`cephalosporins_2nd()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`cephalosporins_3rd()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`cephalosporins_4th()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`cephalosporins_5th()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`fluoroquinolones()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`glycopeptides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`isoxazolylpenicillins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`lincosamides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`lipoglycopeptides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`macrolides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`monobactams()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`nitrofurans()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`oxazolidinones()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`penicillins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`phenicols()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`polymyxins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`quinolones()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`rifamycins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`streptogramins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`sulfonamides()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`tetracyclines()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`trimethoprims()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`ureidopenicillins()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`amr_class()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`amr_selector()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`administrable_per_os()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`administrable_iv()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
[`not_intrinsic_resistant()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
: Antimicrobial Selectors
|
||||
|
||||
- [`top_n_microorganisms()`](https://amr-for-r.org/reference/top_n_microorganisms.md)
|
||||
:
|
||||
|
||||
Filter Top *n* Microorganisms
|
||||
|
||||
- [`mean_amr_distance()`](https://amr-for-r.org/reference/mean_amr_distance.md)
|
||||
[`amr_distance_from_row()`](https://amr-for-r.org/reference/mean_amr_distance.md)
|
||||
: Calculate the Mean AMR Distance
|
||||
|
||||
- [`resistance_predict()`](https://amr-for-r.org/reference/resistance_predict.md)
|
||||
[`sir_predict()`](https://amr-for-r.org/reference/resistance_predict.md)
|
||||
[`plot(`*`<resistance_predict>`*`)`](https://amr-for-r.org/reference/resistance_predict.md)
|
||||
[`ggplot_sir_predict()`](https://amr-for-r.org/reference/resistance_predict.md)
|
||||
[`autoplot(`*`<resistance_predict>`*`)`](https://amr-for-r.org/reference/resistance_predict.md)
|
||||
: Predict Antimicrobial Resistance
|
||||
|
||||
- [`guess_ab_col()`](https://amr-for-r.org/reference/guess_ab_col.md) :
|
||||
Guess Antibiotic Column
|
||||
|
||||
## Plotting data
|
||||
|
||||
Use these functions for the plotting part. The `scale_*_mic()` functions
|
||||
extend the ggplot2 package to allow plotting of MIC values, even within
|
||||
a manually set range. If using
|
||||
[`plot()`](https://amr-for-r.org/reference/plot.md) (base R) or
|
||||
[`autoplot()`](https://ggplot2.tidyverse.org/reference/autoplot.html)
|
||||
(ggplot2) on MIC values or disk diffusion values, the user can set the
|
||||
interpretation guideline to give the bars the right SIR colours. The
|
||||
[`ggplot_sir()`](https://amr-for-r.org/reference/ggplot_sir.md) function
|
||||
is a short wrapper for users not much accustomed to ggplot2 yet. The
|
||||
[`ggplot_pca()`](https://amr-for-r.org/reference/ggplot_pca.md) function
|
||||
is a specific function to plot so-called biplots for PCA (principal
|
||||
component analysis).
|
||||
|
||||
- [`scale_x_mic()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`scale_y_mic()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`scale_colour_mic()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`scale_fill_mic()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`scale_x_sir()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`scale_colour_sir()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`scale_fill_sir()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`plot(`*`<mic>`*`)`](https://amr-for-r.org/reference/plot.md)
|
||||
[`autoplot(`*`<mic>`*`)`](https://amr-for-r.org/reference/plot.md)
|
||||
[`plot(`*`<disk>`*`)`](https://amr-for-r.org/reference/plot.md)
|
||||
[`autoplot(`*`<disk>`*`)`](https://amr-for-r.org/reference/plot.md)
|
||||
[`plot(`*`<sir>`*`)`](https://amr-for-r.org/reference/plot.md)
|
||||
[`autoplot(`*`<sir>`*`)`](https://amr-for-r.org/reference/plot.md)
|
||||
[`facet_sir()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`scale_y_percent()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`scale_sir_colours()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`theme_sir()`](https://amr-for-r.org/reference/plot.md)
|
||||
[`labels_sir_count()`](https://amr-for-r.org/reference/plot.md) :
|
||||
Plotting Helpers for AMR Data Analysis
|
||||
|
||||
- [`ggplot_sir()`](https://amr-for-r.org/reference/ggplot_sir.md)
|
||||
[`geom_sir()`](https://amr-for-r.org/reference/ggplot_sir.md) :
|
||||
|
||||
AMR Plots with `ggplot2`
|
||||
|
||||
- [`ggplot_pca()`](https://amr-for-r.org/reference/ggplot_pca.md) :
|
||||
|
||||
PCA Biplot with `ggplot2`
|
||||
|
||||
## AMR-specific options
|
||||
|
||||
The AMR package is customisable, by providing settings that can be set
|
||||
per user or per team. For example, the default interpretation guideline
|
||||
can be changed from EUCAST to CLSI, or a supported language can be set
|
||||
for the whole team (system-language independent) for antibiotic names in
|
||||
a foreign language.
|
||||
|
||||
- [`AMR-options`](https://amr-for-r.org/reference/AMR-options.md) :
|
||||
Options for the AMR package
|
||||
|
||||
## Other: antiviral drugs
|
||||
|
||||
This package also provides extensive support for antiviral agents, even
|
||||
though it is not the primary scope of this package. Working with data
|
||||
containing information about antiviral drugs was never easier. Use these
|
||||
functions to get valid properties of antiviral drugs from any input or
|
||||
to clean your input. You can even retrieve drug names and doses from
|
||||
clinical text records, using
|
||||
[`av_from_text()`](https://amr-for-r.org/reference/av_from_text.md).
|
||||
|
||||
- [`as.av()`](https://amr-for-r.org/reference/as.av.md)
|
||||
[`is.av()`](https://amr-for-r.org/reference/as.av.md) : Transform
|
||||
Input to an Antiviral Drug ID
|
||||
- [`av_name()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_cid()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_synonyms()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_tradenames()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_group()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_atc()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_loinc()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_ddd()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_ddd_units()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_info()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_url()`](https://amr-for-r.org/reference/av_property.md)
|
||||
[`av_property()`](https://amr-for-r.org/reference/av_property.md) :
|
||||
Get Properties of an Antiviral Drug
|
||||
- [`av_from_text()`](https://amr-for-r.org/reference/av_from_text.md) :
|
||||
Retrieve Antiviral Drug Names and Doses from Clinical Text
|
||||
|
||||
## Other: background information on included data
|
||||
|
||||
Some pages about our package and its external sources. Be sure to read
|
||||
our [How To’s](https://amr-for-r.org/articles/index.md) for more
|
||||
information about how to work with functions in this package.
|
||||
|
||||
- [`microorganisms`](https://amr-for-r.org/reference/microorganisms.md)
|
||||
: Data Set with 78 679 Taxonomic Records of Microorganisms
|
||||
- [`antimicrobials`](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
[`antibiotics`](https://amr-for-r.org/reference/antimicrobials.md)
|
||||
[`antivirals`](https://amr-for-r.org/reference/antimicrobials.md) :
|
||||
Data Sets with 618 Antimicrobial Drugs
|
||||
- [`clinical_breakpoints`](https://amr-for-r.org/reference/clinical_breakpoints.md)
|
||||
: Data Set with Clinical Breakpoints for SIR Interpretation
|
||||
- [`example_isolates`](https://amr-for-r.org/reference/example_isolates.md)
|
||||
: Data Set with 2 000 Example Isolates
|
||||
- [`microorganisms.codes`](https://amr-for-r.org/reference/microorganisms.codes.md)
|
||||
: Data Set with 6 036 Common Microorganism Codes
|
||||
- [`microorganisms.groups`](https://amr-for-r.org/reference/microorganisms.groups.md)
|
||||
: Data Set with 534 Microorganisms In Species Groups
|
||||
- [`intrinsic_resistant`](https://amr-for-r.org/reference/intrinsic_resistant.md)
|
||||
: Data Set Denoting Bacterial Intrinsic Resistance
|
||||
- [`dosage`](https://amr-for-r.org/reference/dosage.md) : Data Set with
|
||||
Treatment Dosages as Defined by EUCAST
|
||||
- [`WHOCC`](https://amr-for-r.org/reference/WHOCC.md) : WHOCC: WHO
|
||||
Collaborating Centre for Drug Statistics Methodology
|
||||
- [`example_isolates_unclean`](https://amr-for-r.org/reference/example_isolates_unclean.md)
|
||||
: Data Set with Unclean Data
|
||||
- [`WHONET`](https://amr-for-r.org/reference/WHONET.md) : Data Set with
|
||||
500 Isolates - WHONET Example
|
||||
|
||||
## Other: miscellaneous functions
|
||||
|
||||
These functions are mostly for internal use, but some of them may also
|
||||
be suitable for your analysis. Especially the ‘like’ function can be
|
||||
useful: `if (x %like% y) {...}`.
|
||||
|
||||
- [`age_groups()`](https://amr-for-r.org/reference/age_groups.md) :
|
||||
Split Ages into Age Groups
|
||||
- [`age()`](https://amr-for-r.org/reference/age.md) : Age in Years of
|
||||
Individuals
|
||||
- [`export_ncbi_biosample()`](https://amr-for-r.org/reference/export_ncbi_biosample.md)
|
||||
: Export Data Set as NCBI BioSample Antibiogram
|
||||
- [`availability()`](https://amr-for-r.org/reference/availability.md) :
|
||||
Check Availability of Columns
|
||||
- [`get_AMR_locale()`](https://amr-for-r.org/reference/translate.md)
|
||||
[`set_AMR_locale()`](https://amr-for-r.org/reference/translate.md)
|
||||
[`reset_AMR_locale()`](https://amr-for-r.org/reference/translate.md)
|
||||
[`translate_AMR()`](https://amr-for-r.org/reference/translate.md) :
|
||||
Translate Strings from the AMR Package
|
||||
- [`italicise_taxonomy()`](https://amr-for-r.org/reference/italicise_taxonomy.md)
|
||||
[`italicize_taxonomy()`](https://amr-for-r.org/reference/italicise_taxonomy.md)
|
||||
: Italicise Taxonomic Families, Genera, Species, Subspecies
|
||||
- [`inner_join_microorganisms()`](https://amr-for-r.org/reference/join.md)
|
||||
[`left_join_microorganisms()`](https://amr-for-r.org/reference/join.md)
|
||||
[`right_join_microorganisms()`](https://amr-for-r.org/reference/join.md)
|
||||
[`full_join_microorganisms()`](https://amr-for-r.org/reference/join.md)
|
||||
[`semi_join_microorganisms()`](https://amr-for-r.org/reference/join.md)
|
||||
[`anti_join_microorganisms()`](https://amr-for-r.org/reference/join.md)
|
||||
: Join microorganisms to a Data Set
|
||||
- [`like()`](https://amr-for-r.org/reference/like.md)
|
||||
[`` `%like%` ``](https://amr-for-r.org/reference/like.md)
|
||||
[`` `%unlike%` ``](https://amr-for-r.org/reference/like.md)
|
||||
[`` `%like_case%` ``](https://amr-for-r.org/reference/like.md)
|
||||
[`` `%unlike_case%` ``](https://amr-for-r.org/reference/like.md) :
|
||||
Vectorised Pattern Matching with Keyboard Shortcut
|
||||
- [`mo_matching_score()`](https://amr-for-r.org/reference/mo_matching_score.md)
|
||||
: Calculate the Matching Score for Microorganisms
|
||||
- [`pca()`](https://amr-for-r.org/reference/pca.md) : Principal
|
||||
Component Analysis (for AMR)
|
||||
- [`random_mic()`](https://amr-for-r.org/reference/random.md)
|
||||
[`random_disk()`](https://amr-for-r.org/reference/random.md)
|
||||
[`random_sir()`](https://amr-for-r.org/reference/random.md) : Random
|
||||
MIC Values/Disk Zones/SIR Generation
|
||||
|
||||
## Other: statistical tests
|
||||
|
||||
Some statistical tests or methods are not part of base R and were added
|
||||
to this package for convenience.
|
||||
|
||||
- [`g.test()`](https://amr-for-r.org/reference/g.test.md) :
|
||||
|
||||
*G*-test for Count Data
|
||||
|
||||
- [`kurtosis()`](https://amr-for-r.org/reference/kurtosis.md) : Kurtosis
|
||||
of the Sample
|
||||
|
||||
- [`skewness()`](https://amr-for-r.org/reference/skewness.md) : Skewness
|
||||
of the Sample
|
||||
|
||||
## Other: deprecated functions/arguments/datasets
|
||||
|
||||
These objects are deprecated, meaning that they will still work but show
|
||||
a warning that they will be removed in a future version.
|
||||
|
||||
- [`ab_class()`](https://amr-for-r.org/reference/AMR-deprecated.md)
|
||||
[`ab_selector()`](https://amr-for-r.org/reference/AMR-deprecated.md) :
|
||||
Deprecated Functions, Arguments, or Datasets
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
81
reference/intrinsic_resistant.md
Normal file
81
reference/intrinsic_resistant.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Data Set Denoting Bacterial Intrinsic Resistance
|
||||
|
||||
Data set containing 'EUCAST Expected Resistant Phenotypes' of *all*
|
||||
bug-drug combinations between the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md) and
|
||||
[antimicrobials](https://amr-for-r.org/reference/antimicrobials.md) data
|
||||
sets.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
intrinsic_resistant
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
A [tibble](https://tibble.tidyverse.org/reference/tibble.html) with 271
|
||||
905 observations and 2 variables:
|
||||
|
||||
- `mo`
|
||||
Microorganism ID which occurs in
|
||||
[`microorganisms$mo`](https://amr-for-r.org/reference/microorganisms.md).
|
||||
Names can be retrieved using
|
||||
[`mo_name()`](https://amr-for-r.org/reference/mo_property.md).
|
||||
|
||||
- `ab`
|
||||
Antimicrobial ID which occurs in
|
||||
[`antimicrobials$ab`](https://amr-for-r.org/reference/antimicrobials.md).
|
||||
Names can be retrieved using
|
||||
[`ab_name()`](https://amr-for-r.org/reference/ab_property.md).
|
||||
|
||||
## Details
|
||||
|
||||
This data set is currently based on ['EUCAST Expected Resistant
|
||||
Phenotypes'
|
||||
v1.2](https://www.eucast.org/expert_rules_and_expected_phenotypes)
|
||||
(2023).
|
||||
|
||||
This data set is internally used by:
|
||||
|
||||
- [`not_intrinsic_resistant()`](https://amr-for-r.org/reference/antimicrobial_selectors.md)
|
||||
(an [antimicrobial
|
||||
selector](https://amr-for-r.org/reference/antimicrobial_selectors.md))
|
||||
|
||||
- [`mo_is_intrinsic_resistant()`](https://amr-for-r.org/reference/mo_property.md)
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
intrinsic_resistant
|
||||
#> # A tibble: 271,905 × 2
|
||||
#> mo ab
|
||||
#> <mo> <ab>
|
||||
#> 1 B_GRAMP ATM
|
||||
#> 2 B_GRAMP COL
|
||||
#> 3 B_GRAMP NAL
|
||||
#> 4 B_GRAMP PLB
|
||||
#> 5 B_GRAMP TEM
|
||||
#> 6 B_ANAER-POS ATM
|
||||
#> 7 B_ANAER-POS COL
|
||||
#> 8 B_ANAER-POS NAL
|
||||
#> 9 B_ANAER-POS PLB
|
||||
#> 10 B_ANAER-POS TEM
|
||||
#> # ℹ 271,895 more rows
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
51
reference/italicise_taxonomy.md
Normal file
51
reference/italicise_taxonomy.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Italicise Taxonomic Families, Genera, Species, Subspecies
|
||||
|
||||
According to the binomial nomenclature, the lowest four taxonomic levels
|
||||
(family, genus, species, subspecies) should be printed in italics. This
|
||||
function finds taxonomic names within strings and makes them italic.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
italicise_taxonomy(string, type = c("markdown", "ansi", "html"))
|
||||
|
||||
italicize_taxonomy(string, type = c("markdown", "ansi", "html"))
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- string:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) (vector).
|
||||
|
||||
- type:
|
||||
|
||||
Type of conversion of the taxonomic names, either "markdown", "html"
|
||||
or "ansi", see *Details*.
|
||||
|
||||
## Details
|
||||
|
||||
This function finds the taxonomic names and makes them italic based on
|
||||
the [microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set.
|
||||
|
||||
The taxonomic names can be italicised using markdown (the default) by
|
||||
adding `*` before and after the taxonomic names, or `<i>` and `</i>`
|
||||
when using html. When using 'ansi', ANSI colours will be added using
|
||||
`\033[3m` before and `\033[23m` after the taxonomic names. If multiple
|
||||
ANSI colours are not available, no conversion will occur.
|
||||
|
||||
This function also supports abbreviation of the genus if it is followed
|
||||
by a species, such as "E. coli" and "K. pneumoniae ozaenae".
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
italicise_taxonomy("An overview of Staphylococcus aureus isolates")
|
||||
#> [1] "An overview of *Staphylococcus aureus* isolates"
|
||||
italicise_taxonomy("An overview of S. aureus isolates")
|
||||
#> [1] "An overview of *S. aureus* isolates"
|
||||
|
||||
cat(italicise_taxonomy("An overview of S. aureus isolates", type = "ansi"))
|
||||
#> An overview of S. aureus isolates
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
156
reference/join.md
Normal file
156
reference/join.md
Normal file
@@ -0,0 +1,156 @@
|
||||
# Join [microorganisms](https://amr-for-r.org/reference/microorganisms.md) to a Data Set
|
||||
|
||||
Join the data set
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
easily to an existing data set or to a
|
||||
[character](https://rdrr.io/r/base/character.html) vector.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
inner_join_microorganisms(x, by = NULL, suffix = c("2", ""), ...)
|
||||
|
||||
left_join_microorganisms(x, by = NULL, suffix = c("2", ""), ...)
|
||||
|
||||
right_join_microorganisms(x, by = NULL, suffix = c("2", ""), ...)
|
||||
|
||||
full_join_microorganisms(x, by = NULL, suffix = c("2", ""), ...)
|
||||
|
||||
semi_join_microorganisms(x, by = NULL, ...)
|
||||
|
||||
anti_join_microorganisms(x, by = NULL, ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
Existing data set to join, or
|
||||
[character](https://rdrr.io/r/base/character.html) vector. In case of
|
||||
a [character](https://rdrr.io/r/base/character.html) vector, the
|
||||
resulting [data.frame](https://rdrr.io/r/base/data.frame.html) will
|
||||
contain a column 'x' with these values.
|
||||
|
||||
- by:
|
||||
|
||||
A variable to join by - if left empty will search for a column with
|
||||
class [`mo`](https://amr-for-r.org/reference/as.mo.md) (created with
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) 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` (such as
|
||||
`by = "bacteria_id"`), or another column in
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
(but then it should be named, like
|
||||
`by = c("bacteria_id" = "fullname")`).
|
||||
|
||||
- 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](https://rdrr.io/r/base/character.html) vector of length 2.
|
||||
|
||||
- ...:
|
||||
|
||||
Ignored, only in place to allow future extensions.
|
||||
|
||||
## Value
|
||||
|
||||
a [data.frame](https://rdrr.io/r/base/data.frame.html)
|
||||
|
||||
## Details
|
||||
|
||||
**Note:** As opposed to the `join()` functions of `dplyr`,
|
||||
[character](https://rdrr.io/r/base/character.html) vectors are supported
|
||||
and at default existing columns will get a suffix `"2"` and the newly
|
||||
joined columns will not get a suffix.
|
||||
|
||||
If the `dplyr` package is installed, their join functions will be used.
|
||||
Otherwise, the much slower
|
||||
[`merge()`](https://rdatatable.gitlab.io/data.table/reference/merge.html)
|
||||
and [`interaction()`](https://rdrr.io/r/base/interaction.html) functions
|
||||
from base R will be used.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
left_join_microorganisms(as.mo("K. pneumoniae"))
|
||||
#> # A tibble: 1 × 26
|
||||
#> mo fullname status kingdom phylum class order family genus species
|
||||
#> <mo> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 B_KLBSL_PNMN Klebsiell… accep… Bacter… Pseud… Gamm… Ente… Enter… Kleb… pneumo…
|
||||
#> # ℹ 16 more variables: subspecies <chr>, rank <chr>, ref <chr>,
|
||||
#> # oxygen_tolerance <chr>, source <chr>, lpsn <chr>, lpsn_parent <chr>,
|
||||
#> # lpsn_renamed_to <chr>, mycobank <chr>, mycobank_parent <chr>,
|
||||
#> # mycobank_renamed_to <chr>, gbif <chr>, gbif_parent <chr>,
|
||||
#> # gbif_renamed_to <chr>, prevalence <dbl>, snomed <list>
|
||||
left_join_microorganisms("B_KLBSL_PNMN")
|
||||
#> # A tibble: 1 × 26
|
||||
#> mo fullname status kingdom phylum class order family genus species
|
||||
#> <mo> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
|
||||
#> 1 B_KLBSL_PNMN Klebsiell… accep… Bacter… Pseud… Gamm… Ente… Enter… Kleb… pneumo…
|
||||
#> # ℹ 16 more variables: subspecies <chr>, rank <chr>, ref <chr>,
|
||||
#> # oxygen_tolerance <chr>, source <chr>, lpsn <chr>, lpsn_parent <chr>,
|
||||
#> # lpsn_renamed_to <chr>, mycobank <chr>, mycobank_parent <chr>,
|
||||
#> # mycobank_renamed_to <chr>, gbif <chr>, gbif_parent <chr>,
|
||||
#> # gbif_renamed_to <chr>, prevalence <dbl>, snomed <list>
|
||||
|
||||
df <- data.frame(
|
||||
date = seq(
|
||||
from = as.Date("2018-01-01"),
|
||||
to = as.Date("2018-01-07"),
|
||||
by = 1
|
||||
),
|
||||
bacteria = as.mo(c(
|
||||
"S. aureus", "MRSA", "MSSA", "STAAUR",
|
||||
"E. coli", "E. coli", "E. coli"
|
||||
)),
|
||||
stringsAsFactors = FALSE
|
||||
)
|
||||
colnames(df)
|
||||
#> [1] "date" "bacteria"
|
||||
|
||||
df_joined <- left_join_microorganisms(df, "bacteria")
|
||||
colnames(df_joined)
|
||||
#> [1] "date" "bacteria" "fullname"
|
||||
#> [4] "status" "kingdom" "phylum"
|
||||
#> [7] "class" "order" "family"
|
||||
#> [10] "genus" "species" "subspecies"
|
||||
#> [13] "rank" "ref" "oxygen_tolerance"
|
||||
#> [16] "source" "lpsn" "lpsn_parent"
|
||||
#> [19] "lpsn_renamed_to" "mycobank" "mycobank_parent"
|
||||
#> [22] "mycobank_renamed_to" "gbif" "gbif_parent"
|
||||
#> [25] "gbif_renamed_to" "prevalence" "snomed"
|
||||
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
example_isolates %>%
|
||||
left_join_microorganisms() %>%
|
||||
colnames()
|
||||
}
|
||||
#> Joining, by = "mo"
|
||||
#> [1] "date" "patient" "age"
|
||||
#> [4] "gender" "ward" "mo"
|
||||
#> [7] "PEN" "OXA" "FLC"
|
||||
#> [10] "AMX" "AMC" "AMP"
|
||||
#> [13] "TZP" "CZO" "FEP"
|
||||
#> [16] "CXM" "FOX" "CTX"
|
||||
#> [19] "CAZ" "CRO" "GEN"
|
||||
#> [22] "TOB" "AMK" "KAN"
|
||||
#> [25] "TMP" "SXT" "NIT"
|
||||
#> [28] "FOS" "LNZ" "CIP"
|
||||
#> [31] "MFX" "VAN" "TEC"
|
||||
#> [34] "TCY" "TGC" "DOX"
|
||||
#> [37] "ERY" "CLI" "AZM"
|
||||
#> [40] "IPM" "MEM" "MTR"
|
||||
#> [43] "CHL" "COL" "MUP"
|
||||
#> [46] "RIF" "fullname" "status"
|
||||
#> [49] "kingdom" "phylum" "class"
|
||||
#> [52] "order" "family" "genus"
|
||||
#> [55] "species" "subspecies" "rank"
|
||||
#> [58] "ref" "oxygen_tolerance" "source"
|
||||
#> [61] "lpsn" "lpsn_parent" "lpsn_renamed_to"
|
||||
#> [64] "mycobank" "mycobank_parent" "mycobank_renamed_to"
|
||||
#> [67] "gbif" "gbif_parent" "gbif_renamed_to"
|
||||
#> [70] "prevalence" "snomed"
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
223
reference/key_antimicrobials.md
Normal file
223
reference/key_antimicrobials.md
Normal file
@@ -0,0 +1,223 @@
|
||||
# (Key) Antimicrobials for First Weighted Isolates
|
||||
|
||||
These functions can be used to determine first weighted isolates by
|
||||
considering the phenotype for isolate selection (see
|
||||
[`first_isolate()`](https://amr-for-r.org/reference/first_isolate.md)).
|
||||
Using a phenotype-based method to determine first isolates is more
|
||||
reliable than methods that disregard phenotypes.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
key_antimicrobials(x = NULL, col_mo = NULL, universal = c("ampicillin",
|
||||
"amoxicillin/clavulanic acid", "cefuroxime", "piperacillin/tazobactam",
|
||||
"ciprofloxacin", "trimethoprim/sulfamethoxazole"),
|
||||
gram_negative = c("gentamicin", "tobramycin", "colistin", "cefotaxime",
|
||||
"ceftazidime", "meropenem"), gram_positive = c("vancomycin", "teicoplanin",
|
||||
"tetracycline", "erythromycin", "oxacillin", "rifampin"),
|
||||
antifungal = c("anidulafungin", "caspofungin", "fluconazole", "miconazole",
|
||||
"nystatin", "voriconazole"), only_sir_columns = any(is.sir(x)), ...)
|
||||
|
||||
all_antimicrobials(x = NULL, only_sir_columns = any(is.sir(x)), ...)
|
||||
|
||||
antimicrobials_equal(y, z, type = c("points", "keyantimicrobials"),
|
||||
ignore_I = TRUE, points_threshold = 2, ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) with
|
||||
antimicrobials columns, like `AMX` or `amox`. Can be left blank to
|
||||
determine automatically.
|
||||
|
||||
- col_mo:
|
||||
|
||||
Column name of the names or codes of the microorganisms (see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) - the default
|
||||
is the first column of class
|
||||
[`mo`](https://amr-for-r.org/reference/as.mo.md). Values will be
|
||||
coerced using [`as.mo()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- universal:
|
||||
|
||||
Names of **broad-spectrum** antimicrobial drugs, case-insensitive. Set
|
||||
to `NULL` to ignore. See *Details* for the default antimicrobial
|
||||
drugs.
|
||||
|
||||
- gram_negative:
|
||||
|
||||
Names of antibiotic drugs for **Gram-positives**, case-insensitive.
|
||||
Set to `NULL` to ignore. See *Details* for the default antibiotic
|
||||
drugs.
|
||||
|
||||
- gram_positive:
|
||||
|
||||
Names of antibiotic drugs for **Gram-negatives**, case-insensitive.
|
||||
Set to `NULL` to ignore. See *Details* for the default antibiotic
|
||||
drugs.
|
||||
|
||||
- antifungal:
|
||||
|
||||
Names of antifungal drugs for **fungi**, case-insensitive. Set to
|
||||
`NULL` to ignore. See *Details* for the default antifungal drugs.
|
||||
|
||||
- only_sir_columns:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
only antimicrobial columns must be included that were transformed to
|
||||
class [sir](https://amr-for-r.org/reference/as.sir.md) on beforehand.
|
||||
Defaults to `FALSE` if no columns of `x` have a class
|
||||
[sir](https://amr-for-r.org/reference/as.sir.md).
|
||||
|
||||
- ...:
|
||||
|
||||
Ignored, only in place to allow future extensions.
|
||||
|
||||
- y, z:
|
||||
|
||||
[character](https://rdrr.io/r/base/character.html) vectors to compare.
|
||||
|
||||
- type:
|
||||
|
||||
Type to determine weighed isolates; can be `"keyantimicrobials"` or
|
||||
`"points"`, see *Details*.
|
||||
|
||||
- ignore_I:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
antibiotic interpretations with `"I"` will be ignored when
|
||||
`type = "keyantimicrobials"`, see *Details*.
|
||||
|
||||
- points_threshold:
|
||||
|
||||
Minimum number of points to require before differences in the
|
||||
antibiogram will lead to inclusion of an isolate when
|
||||
`type = "points"`, see *Details*.
|
||||
|
||||
## Details
|
||||
|
||||
The `key_antimicrobials()` and `all_antimicrobials()` functions are
|
||||
context-aware. This means that the `x` argument can be left blank if
|
||||
used inside a [data.frame](https://rdrr.io/r/base/data.frame.html) call,
|
||||
see *Examples*.
|
||||
|
||||
The function `key_antimicrobials()` returns a
|
||||
[character](https://rdrr.io/r/base/character.html) vector with 12
|
||||
antimicrobial results for every isolate. The function
|
||||
`all_antimicrobials()` returns a
|
||||
[character](https://rdrr.io/r/base/character.html) vector with all
|
||||
antimicrobial drug results for every isolate. These vectors can then be
|
||||
compared using `antimicrobials_equal()`, to check if two isolates have
|
||||
generally the same antibiogram. Missing and invalid values are replaced
|
||||
with a dot (`"."`) by `key_antimicrobials()` and ignored by
|
||||
`antimicrobials_equal()`.
|
||||
|
||||
Please see the
|
||||
[`first_isolate()`](https://amr-for-r.org/reference/first_isolate.md)
|
||||
function how these important functions enable the 'phenotype-based'
|
||||
method for determination of first isolates.
|
||||
|
||||
The default antimicrobial drugs used for **all rows** (set in
|
||||
`universal`) are:
|
||||
|
||||
- Ampicillin
|
||||
|
||||
- Amoxicillin/clavulanic acid
|
||||
|
||||
- Cefuroxime
|
||||
|
||||
- Ciprofloxacin
|
||||
|
||||
- Piperacillin/tazobactam
|
||||
|
||||
- Trimethoprim/sulfamethoxazole
|
||||
|
||||
The default antimicrobial drugs used for **Gram-negative bacteria** (set
|
||||
in `gram_negative`) are:
|
||||
|
||||
- Cefotaxime
|
||||
|
||||
- Ceftazidime
|
||||
|
||||
- Colistin
|
||||
|
||||
- Gentamicin
|
||||
|
||||
- Meropenem
|
||||
|
||||
- Tobramycin
|
||||
|
||||
The default antimicrobial drugs used for **Gram-positive bacteria** (set
|
||||
in `gram_positive`) are:
|
||||
|
||||
- Erythromycin
|
||||
|
||||
- Oxacillin
|
||||
|
||||
- Rifampin
|
||||
|
||||
- Teicoplanin
|
||||
|
||||
- Tetracycline
|
||||
|
||||
- Vancomycin
|
||||
|
||||
The default antimicrobial drugs used for **fungi** (set in `antifungal`)
|
||||
are:
|
||||
|
||||
- Anidulafungin
|
||||
|
||||
- Caspofungin
|
||||
|
||||
- Fluconazole
|
||||
|
||||
- Miconazole
|
||||
|
||||
- Nystatin
|
||||
|
||||
- Voriconazole
|
||||
|
||||
## See also
|
||||
|
||||
[`first_isolate()`](https://amr-for-r.org/reference/first_isolate.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# `example_isolates` is a data set available in the AMR package.
|
||||
# See ?example_isolates.
|
||||
|
||||
# output of the `key_antimicrobials()` function could be like this:
|
||||
strainA <- "SSSRR.S.R..S"
|
||||
strainB <- "SSSIRSSSRSSS"
|
||||
|
||||
# those strings can be compared with:
|
||||
antimicrobials_equal(strainA, strainB, type = "keyantimicrobials")
|
||||
#> [1] TRUE
|
||||
# TRUE, because I is ignored (as well as missing values)
|
||||
|
||||
antimicrobials_equal(strainA, strainB, type = "keyantimicrobials", ignore_I = FALSE)
|
||||
#> [1] FALSE
|
||||
# FALSE, because I is not ignored and so the 4th [character] differs
|
||||
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
# set key antimicrobials to a new variable
|
||||
my_patients <- example_isolates %>%
|
||||
mutate(keyab = key_antimicrobials(antifungal = NULL)) %>% # no need to define `x`
|
||||
mutate(
|
||||
# now calculate first isolates
|
||||
first_regular = first_isolate(col_keyantimicrobials = FALSE),
|
||||
# and first WEIGHTED isolates
|
||||
first_weighted = first_isolate(col_keyantimicrobials = "keyab")
|
||||
)
|
||||
|
||||
# Check the difference in this data set, 'weighted' results in more isolates:
|
||||
sum(my_patients$first_regular, na.rm = TRUE)
|
||||
sum(my_patients$first_weighted, na.rm = TRUE)
|
||||
}
|
||||
#> [1] 1383
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
51
reference/kurtosis.md
Normal file
51
reference/kurtosis.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Kurtosis of the Sample
|
||||
|
||||
Kurtosis is a measure of the "tailedness" of the probability
|
||||
distribution of a real-valued random variable. A normal distribution has
|
||||
a kurtosis of 3 and a excess kurtosis of 0.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
kurtosis(x, na.rm = FALSE, excess = FALSE)
|
||||
|
||||
# Default S3 method
|
||||
kurtosis(x, na.rm = FALSE, excess = FALSE)
|
||||
|
||||
# S3 method for class 'matrix'
|
||||
kurtosis(x, na.rm = FALSE, excess = FALSE)
|
||||
|
||||
# S3 method for class 'data.frame'
|
||||
kurtosis(x, na.rm = FALSE, excess = FALSE)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A vector of values, a [matrix](https://rdrr.io/r/base/matrix.html) or
|
||||
a [data.frame](https://rdrr.io/r/base/data.frame.html).
|
||||
|
||||
- na.rm:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
`NA` values should be stripped before the computation proceeds.
|
||||
|
||||
- excess:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
the *excess kurtosis* should be returned, defined as the kurtosis
|
||||
minus 3.
|
||||
|
||||
## See also
|
||||
|
||||
[`skewness()`](https://amr-for-r.org/reference/skewness.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
kurtosis(rnorm(10000))
|
||||
#> [1] 3.071712
|
||||
kurtosis(rnorm(10000), excess = TRUE)
|
||||
#> [1] -0.02774835
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
163
reference/like.md
Normal file
163
reference/like.md
Normal file
@@ -0,0 +1,163 @@
|
||||
# Vectorised Pattern Matching with Keyboard Shortcut
|
||||
|
||||
Convenient wrapper around [`grepl()`](https://rdrr.io/r/base/grep.html)
|
||||
to match a pattern: `x %like% pattern`. It always returns a
|
||||
[`logical`](https://rdrr.io/r/base/logical.html) vector and is always
|
||||
case-insensitive (use `x %like_case% pattern` for case-sensitive
|
||||
matching). Also, `pattern` can be as long as `x` to compare items of
|
||||
each index in both vectors, or they both can have the same length to
|
||||
iterate over all cases.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
like(x, pattern, ignore.case = TRUE)
|
||||
|
||||
x %like% pattern
|
||||
|
||||
x %unlike% pattern
|
||||
|
||||
x %like_case% pattern
|
||||
|
||||
x %unlike_case% pattern
|
||||
```
|
||||
|
||||
## Source
|
||||
|
||||
Idea from the [`like` function from the `data.table`
|
||||
package](https://github.com/Rdatatable/data.table/blob/ec1259af1bf13fc0c96a1d3f9e84d55d8106a9a4/R/like.R),
|
||||
although altered as explained in *Details*.
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) vector where
|
||||
matches are sought, or an object which can be coerced by
|
||||
[`as.character()`](https://rdrr.io/r/base/character.html) to a
|
||||
[character](https://rdrr.io/r/base/character.html) vector.
|
||||
|
||||
- pattern:
|
||||
|
||||
A [character](https://rdrr.io/r/base/character.html) vector containing
|
||||
regular expressions (or a
|
||||
[character](https://rdrr.io/r/base/character.html) string for
|
||||
`fixed = TRUE`) to be matched in the given
|
||||
[character](https://rdrr.io/r/base/character.html) vector. Coerced by
|
||||
[`as.character()`](https://rdrr.io/r/base/character.html) to a
|
||||
[character](https://rdrr.io/r/base/character.html) string if possible.
|
||||
|
||||
- ignore.case:
|
||||
|
||||
If `FALSE`, the pattern matching is *case sensitive* and if `TRUE`,
|
||||
case is ignored during matching.
|
||||
|
||||
## Value
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) vector
|
||||
|
||||
## Details
|
||||
|
||||
These `like()` and `%like%`/`%unlike%` functions:
|
||||
|
||||
- Are case-insensitive (use `%like_case%`/`%unlike_case%` for
|
||||
case-sensitive matching)
|
||||
|
||||
- Support multiple patterns
|
||||
|
||||
- Check if `pattern` is a valid regular expression and sets
|
||||
`fixed = TRUE` if not, to greatly improve speed (vectorised over
|
||||
`pattern`)
|
||||
|
||||
- Always use compatibility with Perl unless `fixed = TRUE`, to greatly
|
||||
improve speed
|
||||
|
||||
Using RStudio? The `%like%`/`%unlike%` functions can also be directly
|
||||
inserted in your code from the Addins menu and can have its own keyboard
|
||||
shortcut like `Shift+Ctrl+L` or `Shift+Cmd+L` (see menu `Tools` \>
|
||||
`Modify Keyboard Shortcuts...`). If you keep pressing your shortcut, the
|
||||
inserted text will be iterated over `%like%` -\> `%unlike%` -\>
|
||||
`%like_case%` -\> `%unlike_case%`.
|
||||
|
||||
## See also
|
||||
|
||||
[`grepl()`](https://rdrr.io/r/base/grep.html)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
# data.table has a more limited version of %like%, so unload it:
|
||||
try(detach("package:data.table", unload = TRUE), silent = TRUE)
|
||||
|
||||
a <- "This is a test"
|
||||
b <- "TEST"
|
||||
a %like% b
|
||||
#> [1] TRUE
|
||||
b %like% a
|
||||
#> [1] FALSE
|
||||
|
||||
# also supports multiple patterns
|
||||
a <- c("Test case", "Something different", "Yet another thing")
|
||||
b <- c("case", "diff", "yet")
|
||||
a %like% b
|
||||
#> [1] TRUE TRUE TRUE
|
||||
a %unlike% b
|
||||
#> [1] FALSE FALSE FALSE
|
||||
|
||||
a[1] %like% b
|
||||
#> [1] TRUE FALSE FALSE
|
||||
a %like% b[1]
|
||||
#> [1] TRUE FALSE FALSE
|
||||
|
||||
# \donttest{
|
||||
# get isolates whose name start with 'Entero' (case-insensitive)
|
||||
example_isolates[which(mo_name() %like% "^entero"), ]
|
||||
#> ℹ Using column 'mo' as input for `mo_name()`
|
||||
#> # A tibble: 106 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-02-21 4FC193 69 M Clinic… B_ENTRC_FACM NA NA NA NA
|
||||
#> 2 2002-04-08 130252 78 M ICU B_ENTRC_FCLS NA NA NA NA
|
||||
#> 3 2002-06-23 798871 82 M Clinic… B_ENTRC_FCLS NA NA NA NA
|
||||
#> 4 2002-06-23 798871 82 M Clinic… B_ENTRC_FCLS NA NA NA NA
|
||||
#> 5 2003-04-20 6BC362 62 M ICU B_ENTRC NA NA NA NA
|
||||
#> 6 2003-04-21 6BC362 62 M ICU B_ENTRC NA NA NA NA
|
||||
#> 7 2003-08-13 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R
|
||||
#> 8 2003-08-13 F35553 52 M ICU B_ENTRC_FCLS NA NA NA NA
|
||||
#> 9 2003-09-05 F35553 52 M ICU B_ENTRC NA NA NA NA
|
||||
#> 10 2003-09-05 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R
|
||||
#> # ℹ 96 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
|
||||
if (require("dplyr")) {
|
||||
example_isolates %>%
|
||||
filter(mo_name() %like% "^ent")
|
||||
}
|
||||
#> ℹ Using column 'mo' as input for `mo_name()`
|
||||
#> # A tibble: 106 × 46
|
||||
#> date patient age gender ward mo PEN OXA FLC AMX
|
||||
#> <date> <chr> <dbl> <chr> <chr> <mo> <sir> <sir> <sir> <sir>
|
||||
#> 1 2002-02-21 4FC193 69 M Clinic… B_ENTRC_FACM NA NA NA NA
|
||||
#> 2 2002-04-08 130252 78 M ICU B_ENTRC_FCLS NA NA NA NA
|
||||
#> 3 2002-06-23 798871 82 M Clinic… B_ENTRC_FCLS NA NA NA NA
|
||||
#> 4 2002-06-23 798871 82 M Clinic… B_ENTRC_FCLS NA NA NA NA
|
||||
#> 5 2003-04-20 6BC362 62 M ICU B_ENTRC NA NA NA NA
|
||||
#> 6 2003-04-21 6BC362 62 M ICU B_ENTRC NA NA NA NA
|
||||
#> 7 2003-08-13 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R
|
||||
#> 8 2003-08-13 F35553 52 M ICU B_ENTRC_FCLS NA NA NA NA
|
||||
#> 9 2003-09-05 F35553 52 M ICU B_ENTRC NA NA NA NA
|
||||
#> 10 2003-09-05 F35553 52 M ICU B_ENTRBC_CLOC R NA NA R
|
||||
#> # ℹ 96 more rows
|
||||
#> # ℹ 36 more variables: AMC <sir>, AMP <sir>, TZP <sir>, CZO <sir>, FEP <sir>,
|
||||
#> # CXM <sir>, FOX <sir>, CTX <sir>, CAZ <sir>, CRO <sir>, GEN <sir>,
|
||||
#> # TOB <sir>, AMK <sir>, KAN <sir>, TMP <sir>, SXT <sir>, NIT <sir>,
|
||||
#> # FOS <sir>, LNZ <sir>, CIP <sir>, MFX <sir>, VAN <sir>, TEC <sir>,
|
||||
#> # TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,
|
||||
#> # IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
322
reference/mdro.md
Normal file
322
reference/mdro.md
Normal file
@@ -0,0 +1,322 @@
|
||||
# Determine Multidrug-Resistant Organisms (MDRO)
|
||||
|
||||
Determine which isolates are multidrug-resistant organisms (MDRO)
|
||||
according to international, national, or custom guidelines.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
mdro(x = NULL, guideline = "CMI 2012", col_mo = NULL, esbl = NA,
|
||||
carbapenemase = NA, mecA = NA, mecC = NA, vanA = NA, vanB = NA,
|
||||
info = interactive(), pct_required_classes = 0.5, combine_SI = TRUE,
|
||||
verbose = FALSE, only_sir_columns = any(is.sir(x)), ...)
|
||||
|
||||
brmo(x = NULL, only_sir_columns = any(is.sir(x)), ...)
|
||||
|
||||
mrgn(x = NULL, only_sir_columns = any(is.sir(x)), verbose = FALSE, ...)
|
||||
|
||||
mdr_tb(x = NULL, only_sir_columns = any(is.sir(x)), verbose = FALSE, ...)
|
||||
|
||||
mdr_cmi2012(x = NULL, only_sir_columns = any(is.sir(x)), verbose = FALSE,
|
||||
...)
|
||||
|
||||
eucast_exceptional_phenotypes(x = NULL, only_sir_columns = any(is.sir(x)),
|
||||
verbose = FALSE, ...)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) with
|
||||
antimicrobials columns, like `AMX` or `amox`. Can be left blank for
|
||||
automatic determination.
|
||||
|
||||
- guideline:
|
||||
|
||||
A specific guideline to follow, see sections *Supported international
|
||||
/ national guidelines* and *Using Custom Guidelines* below. When left
|
||||
empty, the publication by Magiorakos *et al.* (see below) will be
|
||||
followed.
|
||||
|
||||
- col_mo:
|
||||
|
||||
Column name of the names or codes of the microorganisms (see
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)) - the default
|
||||
is the first column of class
|
||||
[`mo`](https://amr-for-r.org/reference/as.mo.md). Values will be
|
||||
coerced using [`as.mo()`](https://amr-for-r.org/reference/as.mo.md).
|
||||
|
||||
- esbl:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) values, or a column
|
||||
name containing logical values, indicating the presence of an ESBL
|
||||
gene (or production of its proteins).
|
||||
|
||||
- carbapenemase:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) values, or a column
|
||||
name containing logical values, indicating the presence of a
|
||||
carbapenemase gene (or production of its proteins).
|
||||
|
||||
- mecA:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) values, or a column
|
||||
name containing logical values, indicating the presence of a *mecA*
|
||||
gene (or production of its proteins).
|
||||
|
||||
- mecC:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) values, or a column
|
||||
name containing logical values, indicating the presence of a *mecC*
|
||||
gene (or production of its proteins).
|
||||
|
||||
- vanA:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) values, or a column
|
||||
name containing logical values, indicating the presence of a *vanA*
|
||||
gene (or production of its proteins).
|
||||
|
||||
- vanB:
|
||||
|
||||
[logical](https://rdrr.io/r/base/logical.html) values, or a column
|
||||
name containing logical values, indicating the presence of a *vanB*
|
||||
gene (or production of its proteins).
|
||||
|
||||
- info:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
progress should be printed to the console - the default is only print
|
||||
while in interactive sessions.
|
||||
|
||||
- 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.
|
||||
|
||||
- combine_SI:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) 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 interpretation 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.
|
||||
|
||||
- verbose:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to turn Verbose mode
|
||||
on and off (default is off). In Verbose mode, the function returns a
|
||||
data set with the MDRO results in logbook form with extensive info
|
||||
about which isolates would be MDRO-positive, or why they are not.
|
||||
|
||||
- only_sir_columns:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
only antimicrobial columns must be included that were transformed to
|
||||
class [sir](https://amr-for-r.org/reference/as.sir.md) on beforehand.
|
||||
Defaults to `FALSE` if no columns of `x` have a class
|
||||
[sir](https://amr-for-r.org/reference/as.sir.md).
|
||||
|
||||
- ...:
|
||||
|
||||
Column names of antimicrobials. To automatically detect antimicrobial
|
||||
column names, do not provide any named arguments;
|
||||
[`guess_ab_col()`](https://amr-for-r.org/reference/guess_ab_col.md)
|
||||
will then be used for detection. To manually specify a column, provide
|
||||
its name (case-insensitive) as an argument, e.g.
|
||||
`AMX = "amoxicillin"`. To skip a specific antimicrobial, set it to
|
||||
`NULL`, e.g. `TIC = NULL` to exclude ticarcillin. If a manually
|
||||
defined column does not exist in the data, it will be skipped with a
|
||||
warning.
|
||||
|
||||
## Value
|
||||
|
||||
- If `verbose` is set to `TRUE`:
|
||||
A [data.frame](https://rdrr.io/r/base/data.frame.html) containing
|
||||
columns `row_number`, `microorganism`, `MDRO`, `reason`,
|
||||
`all_nonsusceptible_columns`, `guideline`
|
||||
|
||||
- CMI 2012 paper - function `mdr_cmi2012()` or `mdro()`:
|
||||
Ordered [factor](https://rdrr.io/r/base/factor.html) 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](https://rdrr.io/r/base/factor.html) with levels
|
||||
`Negative` \< `Mono-resistant` \< `Poly-resistant` \<
|
||||
`Multi-drug-resistant` \< `Extensively drug-resistant`
|
||||
|
||||
- German guideline - function `mrgn()` or
|
||||
`mdro(..., guideline = "MRGN")`:
|
||||
Ordered [factor](https://rdrr.io/r/base/factor.html) with levels
|
||||
`Negative` \< `3MRGN` \< `4MRGN`
|
||||
|
||||
- Everything else, except for custom guidelines:
|
||||
Ordered [factor](https://rdrr.io/r/base/factor.html) 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. genotypic) tests
|
||||
|
||||
## Details
|
||||
|
||||
These functions are context-aware. This means that the `x` argument can
|
||||
be left blank if used inside a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) call, see
|
||||
*Examples*.
|
||||
|
||||
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`).
|
||||
|
||||
**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.
|
||||
|
||||
### Supported International / National Guidelines
|
||||
|
||||
Please suggest to implement guidelines by [letting us
|
||||
know](https://github.com/msberends/AMR/issues/new?template=2-feature-request.yml&title=Add%20new%20MDRO%20guideline).
|
||||
|
||||
Currently supported guidelines are (case-insensitive):
|
||||
|
||||
- `guideline = "CMI 2012"` (default)
|
||||
|
||||
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)
|
||||
([doi:10.1111/j.1469-0691.2011.03570.x](https://doi.org/10.1111/j.1469-0691.2011.03570.x)
|
||||
)
|
||||
|
||||
- `guideline = "EUCAST 3.3"` (or simply `guideline = "EUCAST"`)
|
||||
|
||||
The European international guideline - EUCAST Expert Rules Version 3.3
|
||||
"Intrinsic Resistance and Unusual Phenotypes"
|
||||
([link](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/2021/Intrinsic_Resistance_and_Unusual_Phenotypes_Tables_v3.3_20211018.pdf))
|
||||
|
||||
Also:
|
||||
|
||||
- `guideline = "EUCAST 3.2"`
|
||||
|
||||
The former European international guideline - EUCAST Expert Rules
|
||||
Version 3.2 "Intrinsic Resistance and Unusual Phenotypes"
|
||||
([link](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/2020/Intrinsic_Resistance_and_Unusual_Phenotypes_Tables_v3.2_20200225.pdf))
|
||||
|
||||
- `guideline = "EUCAST 3.1"`
|
||||
|
||||
The former European international guideline - EUCAST Expert Rules
|
||||
Version 3.1 "Intrinsic Resistance and Exceptional Phenotypes Tables"
|
||||
([link](https://www.eucast.org/fileadmin/src/media/PDFs/EUCAST_files/Expert_Rules/Expert_rules_intrinsic_exceptional_V3.1.pdf))
|
||||
|
||||
- `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](https://www.who.int/publications/i/item/9789241548809))
|
||||
|
||||
- `guideline = "MRGN"`
|
||||
|
||||
The German national guideline - Mueller et al. (2015) Antimicrobial
|
||||
Resistance and Infection Control 4:7;
|
||||
[doi:10.1186/s13756-015-0047-6](https://doi.org/10.1186/s13756-015-0047-6)
|
||||
|
||||
- `guideline = "BRMO 2024"` (or simply `guideline = "BRMO"`)
|
||||
|
||||
The Dutch national guideline - Samenwerkingverband Richtlijnen
|
||||
Infectiepreventie (SRI) (2024) "Bijzonder Resistente Micro-Organismen
|
||||
(BRMO)" ([link](https://www.sri-richtlijnen.nl/brmo))
|
||||
|
||||
Also:
|
||||
|
||||
- `guideline = "BRMO 2017"`
|
||||
|
||||
The former Dutch national guideline - Werkgroep Infectiepreventie
|
||||
(WIP), RIVM, last revision as of 2017: "Bijzonder Resistente
|
||||
Micro-Organismen (BRMO)"
|
||||
|
||||
### Using Custom Guidelines
|
||||
|
||||
Using a custom MDRO guideline is of importance if you have custom rules
|
||||
to determine MDROs in your hospital, e.g., rules that are dependent on
|
||||
ward, state of contact isolation or other variables in your data.
|
||||
|
||||
Custom guidelines can be set with the
|
||||
[`custom_mdro_guideline()`](https://amr-for-r.org/reference/custom_mdro_guideline.md)
|
||||
function.
|
||||
|
||||
## Interpretation of SIR
|
||||
|
||||
In 2019, the European Committee on Antimicrobial Susceptibility Testing
|
||||
(EUCAST) has decided to change the definitions of susceptibility testing
|
||||
categories S, I, and R (<https://www.eucast.org/newsiandr>).
|
||||
|
||||
This AMR package follows insight; use
|
||||
[`susceptibility()`](https://amr-for-r.org/reference/proportion.md)
|
||||
(equal to
|
||||
[`proportion_SI()`](https://amr-for-r.org/reference/proportion.md)) to
|
||||
determine antimicrobial susceptibility and
|
||||
[`count_susceptible()`](https://amr-for-r.org/reference/count.md) (equal
|
||||
to [`count_SI()`](https://amr-for-r.org/reference/count.md)) to count
|
||||
susceptible isolates.
|
||||
|
||||
## See also
|
||||
|
||||
[`custom_mdro_guideline()`](https://amr-for-r.org/reference/custom_mdro_guideline.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
out <- mdro(example_isolates)
|
||||
#> Warning: in `mdro()`: NA introduced for isolates where the available percentage of
|
||||
#> antimicrobial classes was below 50% (set with `pct_required_classes`)
|
||||
str(out)
|
||||
#> Ord.factor w/ 4 levels "Negative"<"Multi-drug-resistant (MDR)"<..: NA NA 1 1 1 1 NA NA 1 1 ...
|
||||
table(out)
|
||||
#> out
|
||||
#> Negative Multi-drug-resistant (MDR)
|
||||
#> 1617 128
|
||||
#> Extensively drug-resistant (XDR) Pandrug-resistant (PDR)
|
||||
#> 0 0
|
||||
|
||||
out <- mdro(example_isolates, guideline = "EUCAST 3.3")
|
||||
table(out)
|
||||
#> out
|
||||
#> Negative Positive, unconfirmed Positive
|
||||
#> 1994 0 6
|
||||
|
||||
# \donttest{
|
||||
if (require("dplyr")) {
|
||||
# no need to define `x` when used inside dplyr verbs:
|
||||
example_isolates %>%
|
||||
mutate(MDRO = mdro()) %>%
|
||||
count(MDRO)
|
||||
}
|
||||
#> Warning: There was 1 warning in `mutate()`.
|
||||
#> ℹ In argument: `MDRO = mdro()`.
|
||||
#> Caused by warning:
|
||||
#> ! in `mdro()`: NA introduced for isolates where the available percentage of
|
||||
#> antimicrobial classes was below 50% (set with `pct_required_classes`)
|
||||
#> # A tibble: 3 × 2
|
||||
#> MDRO n
|
||||
#> <ord> <int>
|
||||
#> 1 Negative 1617
|
||||
#> 2 Multi-drug-resistant (MDR) 128
|
||||
#> 3 NA 255
|
||||
# }
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
201
reference/mean_amr_distance.md
Normal file
201
reference/mean_amr_distance.md
Normal file
@@ -0,0 +1,201 @@
|
||||
# Calculate the Mean AMR Distance
|
||||
|
||||
Calculates a normalised mean for antimicrobial resistance between
|
||||
multiple observations, to help to identify similar isolates without
|
||||
comparing antibiograms by hand.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
mean_amr_distance(x, ...)
|
||||
|
||||
# S3 method for class 'sir'
|
||||
mean_amr_distance(x, ..., combine_SI = TRUE)
|
||||
|
||||
# S3 method for class 'data.frame'
|
||||
mean_amr_distance(x, ..., combine_SI = TRUE)
|
||||
|
||||
amr_distance_from_row(amr_distance, row)
|
||||
```
|
||||
|
||||
## Arguments
|
||||
|
||||
- x:
|
||||
|
||||
A vector of class [sir](https://amr-for-r.org/reference/as.sir.md),
|
||||
[mic](https://amr-for-r.org/reference/as.mic.md) or
|
||||
[disk](https://amr-for-r.org/reference/as.disk.md), or a
|
||||
[data.frame](https://rdrr.io/r/base/data.frame.html) containing
|
||||
columns of any of these classes.
|
||||
|
||||
- ...:
|
||||
|
||||
Variables to select. Supports [tidyselect
|
||||
language](https://tidyselect.r-lib.org/reference/starts_with.html)
|
||||
such as `where(is.mic)`, `starts_with(...)`, or `column1:column4`, and
|
||||
can thus also be [antimicrobial
|
||||
selectors](https://amr-for-r.org/reference/antimicrobial_selectors.md).
|
||||
|
||||
- combine_SI:
|
||||
|
||||
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
|
||||
all values of S, SDD, and I must be merged into one, so the input only
|
||||
consists of S+I vs. R (susceptible vs. resistant) - the default is
|
||||
`TRUE`.
|
||||
|
||||
- amr_distance:
|
||||
|
||||
The outcome of `mean_amr_distance()`.
|
||||
|
||||
- row:
|
||||
|
||||
An index, such as a row number.
|
||||
|
||||
## Details
|
||||
|
||||
The mean AMR distance is effectively [the
|
||||
Z-score](https://en.wikipedia.org/wiki/Standard_score); a normalised
|
||||
numeric value to compare AMR test results which can help to identify
|
||||
similar isolates, without comparing antibiograms by hand.
|
||||
|
||||
MIC values (see [`as.mic()`](https://amr-for-r.org/reference/as.mic.md))
|
||||
are transformed with [`log2()`](https://rdrr.io/r/base/Log.html) first;
|
||||
their distance is thus calculated as
|
||||
`(log2(x) - mean(log2(x))) / sd(log2(x))`.
|
||||
|
||||
SIR values (see [`as.sir()`](https://amr-for-r.org/reference/as.sir.md))
|
||||
are transformed using `"S"` = 1, `"I"` = 2, and `"R"` = 3. If
|
||||
`combine_SI` is `TRUE` (default), the `"I"` will be considered to be 1.
|
||||
|
||||
For data sets, the mean AMR distance will be calculated per column,
|
||||
after which the mean per row will be returned, see *Examples*.
|
||||
|
||||
Use `amr_distance_from_row()` to subtract distances from the distance of
|
||||
one row, see *Examples*.
|
||||
|
||||
## Interpretation
|
||||
|
||||
Isolates with distances less than 0.01 difference from each other should
|
||||
be considered similar. Differences lower than 0.025 should be considered
|
||||
suspicious.
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
sir <- random_sir(10)
|
||||
sir
|
||||
#> Class 'sir'
|
||||
#> [1] I I R I R S S S I S
|
||||
mean_amr_distance(sir)
|
||||
#> [1] -0.4743416 -0.4743416 1.8973666 -0.4743416 1.8973666 -0.4743416
|
||||
#> [7] -0.4743416 -0.4743416 -0.4743416 -0.4743416
|
||||
|
||||
mic <- random_mic(10)
|
||||
mic
|
||||
#> Class 'mic'
|
||||
#> [1] 0.004 2 0.002 0.0001 0.004 0.002 >=4 0.0002 0.032 0.004
|
||||
mean_amr_distance(mic)
|
||||
#> [1] -0.2047915 1.5799751 -0.4038557 -1.2641969 -0.2047915 -0.4038557
|
||||
#> [7] 1.7790393 -1.0651327 0.3924011 -0.2047915
|
||||
# equal to the Z-score of their log2:
|
||||
(log2(mic) - mean(log2(mic))) / sd(log2(mic))
|
||||
#> [1] -0.2047915 1.5799751 -0.4038557 -1.2641969 -0.2047915 -0.4038557
|
||||
#> [7] 1.7790393 -1.0651327 0.3924011 -0.2047915
|
||||
|
||||
disk <- random_disk(10)
|
||||
disk
|
||||
#> Class 'disk'
|
||||
#> [1] 43 12 28 32 22 31 35 25 43 35
|
||||
mean_amr_distance(disk)
|
||||
#> [1] 1.30998909 -1.96498364 -0.27467513 0.14790199 -0.90854082 0.04225771
|
||||
#> [7] 0.46483484 -0.59160798 1.30998909 0.46483484
|
||||
|
||||
y <- data.frame(
|
||||
id = LETTERS[1:10],
|
||||
amox = random_sir(10, ab = "amox", mo = "Escherichia coli"),
|
||||
cipr = random_disk(10, ab = "cipr", mo = "Escherichia coli"),
|
||||
gent = random_mic(10, ab = "gent", mo = "Escherichia coli"),
|
||||
tobr = random_mic(10, ab = "tobr", mo = "Escherichia coli")
|
||||
)
|
||||
y
|
||||
#> id amox cipr gent tobr
|
||||
#> 1 A S 31 2 >=16
|
||||
#> 2 B S 27 <=1 8
|
||||
#> 3 C R 25 2 4
|
||||
#> 4 D R 25 <=1 2
|
||||
#> 5 E I 31 <=1 2
|
||||
#> 6 F S 32 <=1 8
|
||||
#> 7 G I 29 2 2
|
||||
#> 8 H S 18 <=1 4
|
||||
#> 9 I S 28 <=1 4
|
||||
#> 10 J R 17 <=1 2
|
||||
mean_amr_distance(y)
|
||||
#> ℹ Calculating mean AMR distance based on columns "amox", "cipr", "gent",
|
||||
#> and "tobr"
|
||||
#> [1] 0.90606144 -0.03989270 0.66241774 -0.09230226 -0.32300020 0.19914999
|
||||
#> [7] 0.09893189 -0.70734036 -0.22925499 -0.47477055
|
||||
y$amr_distance <- mean_amr_distance(y, is.mic(y))
|
||||
#> ℹ Calculating mean AMR distance based on columns "gent" and "tobr"
|
||||
y[order(y$amr_distance), ]
|
||||
#> id amox cipr gent tobr amr_distance
|
||||
#> 4 D R 25 <=1 2 -0.7848712
|
||||
#> 5 E I 31 <=1 2 -0.7848712
|
||||
#> 10 J R 17 <=1 2 -0.7848712
|
||||
#> 8 H S 18 <=1 4 -0.3105295
|
||||
#> 9 I S 28 <=1 4 -0.3105295
|
||||
#> 2 B S 27 <=1 8 0.1638121
|
||||
#> 6 F S 32 <=1 8 0.1638121
|
||||
#> 7 G I 29 2 2 0.2502272
|
||||
#> 3 C R 25 2 4 0.7245688
|
||||
#> 1 A S 31 2 >=16 1.6732521
|
||||
|
||||
if (require("dplyr")) {
|
||||
y %>%
|
||||
mutate(
|
||||
amr_distance = mean_amr_distance(y),
|
||||
check_id_C = amr_distance_from_row(amr_distance, id == "C")
|
||||
) %>%
|
||||
arrange(check_id_C)
|
||||
}
|
||||
#> ℹ Calculating mean AMR distance based on columns "amox", "cipr", "gent",
|
||||
#> and "tobr"
|
||||
#> id amox cipr gent tobr amr_distance check_id_C
|
||||
#> 1 C R 25 2 4 0.66241774 0.0000000
|
||||
#> 2 A S 31 2 >=16 0.90606144 0.2436437
|
||||
#> 3 F S 32 <=1 8 0.19914999 0.4632678
|
||||
#> 4 G I 29 2 2 0.09893189 0.5634858
|
||||
#> 5 B S 27 <=1 8 -0.03989270 0.7023104
|
||||
#> 6 D R 25 <=1 2 -0.09230226 0.7547200
|
||||
#> 7 I S 28 <=1 4 -0.22925499 0.8916727
|
||||
#> 8 E I 31 <=1 2 -0.32300020 0.9854179
|
||||
#> 9 J R 17 <=1 2 -0.47477055 1.1371883
|
||||
#> 10 H S 18 <=1 4 -0.70734036 1.3697581
|
||||
if (require("dplyr")) {
|
||||
# support for groups
|
||||
example_isolates %>%
|
||||
filter(mo_genus() == "Enterococcus" & mo_species() != "") %>%
|
||||
select(mo, TCY, carbapenems()) %>%
|
||||
group_by(mo) %>%
|
||||
mutate(dist = mean_amr_distance(.)) %>%
|
||||
arrange(mo, dist)
|
||||
}
|
||||
#> ℹ Using column 'mo' as input for `mo_genus()`
|
||||
#> ℹ Using column 'mo' as input for `mo_species()`
|
||||
#> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
|
||||
#> ℹ Calculating mean AMR distance based on columns "TCY", "IPM", and "MEM"
|
||||
#> # A tibble: 63 × 5
|
||||
#> # Groups: mo [4]
|
||||
#> mo TCY IPM MEM dist
|
||||
#> <mo> <sir> <sir> <sir> <dbl>
|
||||
#> 1 B_ENTRC_AVIM S S NA 0
|
||||
#> 2 B_ENTRC_AVIM S S NA 0
|
||||
#> 3 B_ENTRC_CSSL NA S NA NA
|
||||
#> 4 B_ENTRC_FACM S S NA -2.66
|
||||
#> 5 B_ENTRC_FACM S R R -0.423
|
||||
#> 6 B_ENTRC_FACM S R R -0.423
|
||||
#> 7 B_ENTRC_FACM NA R R 0.224
|
||||
#> 8 B_ENTRC_FACM NA R R 0.224
|
||||
#> 9 B_ENTRC_FACM NA R R 0.224
|
||||
#> 10 B_ENTRC_FACM NA R R 0.224
|
||||
#> # ℹ 53 more rows
|
||||
```
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<a class="navbar-brand me-2" href="../index.html">AMR (for R)</a>
|
||||
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9002</small>
|
||||
<small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">3.0.1.9003</small>
|
||||
|
||||
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
||||
154
reference/microorganisms.codes.md
Normal file
154
reference/microorganisms.codes.md
Normal file
@@ -0,0 +1,154 @@
|
||||
# Data Set with 6 036 Common Microorganism Codes
|
||||
|
||||
A data set containing commonly used codes for microorganisms, from
|
||||
laboratory systems and [WHONET](https://whonet.org). Define your own
|
||||
with [`set_mo_source()`](https://amr-for-r.org/reference/mo_source.md).
|
||||
They will all be searched when using
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md) and consequently
|
||||
all the [`mo_*`](https://amr-for-r.org/reference/mo_property.md)
|
||||
functions.
|
||||
|
||||
## Usage
|
||||
|
||||
``` r
|
||||
microorganisms.codes
|
||||
```
|
||||
|
||||
## Format
|
||||
|
||||
A [tibble](https://tibble.tidyverse.org/reference/tibble.html) with 6
|
||||
036 observations and 2 variables:
|
||||
|
||||
- `code`
|
||||
Commonly used code of a microorganism. ***This is a unique
|
||||
identifier.***
|
||||
|
||||
- `mo`
|
||||
ID of the microorganism in the
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
data set
|
||||
|
||||
## Download Our Reference Data
|
||||
|
||||
All reference data sets in the AMR package - including information on
|
||||
microorganisms, antimicrobials, and clinical breakpoints - are freely
|
||||
available for download in multiple formats: R, MS Excel, Apache Feather,
|
||||
Apache Parquet, SPSS, and Stata.
|
||||
|
||||
For maximum compatibility, we also provide machine-readable,
|
||||
tab-separated plain text files suitable for use in any software,
|
||||
including laboratory information systems.
|
||||
|
||||
Visit [our website for direct download
|
||||
links](https://amr-for-r.org/articles/datasets.html), or explore the
|
||||
actual files in [our GitHub
|
||||
repository](https://github.com/msberends/AMR/tree/main/data-raw/datasets).
|
||||
|
||||
## See also
|
||||
|
||||
[`as.mo()`](https://amr-for-r.org/reference/as.mo.md)
|
||||
[microorganisms](https://amr-for-r.org/reference/microorganisms.md)
|
||||
|
||||
## Examples
|
||||
|
||||
``` r
|
||||
microorganisms.codes
|
||||
#> # A tibble: 6,036 × 2
|
||||
#> code mo
|
||||
#> <chr> <mo>
|
||||
#> 1 1011 B_GRAMP
|
||||
#> 2 1012 B_GRAMP
|
||||
#> 3 1013 B_GRAMN
|
||||
#> 4 1014 B_GRAMN
|
||||
#> 5 1015 F_YEAST
|
||||
#> 6 103 B_ESCHR_COLI
|
||||
#> 7 104 B_SLMNL_ENTR_ENTR
|
||||
#> 8 1100 B_STRPT
|
||||
#> 9 1101 B_STRPT_VIRI
|
||||
#> 10 1102 B_STRPT_HAEM
|
||||
#> # ℹ 6,026 more rows
|
||||
|
||||
# 'ECO' or 'eco' is the WHONET code for E. coli:
|
||||
microorganisms.codes[microorganisms.codes$code == "ECO", ]
|
||||
#> # A tibble: 1 × 2
|
||||
#> code mo
|
||||
#> <chr> <mo>
|
||||
#> 1 ECO B_ESCHR_COLI
|
||||
|
||||
# and therefore, 'eco' will be understood as E. coli in this package:
|
||||
mo_info("eco")
|
||||
#> $mo
|
||||
#> [1] "B_ESCHR_COLI"
|
||||
#>
|
||||
#> $rank
|
||||
#> [1] "species"
|
||||
#>
|
||||
#> $kingdom
|
||||
#> [1] "Bacteria"
|
||||
#>
|
||||
#> $phylum
|
||||
#> [1] "Pseudomonadota"
|
||||
#>
|
||||
#> $class
|
||||
#> [1] "Gammaproteobacteria"
|
||||
#>
|
||||
#> $order
|
||||
#> [1] "Enterobacterales"
|
||||
#>
|
||||
#> $family
|
||||
#> [1] "Enterobacteriaceae"
|
||||
#>
|
||||
#> $genus
|
||||
#> [1] "Escherichia"
|
||||
#>
|
||||
#> $species
|
||||
#> [1] "coli"
|
||||
#>
|
||||
#> $subspecies
|
||||
#> [1] ""
|
||||
#>
|
||||
#> $status
|
||||
#> [1] "accepted"
|
||||
#>
|
||||
#> $synonyms
|
||||
#> NULL
|
||||
#>
|
||||
#> $gramstain
|
||||
#> [1] "Gram-negative"
|
||||
#>
|
||||
#> $oxygen_tolerance
|
||||
#> [1] "facultative anaerobe"
|
||||
#>
|
||||
#> $url
|
||||
#> [1] "https://lpsn.dsmz.de/species/escherichia-coli"
|
||||
#>
|
||||
#> $ref
|
||||
#> [1] "Castellani et al., 1919"
|
||||
#>
|
||||
#> $snomed
|
||||
#> [1] "1095001000112106" "715307006" "737528008" "416989002"
|
||||
#> [5] "116397003" "414097009" "414098004" "414099007"
|
||||
#> [9] "414100004" "116395006" "735270003" "116396007"
|
||||
#> [13] "83285000" "116394005" "112283007" "710886005"
|
||||
#> [17] "710887001" "710888006" "710889003" "414132004"
|
||||
#> [21] "721892009" "416812001" "416740004" "417216001"
|
||||
#> [25] "457541006" "710253004" "416530004" "417189006"
|
||||
#> [29] "409800005" "713925008" "444771000124108" "838549008"
|
||||
#>
|
||||
#> $lpsn
|
||||
#> [1] "776057"
|
||||
#>
|
||||
#> $mycobank
|
||||
#> [1] NA
|
||||
#>
|
||||
#> $gbif
|
||||
#> [1] "11286021"
|
||||
#>
|
||||
#> $group_members
|
||||
#> character(0)
|
||||
#>
|
||||
|
||||
# works for all AMR functions:
|
||||
mo_is_intrinsic_resistant("eco", ab = "vancomycin")
|
||||
#> [1] TRUE
|
||||
```
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user