mirror of
https://github.com/msberends/AMR.git
synced 2025-12-15 23:10:28 +01:00
224 lines
6.1 KiB
Markdown
224 lines
6.1 KiB
Markdown
# (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
|
|
# }
|
|
```
|