1
0
mirror of https://github.com/msberends/AMR.git synced 2026-02-09 13:12:58 +01:00

Built site for AMR@3.0.1.9003: ba30b08

This commit is contained in:
github-actions
2025-11-24 10:42:21 +00:00
parent 7d16891987
commit 141fc468f8
161 changed files with 21798 additions and 313 deletions

View 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
# }
```