@@ -231,21 +236,21 @@ make the structure of your data generally look like this:
-
2022-11-12
+
2022-11-13
abcd
Escherichia coli
S
S
-
2022-11-12
+
2022-11-13
abcd
Escherichia coli
S
R
-
2022-11-12
+
2022-11-13
efgh
Escherichia coli
R
@@ -395,64 +400,53 @@ data set:
-
2012-03-28
-
G1
-
Hospital B
-
Escherichia coli
-
S
-
S
-
S
-
S
-
M
-
-
-
2010-09-12
-
E1
-
Hospital A
-
Escherichia coli
-
S
-
S
-
S
-
S
-
M
-
-
-
2015-07-10
-
N9
+
2012-05-17
+
I10
Hospital D
-
Klebsiella pneumoniae
+
Escherichia coli
S
+
R
+
R
S
-
S
-
S
-
F
+
M
-
2016-02-13
-
B8
-
Hospital B
+
2013-12-12
+
C4
+
Hospital A
Staphylococcus aureus
R
S
-
S
+
R
S
M
-
2016-12-26
-
X3
+
2015-05-08
+
S6
Hospital A
-
Staphylococcus aureus
-
R
+
Escherichia coli
I
S
S
+
R
F
-
2014-04-05
-
K5
-
Hospital B
+
2012-02-06
+
L4
+
Hospital C
+
Klebsiella pneumoniae
+
R
+
S
+
S
+
S
+
M
+
+
+
2017-11-15
+
J6
+
Hospital C
Escherichia coli
R
S
@@ -460,6 +454,17 @@ data set:
S
M
+
+
2017-09-22
+
G7
+
Hospital A
+
Escherichia coli
+
R
+
S
+
R
+
S
+
M
+
Now, let’s start the cleaning and the analysis!
@@ -494,16 +499,16 @@ Longest: 1
1
M
-
10,517
-
52.59%
-
10,517
-
52.59%
+
10,335
+
51.68%
+
10,335
+
51.68%
2
F
-
9,483
-
47.42%
+
9,665
+
48.33%
20,000
100.00%
@@ -616,10 +621,10 @@ takes into account the antimicrobial susceptibility test results using
# Basing inclusion on all antimicrobial results, using a points threshold of# 2# Including isolates from ICU.
-# => Found 10,603 'phenotype-based' first isolates (53.0% of total where a
+# => Found 10,583 'phenotype-based' first isolates (52.9% of total where a# microbial ID was available)
-
So only 53% is suitable for resistance analysis! We can now filter on
-it with the filter() function, also from the
+
So only 52.9% is suitable for resistance analysis! We can now filter
+on it with the filter() function, also from the
dplyr package:
# base R:plot(disk_values, mo ="E. coli", ab ="cipro")
diff --git a/articles/AMR_files/figure-html/disk_plots-1.png b/articles/AMR_files/figure-html/disk_plots-1.png
index fcf99dc9..a3176ea3 100644
Binary files a/articles/AMR_files/figure-html/disk_plots-1.png and b/articles/AMR_files/figure-html/disk_plots-1.png differ
diff --git a/articles/AMR_files/figure-html/disk_plots_mo_ab-1.png b/articles/AMR_files/figure-html/disk_plots_mo_ab-1.png
index 2e2edebb..fa95b2de 100644
Binary files a/articles/AMR_files/figure-html/disk_plots_mo_ab-1.png and b/articles/AMR_files/figure-html/disk_plots_mo_ab-1.png differ
diff --git a/articles/AMR_files/figure-html/mic_plots-1.png b/articles/AMR_files/figure-html/mic_plots-1.png
index 939466a2..5f7e3154 100644
Binary files a/articles/AMR_files/figure-html/mic_plots-1.png and b/articles/AMR_files/figure-html/mic_plots-1.png differ
diff --git a/articles/AMR_files/figure-html/mic_plots-2.png b/articles/AMR_files/figure-html/mic_plots-2.png
index f106cbc3..e1f0d1ac 100644
Binary files a/articles/AMR_files/figure-html/mic_plots-2.png and b/articles/AMR_files/figure-html/mic_plots-2.png differ
diff --git a/articles/AMR_files/figure-html/mic_plots_mo_ab-1.png b/articles/AMR_files/figure-html/mic_plots_mo_ab-1.png
index 1f8b0866..53a03657 100644
Binary files a/articles/AMR_files/figure-html/mic_plots_mo_ab-1.png and b/articles/AMR_files/figure-html/mic_plots_mo_ab-1.png differ
diff --git a/articles/AMR_files/figure-html/mic_plots_mo_ab-2.png b/articles/AMR_files/figure-html/mic_plots_mo_ab-2.png
index b15f3ec2..544799d2 100644
Binary files a/articles/AMR_files/figure-html/mic_plots_mo_ab-2.png and b/articles/AMR_files/figure-html/mic_plots_mo_ab-2.png differ
diff --git a/articles/AMR_files/figure-html/plot 1-1.png b/articles/AMR_files/figure-html/plot 1-1.png
index 17420c86..6104f04a 100644
Binary files a/articles/AMR_files/figure-html/plot 1-1.png and b/articles/AMR_files/figure-html/plot 1-1.png differ
diff --git a/articles/AMR_files/figure-html/plot 3-1.png b/articles/AMR_files/figure-html/plot 3-1.png
index ff9e8fe5..33319e38 100644
Binary files a/articles/AMR_files/figure-html/plot 3-1.png and b/articles/AMR_files/figure-html/plot 3-1.png differ
diff --git a/articles/AMR_files/figure-html/plot 4-1.png b/articles/AMR_files/figure-html/plot 4-1.png
index 742f0ecc..e78a3100 100644
Binary files a/articles/AMR_files/figure-html/plot 4-1.png and b/articles/AMR_files/figure-html/plot 4-1.png differ
diff --git a/articles/AMR_files/figure-html/plot 5-1.png b/articles/AMR_files/figure-html/plot 5-1.png
index 9bcef634..8b27d137 100644
Binary files a/articles/AMR_files/figure-html/plot 5-1.png and b/articles/AMR_files/figure-html/plot 5-1.png differ
diff --git a/articles/EUCAST.html b/articles/EUCAST.html
index 46978456..728aa47a 100644
--- a/articles/EUCAST.html
+++ b/articles/EUCAST.html
@@ -38,7 +38,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -111,6 +111,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/articles/MDR.html b/articles/MDR.html
index 65039e00..9ef80142 100644
--- a/articles/MDR.html
+++ b/articles/MDR.html
@@ -38,7 +38,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -111,6 +111,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -370,19 +375,19 @@ names or codes, this would have worked exactly the same way:
head(my_TB_data)# rifampicin isoniazid gatifloxacin ethambutol pyrazinamide moxifloxacin
-# 1 I I I S S R
-# 2 R S S S I I
-# 3 S R R R S R
-# 4 S I R S I I
-# 5 S S S I S R
-# 6 I S R S I I
+# 1 S S R I S I
+# 2 R R I S R I
+# 3 I I R R R R
+# 4 S S S I R I
+# 5 S I S R R I
+# 6 I R S R I I# kanamycin
-# 1 I
+# 1 S# 2 S
-# 3 R
-# 4 I
-# 5 R
-# 6 I
+# 3 S
+# 4 R
+# 5 S
+# 6 R
We can now add the interpretation of MDR-TB to our data set. You can
use:
@@ -423,40 +428,40 @@ Unique: 5
1
Mono-resistant
-
3140
-
62.80%
-
3140
-
62.80%
+
3191
+
63.82%
+
3191
+
63.82%
2
Negative
-
1031
-
20.62%
-
4171
-
83.42%
+
1008
+
20.16%
+
4199
+
83.98%
3
Multi-drug-resistant
-
463
-
9.26%
-
4634
-
92.68%
+
495
+
9.90%
+
4694
+
93.88%
4
Poly-resistant
-
252
-
5.04%
-
4886
-
97.72%
+
216
+
4.32%
+
4910
+
98.20%
5
Extensively drug-resistant
-
114
-
2.28%
+
90
+
1.80%
5000
100.00%
diff --git a/articles/PCA.html b/articles/PCA.html
index a8954fed..1220077b 100644
--- a/articles/PCA.html
+++ b/articles/PCA.html
@@ -38,7 +38,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -111,6 +111,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/articles/SPSS.html b/articles/SPSS.html
index fb5b8d4c..334a91e7 100644
--- a/articles/SPSS.html
+++ b/articles/SPSS.html
@@ -38,7 +38,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -111,6 +111,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -480,8 +485,8 @@ Set Name ‘Microoganism’, OID 2.16.840.1.114222.4.11.1009 (v12). URL:
-
-antibiotics: Antibiotic Agents
+
+antibiotics: Antibiotic (+Antifungal) Drugs
A data set with 483 rows and 14 columns, containing the following
column names: ab, cid, name, group, atc,
@@ -537,6 +542,8 @@ WHO CC website for personal use)
A data set with 102 rows and 9 columns, containing the following
-column names: atc, cid, name, atc_group,
-synonyms, oral_ddd, oral_units,
-iv_ddd and iv_units.
+
A data set with 120 rows and 11 columns, containing the following
+column names: av, name, atc, cid,
+atc_group, synonyms, oral_ddd,
+oral_units, iv_ddd, iv_units and
+loinc.
This data set is in R available as antivirals, after you
load the AMR package.
-
It was last updated on 27 August 2022 18:49:37 UTC. Find more info
+
It was last updated on 13 November 2022 07:46:10 UTC. Find more info
about the structure of this data set here.
@@ -740,97 +750,113 @@ National Library of Medicine
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
av
+
name
atc
cid
-
name
atc_group
synonyms
oral_ddd
oral_units
iv_ddd
iv_units
+
loinc
+
ABA
+
Abacavir
J05AF06
441300
-
Abacavir
Nucleoside and nucleotide reverse transcriptase
inhibitors
-
Abacavir, Abacavir sulfate, Ziagen
+
abacavir sulfate, avacavir, ziagen
0.6
g
+
29113-8, 78772-1, 78773-9, …
+
ACI
+
Aciclovir
J05AB01
135398513
-
Aciclovir
Nucleosides and nucleotides excl. reverse
transcriptase inhibitors
-
Acicloftal, Aciclovier, Aciclovir, …
+
acicloftal, aciclovier, aciclovirum, …
4.0
g
4
g
+
+
ADD
+
Adefovir dipivoxil
J05AF08
60871
-
Adefovir dipivoxil
Nucleoside and nucleotide reverse transcriptase
inhibitors
-
Adefovir di ester, Adefovir dipivoxil, Adefovir
-Dipivoxil, …
+
adefovir di, adefovir di ester, adefovir dipivoxyl,
+…
10.0
mg
+
-
J05AE05
-
65016
-
Amprenavir
-
Protease inhibitors
-
Agenerase, Amprenavir, Amprenavirum, …
-
1.2
+
AME
+
Amenamevir
+
J05AX26
+
11397521
+
Other antivirals
+
amenalief
+
0.4
g
+
-
J05AP06
-
16076883
-
Asunaprevir
-
Antivirals for treatment of HCV infections
-
Asunaprevir, Sunvepra
-
-
+
AMP
+
Amprenavir
+
J05AE05
+
65016
+
Protease inhibitors
+
agenerase, carbamate, prozei
+
1.2
+
g
+
29114-6, 31028-4, 78791-1
-
J05AE08
-
148192
-
Atazanavir
-
Protease inhibitors
-
Atazanavir, Atazanavir Base, Latazanavir, …
-
0.3
+
ASU
+
Asunaprevir
+
J05AP06
+
16076883
+
Antivirals for treatment of HCV infections
+
sunvepra, sunvepratrade
+
0.2
g
+
diff --git a/articles/index.html b/articles/index.html
index 50124075..2068b9f1 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/articles/resistance_predict.html b/articles/resistance_predict.html
index 6ee8de0c..f5378b20 100644
--- a/articles/resistance_predict.html
+++ b/articles/resistance_predict.html
@@ -38,7 +38,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -111,6 +111,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/articles/welcome_to_AMR.html b/articles/welcome_to_AMR.html
index 3d6fa67b..4371497d 100644
--- a/articles/welcome_to_AMR.html
+++ b/articles/welcome_to_AMR.html
@@ -38,7 +38,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -111,6 +111,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -188,7 +193,7 @@ treatment evaluation in any setting.
10.33612/diss.177417131 and DOI
10.33612/diss.192486375).
After installing this package, R knows ~49,000 distinct microbial
-species and all ~580 antibiotic, antimycotic and antiviral drugs by name
+species and all ~600 antibiotic, antimycotic and antiviral drugs by name
and code (including ATC, EARS-Net, ASIARS-Net, PubChem, LOINC and SNOMED
CT), and knows all about valid R/SI and MIC values. The integral
breakpoint guidelines from CLSI and EUCAST are included from the last 10
diff --git a/authors.html b/authors.html
index a2882621..2539df0b 100644
--- a/authors.html
+++ b/authors.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/index.html b/index.html
index dbb3a862..9d499f17 100644
--- a/index.html
+++ b/index.html
@@ -42,7 +42,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -115,6 +115,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -169,7 +174,7 @@
The AMR package is a free and open-source R package with zero dependencies 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.
After installing this package, R knows ~49,000 distinct microbial species and all ~570 antibiotic, antimycotic and antiviral drugs by name and code (including ATC, EARS-Net, ASIARS-Net, PubChem, LOINC and SNOMED CT), and knows all about valid R/SI and MIC values. The integral breakpoint guidelines from CLSI and EUCAST are included from the last 10 years. 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, in collaboration with non-profit organisations Certe Medical Diagnostics and Advice Foundation and University Medical Center Groningen, and is being actively and durably maintained by two public healthcare organisations in the Netherlands.
+
After installing this package, R knows ~49,000 distinct microbial species and all ~600 antibiotic, antimycotic and antiviral drugs by name and code (including ATC, EARS-Net, ASIARS-Net, PubChem, LOINC and SNOMED CT), and knows all about valid R/SI and MIC values. The integral breakpoint guidelines from CLSI and EUCAST are included from the last 10 years. 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, in collaboration with non-profit organisations Certe Medical Diagnostics and Advice Foundation and University Medical Center Groningen, and is being actively and durably maintained by two public healthcare organisations in the Netherlands.
Used in 175 countries, translated to 16 languages
diff --git a/news/index.html b/news/index.html
index 82de9e37..c802c339 100644
--- a/news/index.html
+++ b/news/index.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -127,33 +132,45 @@
-
AMR 1.8.2.9047
+
AMR 1.8.2.9049
This version will eventually become v2.0! We’re happy to reach a new major milestone soon!
-
Breaking
+
Breaking
Removed all species of the taxonomic kingdom Chromista from the package. This was done for multiple reasons:
CRAN allows packages to be around 5 MB maximum, some packages are exempted but this package is not one of them
Chromista are not relevant when it comes to antimicrobial resistance, thus lacking the primary scope of this package
Chromista are almost never clinically relevant, thus lacking the secondary scope of this package
The microorganisms no longer relies on the Catalogue of Life, but now primarily on the List of Prokaryotic names with Standing in Nomenclature (LPSN) and is supplemented with the Global Biodiversity Information Facility (GBIF). The structure of this data set has changed to include separate LPSN and GBIF identifiers. Almost all previous MO codes were retained. It contains over 1,000 taxonomic names from 2022 already.
-
The microorganisms.old data set was removed, and all previously accepted names are now included in the microorganisms data set. A new column status contains "accepted" for currently accepted names and "synonym" for taxonomic synonyms; currently invalid names. All previously accepted names now have a microorganisms ID and - if available - an LPSN, GBIF and SNOMED CT identifier.
+
+The microorganisms.old data set was removed, and all previously accepted names are now included in the microorganisms data set. A new column status contains "accepted" for currently accepted names and "synonym" for taxonomic synonyms; currently invalid names. All previously accepted names now have a microorganisms ID and - if available - an LPSN, GBIF and SNOMED CT identifier.
The MO matching score algorithm (mo_matching_score()) now counts deletions and substitutions as 2 instead of 1, which impacts the outcome of as.mo() and any mo_*() function
-
Argument combine_IR has been removed from this package (affecting functions count_df(), proportion_df(), and rsi_df() and some plotting functions), since it was replaced with combine_SI three years ago
-
Removal of interpretation guidelines older than 10 years, the oldest now included guidelines of EUCAST and CLSI are from 2013
+
+Argument combine_IR has been removed from this package (affecting functions count_df(), proportion_df(), and rsi_df() and some plotting functions), since it was replaced with combine_SI three years ago
+
Interpretation guidelines older than 10 years were removed, the oldest now included guidelines of EUCAST and CLSI are from 2013
+
Using units in ab_ddd(..., units = "...") had been deprecated and is now not supported anymore. Use ab_ddd_units() instead.
-
New
-
EUCAST 2022 and CLSI 2022 guidelines have been added for as.rsi(). EUCAST 2022 is now the new default guideline for all MIC and disks diffusion interpretations.
+
New
+
+EUCAST 2022 and CLSI 2022 guidelines have been added for as.rsi(). EUCAST 2022 is now the new default guideline for all MIC and disks diffusion interpretations.
Support for the following languages: Chinese, Greek, Japanese, Polish, Turkish and Ukrainian. We are very grateful for the valuable input by our colleagues from other countries. The AMR package is now available in 16 languages. The automatic language determination will give a note at start-up on systems in supported languages.
-
All new algorithm for as.mo() (and thus all mo_*() functions) while still following our original set-up as described in our paper (DOI 10.18637/jss.v104.i03).
+
+All new algorithm for as.mo() (and thus all mo_*() functions) while still following our original set-up as described in our recently submitted JSS paper (DOI 10.18637/jss.v104.i03).
A new argument keep_synonyms allows to not correct for updated taxonomy, in favour of the now deleted argument allow_uncertain
It has increased tremendously in speed and returns generally more consequent results
Sequential coercion is now extremely fast as results are stored to the package environment, although coercion of unknown values must be run once per session. Previous results can be reset/removed with the new mo_reset_session() function.
Support for microorganism codes of the ASIan Antimicrobial Resistance Surveillance Network (ASIARS-Net)
-
New functions!
+
+Extensive support for antiviral agents! For the first time, the AMR package has extensive support for antiviral drugs and to work with their names, codes and other data in any way.
+
The antivirals data set has been extended with 18 new drugs (also from the new J05AJ ATC group) and now also contains antiviral identifiers and LOINC codes
+
A new data type av (antivirals) has been added, which is functionally similar to ab for antibiotics
Function mean_amr_distance() to calculate the mean AMR distance. The mean AMR distance is a normalised numeric value to compare AMR test results and can help to identify similar isolates, without comparing antibiograms by hand.
New and updated entries for the antibiotics data set
-
The following 20 antibiotics have been added (also includes the new J01RA ATC group): azithromycin/fluconazole/secnidazole (AFC), cefepime/amikacin (CFA), cefixime/ornidazole (CEO), ceftriaxone/beta-lactamase inhibitor (CEB), ciprofloxacin/metronidazole (CIM), ciprofloxacin/ornidazole (CIO), ciprofloxacin/tinidazole (CIT), furazidin (FUR), isoniazid/sulfamethoxazole/trimethoprim/pyridoxine (IST), lascufloxacin (LSC), levofloxacin/ornidazole (LEO), nemonoxacin (NEM), norfloxacin/metronidazole (NME), norfloxacin/tinidazole (NTI), ofloxacin/ornidazole (OOR), oteseconazole (OTE), rifampicin/ethambutol/isoniazid (REI), sarecycline (SRC), tetracycline/oleandomycin (TOL), and thioacetazone (TAT)
+
The following 20 antibiotics have been added (also includes the new J01RA ATC group): azithromycin/fluconazole/secnidazole (AFC), cefepime/amikacin (CFA), cefixime/ornidazole (CEO), ceftriaxone/beta-lactamase inhibitor (CEB), ciprofloxacin/metronidazole (CIM), ciprofloxacin/ornidazole (CIO), ciprofloxacin/tinidazole (CIT), furazidin (FUR), isoniazid/sulfamethoxazole/trimethoprim/pyridoxine (IST), lascufloxacin (LSC), levofloxacin/ornidazole (LEO), nemonoxacin (NEM), norfloxacin/metronidazole (NME), norfloxacin/tinidazole (NTI), ofloxacin/ornidazole (OOR), oteseconazole (OTE), rifampicin/ethambutol/isoniazid (REI), sarecycline (SRC), tetracycline/oleandomycin (TOL), and thioacetazone (TAT)
Added some missing ATC codes
Updated DDDs and PubChem Compound IDs
Updated some antibiotic name spelling, now used by WHOCC (such as cephalexin -> cefalexin, and phenethicillin -> pheneticillin)
@@ -170,13 +187,13 @@
Support for antimicrobial interpretation of anaerobic bacteria, by adding a ‘placeholder’ code B_ANAER to the microorganisms data set and add the breakpoints of anaerobics to the rsi_interpretation data set, which is used by as.rsi() when interpreting MIC and disk diffusion values
All data sets in this package are now exported as tibble, instead of base R data.frames. Older R versions are still supported.
-
Our data sets are now also continually exported to Apache Feather and Apache Parquet formats. You can find more info in this article on our website.
+
All data sets in this package are now exported as tibble, instead of base R data.frames. Older R versions are still supported.
+
Our data sets are now also continually exported to Apache Feather and Apache Parquet formats. You can find more info in this article on our website.
Support for using antibiotic selectors in scoped dplyr verbs (with or without vars()), such as in: ... %>% summarise_at(aminoglycosides(), resistance), see resistance()
-
Changed
+
Changed
Fix for using as.rsi() on certain EUCAST breakpoints for MIC values
Fix for using as.rsi() on NA values (e.g. as.rsi(as.disk(NA), ...))
Fix for using as.rsi() on bug-drug combinations with multiple breakpoints for different body sites
@@ -207,7 +224,7 @@
Fix for mo_shortname() in case of higher taxonomic ranks (order, class, phylum)
-
Other
+
Other
New website to make use of the new Bootstrap 5 and pkgdown 2.0. The website now contains results for all examples and will be automatically regenerated with every change to our repository, using GitHub Actions
Added Peter Dutey-Magni, Dmytro Mykhailenko, Anton Mymrikov, and Jonas Salm as contributors, to thank them for their valuable input
All R and Rmd files in this project are now styled using the styler package
@@ -346,1637 +363,6 @@
This package is now being maintained by two epidemiologists and a data scientist from two different non-profit healthcare organisations.
-
-
AMR 1.7.1
CRAN release: 2021-06-03
-
-
Breaking change
-
-
All antibiotic class selectors (such as carbapenems(), aminoglycosides()) can now be used for filtering as well, making all their accompanying filter_*() functions redundant (such as filter_carbapenems(), filter_aminoglycosides()). These functions are now deprecated and will be removed in a next release. Examples of how the selectors can be used for filtering:
Function italicise_taxonomy() to make taxonomic names within a string italic, with support for markdown and ANSI
-
Support for all four methods to determine first isolates as summarised by Hindler et al. (doi: 10.1086/511864): isolate-based, patient-based, episode-based and phenotype-based. The last method is now the default.
-
The first_isolate() function gained the argument method that has to be “phenotype-based”, “episode-based”, “patient-based”, or “isolate-based”. The old behaviour is equal to “episode-based”. The new default is “phenotype-based” if antimicrobial test results are available, and “episode-based” otherwise. This new default will yield slightly more isolates for selection (which is a good thing).
-
Since fungal isolates can also be selected, the functions key_antibiotics() and key_antibiotics_equal() are now deprecated in favour of the key_antimicrobials() and antimicrobials_equal() functions. Also, the new all_antimicrobials() function works like the old key_antibiotics() function, but includes any column with antimicrobial test results. Using key_antimicrobials() still only selects six preferred antibiotics for Gram-negatives, six for Gram-positives, and six universal antibiotics. It has a new antifungal argument to set antifungal agents (antimycotics).
-
Using type == "points" in the first_isolate() function for phenotype-based selection will now consider all antimicrobial drugs in the data set, using the new all_antimicrobials()
-
-
The first_isolate() function can now take a vector of values for col_keyantibiotics and can have an episode length of Inf
-
-
Since the phenotype-based method is the new default, filter_first_isolate() renders the filter_first_weighted_isolate() function redundant. For this reason, filter_first_weighted_isolate() is now deprecated.
Function betalactams() as additional antbiotic column selector and function filter_betalactams() as additional antbiotic column filter. The group of betalactams consists of all carbapenems, cephalosporins and penicillins.
Custom MDRO guidelines can now be combined with other custom MDRO guidelines using c()
-
-
Fix for applying the rules; in previous versions, rows were interpreted according to the last matched rule. Now, rows are interpreted according to the first matched rule
The example_isolates data set now contains some (fictitious) zero-year old patients
-
Fix for minor translation errors
-
Printing of microbial codes in a data.frame or tibble now gives a warning if the data contains old microbial codes (from a previous AMR package version)
Altered the RStudio addin, so it now iterates over %like% -> %unlike% -> %like_case% -> %unlike_case% if you keep pressing your keyboard shortcut
-
-
Fixed an installation error on R-3.0
-
Added info argument to as.mo() to turn on/off the progress bar
-
Fixed a bug where col_mo in some functions (esp. eucast_rules() and mdro()) could not be a column name of the microorganisms data set as it would throw an error
-
Fix for transforming numeric values to RSI (as.rsi()) when the vctrs package is loaded (i.e., when using tidyverse)
As requested by CRAN administrators: decreased package size by 3 MB in costs of a slower loading time of the package
-
All unit tests are now processed by the tinytest package, instead of the testthat package. The testthat package unfortunately requires tons of dependencies that are also heavy and only usable for recent R versions, disallowing developers to test a package under any R 3.* version. On the contrary, the tinytest package is very lightweight and dependency-free.
-
-
-
-
AMR 1.6.0
CRAN release: 2021-03-14
-
-
New
-
-
Support for EUCAST Clinical Breakpoints v11.0 (2021), effective in the eucast_rules() function and in as.rsi() to interpret MIC and disk diffusion values. This is now the default guideline in this package.
-
Added function eucast_dosage() to get a data.frame with advised dosages of a certain bug-drug combination, which is based on the new dosage data set
-
Added data set dosage to fuel the new eucast_dosage() function and to make this data available in a structured way
-
Existing data set example_isolates now reflects the latest EUCAST rules
-
-
-
Added argument only_rsi_columns for some functions, which defaults to FALSE, to indicate if the functions must only be applied to columns that are of class <rsi> (i.e., transformed with as.rsi()). This increases speed since automatic determination of antibiotic columns is not needed anymore. Affected functions are:
Functions oxazolidinones() (an antibiotic selector function) and filter_oxazolidinones() (an antibiotic filter function) to select/filter on e.g. linezolid and tedizolid
-
-
-library(dplyr)
-x<-example_isolates%>%select(date, ward, oxazolidinones())
-#> Selecting oxazolidinones: column 'LNZ' (linezolid)
-
-x<-example_isolates%>%filter_oxazolidinones()
-#> Filtering on oxazolidinones: value in column `LNZ` (linezolid) is either "R", "S" or "I"
-
-
Support for custom MDRO guidelines, using the new custom_mdro_guideline() function, please see mdro() for additional info
Function mo_is_yeast(), which determines whether a microorganism is a member of the taxonomic class Saccharomycetes or the taxonomic order Saccharomycetales:
-
-
-mo_kingdom(c("Aspergillus", "Candida"))
-#> [1] "Fungi" "Fungi"
-
-mo_is_yeast(c("Aspergillus", "Candida"))
-#> [1] FALSE TRUE
-
-# usage for filtering data:
-example_isolates[which(mo_is_yeast()), ]# base R
-example_isolates%>%filter(mo_is_yeast())# dplyr
-
The mo_type() function has also been updated to reflect this change:
-
-
-mo_type(c("Aspergillus", "Candida"))
-# [1] "Fungi" "Yeasts"
-mo_type(c("Aspergillus", "Candida"), language ="es")# also supported: de, nl, fr, it, pt
-#> [1] "Hongos" "Levaduras"
-
-
Added Pretomanid (PMD, J04AK08) to the antibiotics data set
-
-
MIC values (see as.mic()) can now be used in any mathematical processing, such as usage inside functions min(), max(), range(), and with binary operators (+, -, etc.). This allows for easy distribution analysis and fast filtering on MIC values:
-first_isolate() can be used with group_by() (also when using a dot . as input for the data) and now returns the names of the groups
-
Updated the data set microorganisms.codes (which contains popular LIS and WHONET codes for microorganisms) for some species of Mycobacterium that previously incorrectly returned M. africanum
-
-
WHONET code "PNV" will now correctly be interpreted as PHN, the antibiotic code for phenoxymethylpenicillin (‘peni V’)
-
Fix for verbose output of mdro(..., verbose = TRUE) for German guideline (3MGRN and 4MGRN) and Dutch guideline (BRMO, only P. aeruginosa)
-
-is.rsi.eligible() now detects if the column name resembles an antibiotic name or code and now returns TRUE immediately if the input contains any of the values “R”, “S” or “I”. This drastically improves speed, also for a lot of other functions that rely on automatic determination of antibiotic columns.
-
Functions get_episode() and is_new_episode() now support less than a day as value for argument episode_days (e.g., to include one patient/test per hour)
-
Argument ampc_cephalosporin_resistance in eucast_rules() now also applies to value “I” (not only “S”)
-
Functions print() and summary() on a Principal Components Analysis object (pca()) now print additional group info if the original data was grouped using dplyr::group_by()
-
-
Improved speed and reliability of guess_ab_col(). As this also internally improves the reliability of first_isolate() and mdro(), this might have a slight impact on the results of those functions.
-
Fix for mo_name() when used in other languages than English
-
The like() function (and its fast alias %like%) now always use Perl compatibility, improving speed for many functions in this package (e.g., as.mo() is now up to 4 times faster)
-
-Staphylococcus cornubiensis is now correctly categorised as coagulase-positive
Support for GISA (glycopeptide-intermediate S. aureus), so e.g. mo_genus("GISA") will return "Staphylococcus"
-
-
Added translations of German and Spanish for more than 200 antimicrobial drugs
-
Speed improvement for as.ab() when the input is an official name or ATC code
-
Added argument include_untested_rsi to the first_isolate() functions (defaults to TRUE to keep existing behaviour), to be able to exclude rows where all R/SI values (class <rsi>, see as.rsi()) are empty
-
-
-
Other
-
Big documentation updates
-
Loading the package (i.e., library(AMR)) now is ~50 times faster than before, in costs of package size (which increased by ~3 MB)
-
-
-
-
AMR 1.5.0
CRAN release: 2021-01-06
-
-
New
-
-
Functions get_episode() and is_new_episode() to determine (patient) episodes which are not necessarily based on microorganisms. The get_episode() function returns the index number of the episode per group, while the is_new_episode() function returns values TRUE/FALSE to indicate whether an item in a vector is the start of a new episode. They also support dplyrs grouping (i.e. using group_by()):
Functions mo_is_gram_negative() and mo_is_gram_positive() as wrappers around mo_gramstain(). They always return TRUE or FALSE (except when the input is NA or the MO code is UNKNOWN), thus always return FALSE for species outside the taxonomic kingdom of Bacteria.
-
Function mo_is_intrinsic_resistant() to test for intrinsic resistance, based on EUCAST Intrinsic Resistance and Unusual Phenotypes v3.2 from 2020.
New argument ampc_cephalosporin_resistance in eucast_rules() to correct for AmpC de-repressed cephalosporin-resistant mutants
-
-
Interpretation of antimicrobial resistance - as.rsi():
-
Reference data used for as.rsi() can now be set by the user, using the reference_data argument. This allows for using own interpretation guidelines. The user-set data must have the same structure as rsi_translation.
-
Better determination of disk zones and MIC values when running as.rsi() on a data.frame
-
Fix for using as.rsi() on a data.frame in older R versions
-
-as.rsi() on a data.frame will not print a message anymore if the values are already clean R/SI values
-
If using as.rsi() on MICs or disk diffusion while there is intrinsic antimicrobial resistance, a warning will be thrown to remind about this
-
Fix for using as.rsi() on a data.frame that only contains one column for antibiotic interpretations
-
-
-
Some functions are now context-aware when used inside dplyr verbs, such as filter(), mutate() and summarise(). This means that then the data argument does not need to be set anymore. This is the case for the new functions:
For antibiotic selection functions (such as cephalosporins(), aminoglycosides()) to select columns based on a certain antibiotic group, the dependency on the tidyselect package was removed, meaning that they can now also be used without the need to have this package installed and now also work in base R function calls (they rely on R 3.2 or later):
For all function arguments in the code, it is now defined what the exact type of user input should be (inspired by the typed package). If the user input for a certain function does not meet the requirements for a specific argument (such as the class or length), an informative error will be thrown. This makes the package more robust and the use of it more reproducible and reliable. In total, more than 420 arguments were defined.
-
Fix for set_mo_source(), that previously would not remember the file location of the original file
-
Deprecated function p_symbol() that not really fits the scope of this package. It will be removed in a future version. See here for the source code to preserve it.
-
Updated coagulase-negative staphylococci determination with Becker et al. 2020 (PMID 32056452), meaning that the species S. argensis, S. caeli, S. debuckii, S. edaphicus and S. pseudoxylosus are now all considered CoNS
-
Fix for using argument reference_df in as.mo() and mo_*() functions that contain old microbial codes (from previous package versions)
-
Fixed a bug where mo_uncertainties() would not return the results based on the MO matching score
-
Fixed a bug where as.mo() would not return results for known laboratory codes for microorganisms
LA-MRSA and CA-MRSA are now recognised as an abbreviation for Staphylococcus aureus, meaning that e.g. mo_genus("LA-MRSA") will return "Staphylococcus" and mo_is_gram_positive("LA-MRSA") will return TRUE.
-
Fix for printing class in tibbles when all values are NA
Support for ‘EUCAST Expert Rules’ / ‘EUCAST Intrinsic Resistance and Unusual Phenotypes’ version 3.2 of May 2020. With this addition to the previously implemented version 3.1 of 2016, the eucast_rules() function can now correct for more than 180 different antibiotics and the mdro() function can determine multidrug resistance based on more than 150 different antibiotics. All previously implemented versions of the EUCAST rules are now maintained and kept available in this package. The eucast_rules() function consequently gained the arguments version_breakpoints (at the moment defaults to v10.0, 2020) and version_expertrules (at the moment defaults to v3.2, 2020). The example_isolates data set now also reflects the change from v3.1 to v3.2. The mdro() function now accepts guideline == "EUCAST3.1" and guideline == "EUCAST3.2".
-
A new vignette and website page with info about all our public and freely available data sets, that can be downloaded as flat files or in formats for use in R, SPSS, SAS, Stata and Excel: https://msberends.github.io/AMR/articles/datasets.html
-
-
Data set intrinsic_resistant. This data set contains all bug-drug combinations where the ‘bug’ is intrinsic resistant to the ‘drug’ according to the latest EUCAST insights. It contains just two columns: microorganism and antibiotic.
-
Curious about which enterococci are actually intrinsic resistant to vancomycin?
Support for skimming classes <rsi>, <mic>, <disk> and <mo> with the skimr package
-
-
-
Changed
-
Although advertised that this package should work under R 3.0.0, we still had a dependency on R 3.6.0. This is fixed, meaning that our package should now work under R 3.0.0.
Support for using dplyr’s across() to interpret MIC values or disk zone diameters, which also automatically determines the column with microorganism names or codes.
-
-
-# until dplyr 1.0.0
-your_data%>%mutate_if(is.mic, as.rsi)
-your_data%>%mutate_if(is.disk, as.rsi)
-
-# since dplyr 1.0.0
-your_data%>%mutate(across(where(is.mic), as.rsi))
-your_data%>%mutate(across(where(is.disk), as.rsi))
-
-
Cleaning columns in a data.frame now allows you to specify those columns with tidy selection, e.g. as.rsi(df, col1:col9)
-
Big speed improvement for interpreting MIC values and disk zone diameters. When interpreting 5,000 MIC values of two antibiotics (10,000 values in total), our benchmarks showed a total run time going from 80.7-85.1 seconds to 1.8-2.0 seconds.
-
Added argument ‘add_intrinsic_resistance’ (defaults to FALSE), that considers intrinsic resistance according to EUCAST
-
Fixed a bug where in EUCAST rules the breakpoint for R would be interpreted as “>=” while this should have been “<”
-
-
-
Added intelligent data cleaning to as.disk(), so numbers can also be extracted from text and decimal numbers will always be rounded up:
A completely new matching score for ambiguous user input, using mo_matching_score(). Any user input value that could mean more than one taxonomic entry is now considered ‘uncertain’. Instead of a warning, a message will be thrown and the accompanying mo_uncertainties() has been changed completely; it now prints all possible candidates with their matching score.
-
Big speed improvement for already valid microorganism ID. This also means an significant speed improvement for using mo_* functions like mo_name() on microoganism IDs.
-
Added argument ignore_pattern to as.mo() which can also be given to mo_* functions like mo_name(), to exclude known non-relevant input from analysing. This can also be set with the option AMR_ignore_pattern.
-
-
get_locale() now uses at default Sys.getenv("LANG") or, if LANG is not set, Sys.getlocale(). This can be overwritten by setting the option AMR_locale.
Overall speed improvement by tweaking joining functions
-
Function mo_shortname() now returns the genus for input where the species is unknown
-
BORSA is now recognised as an abbreviation for Staphylococcus aureus, meaning that e.g. mo_genus("BORSA") will return “Staphylococcus”
-
Added a feature from AMR 1.1.0 and earlier again, but now without other package dependencies: tibble printing support for classes <rsi>, <mic>, <disk>, <ab> and <mo>. When using tibbles containing antimicrobial columns (class <rsi>), “S” will print in green, “I” will print in yellow and “R” will print in red. Microbial IDs (class <mo>) will emphasise on the genus and species, not on the kingdom.
-
Names of antiviral agents in data set antivirals now have a starting capital letter, like it is the case in the antibiotics data set
-
Updated the documentation of the WHONET data set to clarify that all patient names are fictitious
Added abbreviation “piptazo” to ‘Piperacillin/tazobactam’ (TZP)
-
‘Penicillin G’ (for intravenous use) is now named ‘Benzylpenicillin’ (code PEN)
-
‘Penicillin V’ (for oral use, code PNV) was removed, since its actual entry ‘Phenoxymethylpenicillin’ (code PHN) already existed
-
The group name (antibiotics$group) of ‘Linezolid’ (LNZ), ‘Cycloserine’ (CYC), ‘Tedizolid’ (TZD) and ‘Thiacetazone’ (THA) is now “Oxazolidinones” instead of “Other antibacterials”
-
-
Added support for using unique() on classes <rsi>, <mic>, <disk>, <ab> and <mo>
-
Added argument excess to the kurtosis() function (defaults to FALSE), to return the excess kurtosis, defined as the kurtosis minus three.
-
-
-
Other
-
Removed functions portion_R(), portion_S() and portion_I() that were deprecated since version 0.9.0 (November 2019) and were replaced with proportion_R(), proportion_S() and proportion_I()
-
-
Removed unnecessary references to the base package
-
Added packages that could be useful for some functions to the Suggests field of the DESCRIPTION file
-
-
-
-
AMR 1.3.0
CRAN release: 2020-07-31
-
-
New
-
Function ab_from_text() to retrieve antimicrobial drug names, doses and forms of administration from clinical texts in e.g. health care records, which also corrects for misspelling since it uses as.ab() internally
-
-
Tidyverse selection helpers for antibiotic classes, that help to select the columns of antibiotics that are of a specific antibiotic class, without the need to define the columns or antibiotic abbreviations. They can be used in any function that allows selection helpers, like dplyr::select() and tidyr::pivot_longer():
-
-
-library(dplyr)
-
-# Columns 'IPM' and 'MEM' are in the example_isolates data set
-example_isolates%>%
-select(carbapenems())
-#> Selecting carbapenems: `IPM` (imipenem), `MEM` (meropenem)
Added function filter_penicillins() to filter isolates on a specific result in any column with a name in the antimicrobial ‘penicillins’ class (more specific: ATC subgroup Beta-lactam antibacterials, penicillins)
-
Added official antimicrobial names to all filter_ab_class() functions, such as filter_aminoglycosides()
-
Added antibiotics code “FOX1” for cefoxitin screening (abbreviation “cfsc”) to the antibiotics data set
-
Added Monuril as trade name for fosfomycin
-
Added argument conserve_capped_values to as.rsi() for interpreting MIC values - it makes sure that values starting with “<” (but not “<=”) will always return “S” and values starting with “>” (but not “>=”) will always return “R”. The default behaviour of as.rsi() has not changed, so you need to specifically do as.rsi(..., conserve_capped_values = TRUE).
As a consequence, very old microbial codes (from AMR v0.5.0 and lower) are not supported anymore. Use as.mo() on your microorganism names or codes to transform them to current abbreviations used in this package.
Dramatic improvement of the algorithm behind as.ab(), making many more input errors translatable, such as digitalised health care records, using too few or too many vowels or consonants and many more
-
Added progress bar
-
Fixed a bug where as.ab() would return an error on invalid input values
-
The as.ab() function will now throw a note if more than 1 antimicrobial drug could be retrieved from a single input value.
-
-
Fixed a bug where eucast_rules() would not work on a tibble when the tibble or dplyr package was loaded
-
Fixed a bug for CLSI 2019 guidelines (using as.rsi()), that also included results for animals. It now only contains interpretation guidelines for humans.
-
All *_join_microorganisms() functions and bug_drug_combinations() now return the original data class (e.g. tibbles and data.tables)
Changed the summary for class <rsi>, to highlight the %SI vs. %R
-
Improved error handling, giving more useful info when functions return an error
-
Any progress bar will now only show in interactive mode (i.e. not in R Markdown)
-
Speed improvement for mdro() and filter_ab_class()
-
New option arrows_textangled for ggplot_pca() to indicate whether the text at the end of the arrows should be angled (defaults to TRUE, as it was in previous versions)
-
Added parenteral DDD to benzylpenicillin
-
Fixed a bug where as.mic() could not handle dots without a leading zero (like "<=.25)
-
-
-
Other
-
Moved primary location of this project from GitLab to GitHub, giving us native support for automated syntax checking without being dependent on external services such as AppVeyor and Travis CI.
-
-
-
-
AMR 1.2.0
CRAN release: 2020-05-28
-
-
Breaking
-
-
Removed code dependency on all other R packages, making this package fully independent of the development process of others. This is a major code change, but will probably not be noticeable by most users.
-
Making this package independent of especially the tidyverse (e.g. packages dplyr and tidyr) tremendously increases sustainability on the long term, since tidyverse functions change quite often. Good for users, but hard for package maintainers. Most of our functions are replaced with versions that only rely on base R, which keeps this package fully functional for many years to come, without requiring a lot of maintenance to keep up with other packages anymore. Another upside it that this package can now be used with all versions of R since R-3.0.0 (April 2013). Our package is being used in settings where the resources are very limited. Fewer dependencies on newer software is helpful for such settings.
Printing values of class mo or rsi in a tibble will no longer be in colour and printing rsi in a tibble will show the class <ord>, not <rsi> anymore. This is purely a visual effect.
-
All functions from the mo_* family (like mo_name() and mo_gramstain()) are noticeably slower when running on hundreds of thousands of rows.
-
For developers: classes mo and ab now both also inherit class character, to support any data transformation. This change invalidates code that checks for class length == 1.
-
-
-
-
Changed
-
Taxonomy:
-
Updated the taxonomy of microorganisms to May 2020, using the Catalogue of Life (CoL), the Global Biodiversity Information Facility (GBIF) and the List of Prokaryotic names with Standing in Nomenclature (LPSN, hosted by DSMZ since February 2020). Note: a taxonomic update may always impact determination of first isolates (using first_isolate()), since some bacterial names might be renamed to other genera or other (sub)species. This is expected behaviour.
-
Removed the Catalogue of Life IDs (like 776351), since they now work with a species ID (hexadecimal string)
-
-
EUCAST rules:
-
The eucast_rules() function no longer applies “other” rules at default that are made available by this package (like setting ampicillin = R when ampicillin + enzyme inhibitor = R). The default input value for rules is now c("breakpoints", "expert") instead of "all", but this can be changed by the user. To return to the old behaviour, set options(AMR.eucast_rules = "all").
-
Fixed a bug where checking antimicrobial results in the original data were not regarded as valid R/SI values
-
All “other” rules now apply for all drug combinations in the antibiotics data set these two rules:
-
A drug with enzyme inhibitor will be set to S if the drug without enzyme inhibitor is S
-
A drug without enzyme inhibitor will be set to R if the drug with enzyme inhibitor is R
-
-This works for all drug combinations, such as ampicillin/sulbactam, ceftazidime/avibactam, trimethoprim/sulfamethoxazole, etc.
-
Added official drug names to verbose output of eucast_rules()
-
-
-
Added function ab_url() to return the direct URL of an antimicrobial agent from the official WHO website
-
Improvements for algorithm in as.ab(), so that e.g. as.ab("ampi sul") and ab_name("ampi sul") work
-
Functions ab_atc() and ab_group() now return NA if no antimicrobial agent could be found
-
Small fix for some text input that could not be coerced as valid MIC values
-
Fix for interpretation of generic CLSI interpretation rules (thanks to Anthony Underwood)
-
Fix for set_mo_source() to make sure that column mo will always be the second column
-
Added abbreviation “cfsc” for Cefoxitin and “cfav” for Ceftazidime/avibactam
-
-
-
Other
-
Removed previously deprecated function p.symbol() - it was replaced with p_symbol()
-
-
Removed function read.4d(), that was only useful for reading data from an old test database.
-
-
-
-
AMR 1.1.0
CRAN release: 2020-04-15
-
-
New
-
Support for easy principal component analysis for AMR, using the new pca() function
-
Plotting biplots for principal component analysis using the new ggplot_pca() function
-
-
-
Changed
-
Improvements for the algorithm used by as.mo() (and consequently all mo_* functions, that use as.mo() internally):
-
Support for codes ending with SPE for species, like "ESCSPE" for Escherichia coli
-
-
Support for any encoding, which means that any language-specific character with accents can be used for input
-
Support for more arbitrary IDs used in laboratory information systems
-
Small fix for preventing viruses being treated as bacteria
-
Small fix for preventing contamination and lack of growth being treated as valid microorganisms
-
-
Support for all abbreviations of antibiotics and antimycotics used by the Netherlands National Institute for Public Health and the Environment (Rijksinstituut voor Volksgezondheid en Milieu; RIVM)
-
Added more abbreviations to the antibiotics data set
-
Reloaded original EUCAST master tables from 2019 (2020 was already available). This seems more reliable than the data we used from WHONET.
-
Added generic CLSI rules for R/SI interpretation using as.rsi() for years 2010-2019 (thanks to Anthony Underwood)
-
-
-
Other
-
Support for the upcoming dplyr version 1.0.0
-
More robust assigning for classes rsi and mic
-
-
-
-
-
AMR 1.0.1
CRAN release: 2020-02-23
-
-
Changed
-
Fixed important floating point error for some MIC comparisons in EUCAST 2020 guideline
-
-
Interpretation from MIC values (and disk zones) to R/SI can now be used with mutate_at() of the dplyr package:
-
-
-yourdata%>%
-mutate_at(vars(antibiotic1:antibiotic25), as.rsi, mo ="E. coli")
-
-yourdata%>%
-mutate_at(vars(antibiotic1:antibiotic25), as.rsi, mo =.$mybacteria)
-
-
Added antibiotic abbreviations for a laboratory manufacturer (GLIMS) for cefuroxime, cefotaxime, ceftazidime, cefepime, cefoxitin and trimethoprim/sulfamethoxazole
-
Added uti (as abbreviation of urinary tract infections) as argument to as.rsi(), so interpretation of MIC values and disk zones can be made dependent on isolates specifically from UTIs
The repository of this package now contains a clean version of the EUCAST and CLSI guidelines from 2011-2020 to translate MIC and disk diffusion values to R/SI: https://github.com/msberends/AMR/blob/main/data-raw/rsi_translation.txt. This allows for machine reading these guidelines, which is almost impossible with the Excel and PDF files distributed by EUCAST and CLSI. This file used to process the EUCAST Clinical Breakpoints Excel file can be found here.
-
Support for LOINC and SNOMED codes
-
-
Support for LOINC codes in the antibiotics data set. Use ab_loinc() to retrieve LOINC codes, or use a LOINC code for input in any ab_* function:
Support for SNOMED CT codes in the microorganisms data set. Use mo_snomed() to retrieve SNOMED codes, or use a SNOMED code for input in any mo_* function:
The as.mo() function previously wrote to the package folder to improve calculation speed for previously calculated results. This is no longer the case, to comply with CRAN policies. Consequently, the function clear_mo_history() was removed.
-
Bugfix for some WHONET microorganism codes that were not interpreted correctly when using as.rsi()
-
-
Improvements for the algorithm used by as.mo() (and consequently all mo_* functions, that use as.mo() internally):
-
Support for missing spaces, e.g. in as.mo("Methicillin-resistant S.aureus")
-
-
Better support for determination of Salmonella biovars
-
Speed improvements, especially for the G. species format (G for genus), like E. coli and K pneumoniae
-
-
Support for more common codes used in laboratory information systems
-
-
Input values for as.disk() limited to a maximum of 50 millimeters
-
Added a lifecycle state to every function, following the lifecycle circle of the tidyverse
-
-
For in as.ab(): support for drugs starting with “co-” like co-amoxiclav, co-trimoxazole, co-trimazine and co-trimazole (thanks to Peter Dutey)
-
Changes to the antibiotics data set (thanks to Peter Dutey):
-
Added more synonyms to colistin, imipenem and piperacillin/tazobactam
Moved synonyms Bactrimel and Cotrimazole from sulfamethoxazole (SMX) to trimethoprim/sulfamethoxazole (SXT)
-
-
-
-
Other
-
Add a CITATION file
-
Full support for the upcoming R 4.0
-
Removed unnecessary AMR:: calls
-
-
-
-
AMR 0.9.0
CRAN release: 2019-11-29
-
-
Breaking
-
Adopted Adeolu et al. (2016), PMID 27620848 for the microorganisms data set, which means that the new order Enterobacterales now consists of a part of the existing family Enterobacteriaceae, but that this family has been split into other families as well (like Morganellaceae and Yersiniaceae). Although published in 2016, this information is not yet in the Catalogue of Life version of 2019. All MDRO determinations with mdro() will now use the Enterobacterales order for all guidelines before 2016 that were dependent on the Enterobacteriaceae family.
-
-
If you were dependent on the old Enterobacteriaceae family e.g. by using in your code:
Support for a new MDRO guideline: 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).
-
This is now the new default guideline for the mdro() function
-
The new Verbose mode (mdro(...., verbose = TRUE)) returns an informative data set where the reason for MDRO determination is given for every isolate, and an list of the resistant antimicrobial agents
-
-
Data set antivirals, containing all entries from the ATC J05 group with their DDDs for oral and parenteral treatment
-
-as.mo(c("Stafylococcus aureus",
-"staphylokok aureuz"))
-#> Warning:
-#> Results of two values were guessed with uncertainty. Use mo_uncertainties() to review them.
-#> Class 'mo'
-#> [1] B_STPHY_AURS B_STPHY_AURS
-
-mo_uncertainties()
-#> "Stafylococcus aureus" -> Staphylococcus aureus (B_STPHY_AURS, score: 95.2%)
-#> "staphylokok aureuz" -> Staphylococcus aureus (B_STPHY_AURS, score: 85.7%)
-
-
-
Removed previously deprecated function as.atc() - this function was replaced by ab_atc()
-
-
Renamed all portion_* functions to proportion_*. All portion_* functions are still available as deprecated functions, and will return a warning when used.
-
When running as.rsi() over a data set, it will now print the guideline that will be used if it is not specified by the user
Fix where Stenotrophomonas maltophilia would always become ceftazidime R (following EUCAST v3.1)
-
Fix where Leuconostoc and Pediococcus would not always become glycopeptides R
-
non-EUCAST rules in eucast_rules() are now applied first and not as last anymore. This is to improve the dependency on certain antibiotics for the official EUCAST rules. Please see ?eucast_rules.
-
-
Fix for interpreting MIC values with as.rsi() where the input is NA
-
-
Added “imi” and “imp” as allowed abbreviation for Imipenem (IPM)
-
Fix for automatically determining columns with antibiotic results in mdro() and eucast_rules()
-
-
Added ATC codes for ceftaroline, ceftobiprole and faropenem and fixed two typos in the antibiotics data set
-
More robust way of determining valid MIC values
-
Small changed to the example_isolates data set to better reflect reality
-
Added more microorganisms codes from laboratory systems (esp. species of Pseudescherichia and Rodentibacter)
Rewrote the complete documentation to markdown format, to be able to use the very latest version of the great Roxygen2, released in November 2019. This tremously improved the documentation quality, since the rewrite forced us to go over all texts again and make changes where needed.
-
Change dependency on clean to cleaner, as this package was renamed accordingly upon CRAN request
-
Added Dr. Sofia Ny as contributor
-
-
-
-
AMR 0.8.0
CRAN release: 2019-10-15
-
-
Breaking
-
-
Determination of first isolates now excludes all ‘unknown’ microorganisms at default, i.e. microbial code "UNKNOWN". They can be included with the new argument include_unknown:
For WHONET users, this means that all records/isolates with organism code "con" (contamination) will be excluded at default, since as.mo("con") = "UNKNOWN". The function always shows a note with the number of ‘unknown’ microorganisms that were included or excluded.
-
-
-
For code consistency, classes ab and mo will now be preserved in any subsetting or assignment. For the sake of data integrity, this means that invalid assignments will now result in NA:
-
-
-# how it works in base R:
-x<-factor("A")
-x[1]<-"B"
-#> Warning message:
-#> invalid factor level, NA generated
-
-# how it now works similarly for classes 'mo' and 'ab':
-x<-as.mo("E. coli")
-x[1]<-"testvalue"
-#> Warning message:
-#> invalid microorganism code, NA generated
-
This is important, because a value like "testvalue" could never be understood by e.g. mo_name(), although the class would suggest a valid microbial code.
-
-
Function freq() has moved to a new package, clean (CRAN link), since creating frequency tables actually does not fit the scope of this package. The freq() function still works, since it is re-exported from the clean package (which will be installed automatically upon updating this AMR package).
-
Renamed data set septic_patients to example_isolates
-
-
-
New
-
-
Function bug_drug_combinations() to quickly get a data.frame with the results of all bug-drug combinations in a data set. The column containing microorganism codes is guessed automatically and its input is transformed with mo_shortname() at default:
-
-
-x<-bug_drug_combinations(example_isolates)
-#> NOTE: Using column `mo` as input for `col_mo`.
-x[1:4, ]
-#> mo ab S I R total
-#> 1 A. baumannii AMC 0 0 3 3
-#> 2 A. baumannii AMK 0 0 0 0
-#> 3 A. baumannii AMP 0 0 3 3
-#> 4 A. baumannii AMX 0 0 3 3
-#> NOTE: Use 'format()' on this result to get a publicable/printable format.
-
-# change the transformation with the FUN argument to anything you like:
-x<-bug_drug_combinations(example_isolates, FUN =mo_gramstain)
-#> NOTE: Using column `mo` as input for `col_mo`.
-x[1:4, ]
-#> mo ab S I R total
-#> 1 Gram-negative AMC 469 89 174 732
-#> 2 Gram-negative AMK 251 0 2 253
-#> 3 Gram-negative AMP 227 0 405 632
-#> 4 Gram-negative AMX 227 0 405 632
-#> NOTE: Use 'format()' on this result to get a publicable/printable format.
-
You can format this to a printable format, ready for reporting or exporting to e.g. Excel with the base R format() function:
Additional way to calculate co-resistance, i.e. when using multiple antimicrobials as input for portion_* functions or count_* functions. This can be used to determine the empiric susceptibility of a combination therapy. A new argument only_all_tested (which defaults to FALSE) replaces the old also_single_tested and can be used to select one of the two methods to count isolates and calculate portions. The difference can be seen in this example table (which is also on the portion and count help pages), where the %SI is being determined:
-
-
-# --------------------------------------------------------------------
-# only_all_tested = FALSE only_all_tested = TRUE
-# ----------------------- -----------------------
-# Drug A Drug B include as include as include as include as
-# numerator denominator numerator denominator
-# -------- -------- ---------- ----------- ---------- -----------
-# 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> - - - -
-# --------------------------------------------------------------------
-
Since this is a major change, usage of the old also_single_tested will throw an informative error that it has been replaced by only_all_tested.
-
-
-
tibble printing support for classes rsi, mic, disk, abmo. When using tibbles containing antimicrobial columns, values S will print in green, values I will print in yellow and values R will print in red. Microbial IDs (class mo) will emphasise on the genus and species, not on the kingdom.
-
-
-# (run this on your own console, as this page does not support colour printing)
-library(dplyr)
-example_isolates%>%
-select(mo:AMC)%>%
-as_tibble()
-
-
-
-
Changed
-
Many algorithm improvements for as.mo() (of which some led to additions to the microorganisms data set). Many thanks to all contributors that helped improving the algorithms.
-
Self-learning algorithm - the function now gains experience from previously determined microorganism IDs and learns from it (yielding 80-95% speed improvement for any guess after the first try)
-
Big improvement for misspelled input
-
These new trivial names known to the field are now understood: meningococcus, gonococcus, pneumococcus
-
Updated to the latest taxonomic data (updated to August 2019, from the International Journal of Systematic and Evolutionary Microbiology
-
Added support for Viridans Group Streptococci (VGS) and Milleri Group Streptococci (MGS)
-
Added support for Blastocystis
-
-
Added support for 5,000 new fungi
-
Added support for unknown yeasts and fungi
-
Changed most microorganism IDs to improve readability. For example, the old code B_ENTRC_FAE could have been both E. faecalis and E. faecium. Its new code is B_ENTRC_FCLS and E. faecium has become B_ENTRC_FACM. Also, the Latin character ae is now preserved at the start of each genus and species abbreviation. For example, the old code for Aerococcus urinae was B_ARCCC_NAE. This is now B_AERCC_URIN. IMPORTANT: Old microorganism IDs are still supported, but support will be dropped in a future version. Use as.mo() on your old codes to transform them to the new format. Using functions from the mo_* family (like mo_name() and mo_gramstain()) on old codes, will throw a warning.
-
-
More intelligent guessing for as.ab(), including bidirectional language support
-
Added support for the German national guideline (3MRGN/4MRGN) in the mdro() function, to determine multi-drug resistant organisms
Added Prof. Dr. Casper Albers as doctoral advisor and added Dr. Judith Fonville, Eric Hazenberg, Dr. Bart Meijer, Dr. Dennis Souverein and Annick Lenglet as contributors
-
Cleaned the coding style of every single syntax line in this package with the help of the lintr package
-
-
-
-
-
AMR 0.7.1
CRAN release: 2019-06-23
-
-
New
-
-
Function rsi_df() to transform a data.frame to a data set containing only the microbial interpretation (S, I, R), the antibiotic, the percentage of S/I/R and the number of available isolates. This is a convenient combination of the existing functions count_df() and portion_df() to immediately show resistance percentages and number of available isolates:
-
-
-septic_patients%>%
-select(AMX, CIP)%>%
-rsi_df()
-# antibiotic interpretation value isolates
-# 1 Amoxicillin SI 0.4442636 546
-# 2 Amoxicillin R 0.5557364 683
-# 3 Ciprofloxacin SI 0.8381831 1181
-# 4 Ciprofloxacin R 0.1618169 228
-
-
-
Support for all scientifically published pathotypes of E. coli to date (that we could find). Supported are:
Function mo_info() as an analogy to ab_info(). The mo_info() prints a list with the full taxonomy, authors, and the URL to the online database of a microorganism
-
Function mo_synonyms() to get all previously accepted taxonomic names of a microorganism
-
-
-
Changed
-
Column names of output count_df() and portion_df() are now lowercase
-
Fixed bug in translation of microorganism names
-
Fixed bug in determining taxonomic kingdoms
-
Algorithm improvements for as.ab() and as.mo() to understand even more severely misspelled input
-
Function as.ab() now allows spaces for coercing antibiotics names
-
Added ggplot2 methods for automatically determining the scale type of classes mo and ab
-
-
Added names of object in the header in frequency tables, even when using pipes
-
Prevented "bacteria" from getting coerced by as.ab() because Bacterial is a brand name of trimethoprim (TMP)
-
Fixed a bug where setting an antibiotic would not work for eucast_rules() and mdro()
-
-
Fixed a EUCAST rule for Staphylococci, where amikacin resistance would not be inferred from tobramycin
-
Removed latest_annual_release from the catalogue_of_life_version() function
-
Removed antibiotic code PVM1 from the antibiotics data set as this was a duplicate of PME
-
-
Fixed bug where not all old taxonomic names would be printed, when using a vector as input for as.mo()
-
-
Manually added Trichomonas vaginalis from the kingdom of Protozoa, which is missing from the Catalogue of Life
-
Small improvements to plot() and barplot() for MIC and RSI classes
-
Allow Catalogue of Life IDs to be coerced by as.mo()
-
-
-
-
Other
-
Fixed a note thrown by CRAN tests
-
-
-
-
AMR 0.7.0
CRAN release: 2019-06-03
-
-
New
-
Support for translation of disk diffusion and MIC values to RSI values (i.e. antimicrobial interpretations). Supported guidelines are EUCAST (2011 to 2019) and CLSI (2011 to 2019). Use as.rsi() on an MIC value (created with as.mic()), a disk diffusion value (created with the new as.disk()) or on a complete date set containing columns with MIC or disk diffusion values.
Added guidelines of the WHO to determine multi-drug resistance (MDR) for TB (mdr_tb()) and added a new vignette about MDR. Read this tutorial here on our website.
-
-
-
Changed
-
Fixed a critical bug in first_isolate() where missing species would lead to incorrect FALSEs. This bug was not present in AMR v0.5.0, but was in v0.6.0 and v0.6.1.
-
Fixed a bug in eucast_rules() where antibiotics from WHONET software would not be recognised
-
Completely reworked the antibiotics data set:
-
All entries now have 3 different identifiers:
-
Column ab contains a human readable EARS-Net code, used by ECDC and WHO/WHONET - this is the primary identifier used in this package
-
Column atc contains the ATC code, used by WHO/WHOCC
-
Column cid contains the CID code (Compound ID), used by PubChem
-
-
Based on the Compound ID, almost 5,000 official brand names have been added from many different countries
-
All references to antibiotics in our package now use EARS-Net codes, like AMX for amoxicillin
-
Functions atc_certe, ab_umcg and atc_trivial_nl have been removed
-
All atc_* functions are superseded by ab_* functions
-
All output will be translated by using an included translation file which can be viewed here
-
-
-
Improvements to plotting AMR results with ggplot_rsi():
-
New argument colours to set the bar colours
-
New arguments title, subtitle, caption, x.title and y.title to set titles and axis descriptions
-
-
Improved intelligence of looking up antibiotic columns in a data set using guess_ab_col()
-
-
Added ~5,000 more old taxonomic names to the microorganisms.old data set, which leads to better results finding when using the as.mo() function
-
This package now honours the new EUCAST insight (2019) that S and I are but classified as susceptible, where I is defined as ‘increased exposure’ and not ‘intermediate’ anymore. For functions like portion_df() and count_df() this means that their new argument combine_SI is TRUE at default. Our plotting function ggplot_rsi() also reflects this change since it uses count_df() internally.
-
The age() function gained a new argument exact to determine ages with decimals
Contains the complete manual of this package and all of its functions with an explanation of their arguments
-
Contains a comprehensive tutorial about how to conduct AMR data analysis, import data from WHONET or SPSS and many more.
-
-
New
-
BREAKING: removed deprecated functions, arguments and references to ‘bactid’. Use as.mo() to identify an MO code.
-
-
Catalogue of Life as a new taxonomic source for data about microorganisms, which also contains all ITIS data we used previously. The microorganisms data set now contains:
-
All ~55,000 (sub)species from the kingdoms of Archaea, Bacteria and Protozoa
-
All ~3,000 (sub)species from these orders of the kingdom of Fungi: Eurotiales, Onygenales, Pneumocystales, Saccharomycetales and Schizosaccharomycetales (covering at least like all species of Aspergillus, Candida, Pneumocystis, Saccharomyces and Trichophyton)
-
All ~2,000 (sub)species from ~100 other relevant genera, from the kingdoms of Animalia and Plantae (like Strongyloides and Taenia)
-
All ~15,000 previously accepted names of included (sub)species that have been taxonomically renamed
-
-
The responsible author(s) and year of scientific publication
-
This data is updated annually - check the included version with the new function catalogue_of_life_version().
-
-
Due to this change, some mo codes changed (e.g. Streptococcus changed from B_STRPTC to B_STRPT). A translation table is used internally to support older microorganism IDs, so users will not notice this difference.
-
New function mo_rank() for the taxonomic rank (genus, species, infraspecies, etc.)
-
New function mo_url() to get the direct URL of a species from the Catalogue of Life
-
-
-
Support for data from WHONET and EARS-Net (European Antimicrobial Resistance Surveillance Network):
-
Exported files from WHONET can be read and used in this package. For functions like first_isolate() and eucast_rules(), all arguments will be filled in automatically.
-
This package now knows all antibiotic abbrevations by EARS-Net (which are also being used by WHONET) - the antibiotics data set now contains a column ears_net.
-
The function as.mo() now knows all WHONET species abbreviations too, because almost 2,000 microbial abbreviations were added to the microorganisms.codes data set.
-
-
-
New filters for antimicrobial classes. Use these functions to filter isolates on results in one of more antibiotics from a specific class:
The antibiotics data set will be searched, after which the input data will be checked for column names with a value in any abbreviations, codes or official names found in the antibiotics data set. For example:
-
-
-septic_patients%>%filter_glycopeptides(result ="R")
-# Filtering on glycopeptide antibacterials: any of `vanc` or `teic` is R
-septic_patients%>%filter_glycopeptides(result ="R", scope ="all")
-# Filtering on glycopeptide antibacterials: all of `vanc` and `teic` is R
-
-
-
All ab_* functions are deprecated and replaced by atc_* functions:
These functions use as.atc() internally. The old atc_property has been renamed atc_online_property(). This is done for two reasons: firstly, not all ATC codes are of antibiotics (ab) but can also be of antivirals or antifungals. Secondly, the input must have class atc or must be coerable to this class. Properties of these classes should start with the same class name, analogous to as.mo() and e.g. mo_genus.
New function guess_ab_col() to find an antibiotic column in a table
-
New function mo_failures() to review values that could not be coerced to a valid MO code, using as.mo(). This latter function will now only show a maximum of 10 uncoerced values and will refer to mo_failures().
-
New function mo_uncertainties() to review values that could be coerced to a valid MO code using as.mo(), but with uncertainty.
-
New function mo_renamed() to get a list of all returned values from as.mo() that have had taxonomic renaming
-
New function age() to calculate the (patients) age in years
-
New function age_groups() to split ages into custom or predefined groups (like children or elderly). This allows for easier demographic AMR data analysis per age group.
New function availability() to check the number of available (non-empty) results in a data.frame
-
New vignettes about how to conduct AMR analysis, predict antimicrobial resistance, use the G-test and more. These are also available (and even easier readable) on our website: https://msberends.gitlab.io/AMR.
Updated EUCAST Clinical breakpoints to version 9.0 of 1 January 2019, the data set septic_patients now reflects these changes
-
Fixed a critical bug where some rules that depend on previous applied rules would not be applied adequately
-
Emphasised in manual that penicillin is meant as benzylpenicillin (ATC J01CE01)
-
New info is returned when running this function, stating exactly what has been changed or added. Use eucast_rules(..., verbose = TRUE) to get a data set with all changed per bug and drug combination.
-
-
Removed data sets microorganisms.oldDT, microorganisms.prevDT, microorganisms.unprevDT and microorganismsDT since they were no longer needed and only contained info already available in the microorganisms data set
Removed columns atc_group1_nl and atc_group2_nl from the antibiotics data set
-
Functions atc_ddd() and atc_groups() have been renamed atc_online_ddd() and atc_online_groups(). The old functions are deprecated and will be removed in a future version.
-
Function guess_mo() is now deprecated in favour of as.mo() and will be removed in future versions
-
Function guess_atc() is now deprecated in favour of as.atc() and will be removed in future versions
Uncertainty of the algorithm is now divided into four levels, 0 to 3, where the default allow_uncertain = TRUE is equal to uncertainty level 2. Run ?as.mo for more info about these levels.
Using as.mo(..., allow_uncertain = 3) could lead to very unreliable results.
-
-
Implemented the latest publication of Becker et al. (2019), for categorising coagulase-negative Staphylococci
-
All microbial IDs that found are now saved to a local file ~/.Rhistory_mo. Use the new function clean_mo_history() to delete this file, which resets the algorithms.
-
Incoercible results will now be considered ‘unknown’, MO code UNKNOWN. On foreign systems, properties of these will be translated to all languages already previously supported: German, Dutch, French, Italian, Spanish and Portuguese.
-
Fix for vector containing only empty values
-
Finds better results when input is in other languages
-
Better handling for subspecies
-
Better handling for Salmonellae, especially the ‘city like’ serovars like Salmonella London
-
Understanding of highly virulent E. coli strains like EIEC, EPEC and STEC
-
There will be looked for uncertain results at default - these results will be returned with an informative warning
-
Manual (help page) now contains more info about the algorithms
-
Progress bar will be shown when it takes more than 3 seconds to get results
-
Support for formatted console text
-
Console will return the percentage of uncoercable input
Fixed a bug where distances between dates would not be calculated right - in the septic_patients data set this yielded a difference of 0.15% more isolates
-
Will now use a column named like “patid” for the patient ID (argument col_patientid), when this argument was left blank
-
Will now use a column named like “key(…)ab” or “key(…)antibiotics” for the key antibiotics (argument col_keyantibiotics()), when this argument was left blank
-
Removed argument output_logical, the function will now always return a logical value
-
Renamed argument filter_specimen to specimen_group, although using filter_specimen will still work
-
-
A note to the manual pages of the portion functions, that low counts can influence the outcome and that the portion functions may camouflage this, since they only return the portion (albeit being dependent on the minimum argument)
-
Merged data sets microorganisms.certe and microorganisms.umcg into microorganisms.codes
-
Support for tidyverse quasiquotation! Now you can create frequency tables of function outcomes:
-
-
-# Determine genus of microorganisms (mo) in `septic_patients` data set:
-# OLD WAY
-septic_patients%>%
-mutate(genus =mo_genus(mo))%>%
-freq(genus)
-# NEW WAY
-septic_patients%>%
-freq(mo_genus(mo))
-
-# Even supports grouping variables:
-septic_patients%>%
-group_by(gender)%>%
-freq(mo_genus(mo))
-
-
Header info is now available as a list, with the header function
-
The argument header is now set to TRUE at default, even for markdown
-
Added header info for class mo to show unique count of families, genera and species
-
Now honours the decimal.mark setting, which just like format defaults to getOption("OutDec")
-
The new big.mark argument will at default be "," when decimal.mark = "." and "." otherwise
-
Fix for header text where all observations are NA
-
New argument droplevels to exclude empty factor levels when input is a factor
-
Factor levels will be in header when present in input data (maximum of 5)
Fix for as.mic() to support more values ending in (several) zeroes
-
if using different lengths of pattern and x in %like%, it will now return the call
-
-
-
Other
-
Updated licence text to emphasise GPL 2.0 and that this is an R package.
-
-
-
-
AMR 0.5.0
CRAN release: 2018-11-30
-
-
New
-
Repository moved to GitLab
-
Function count_all to get all available isolates (that like all portion_* and count_* functions also supports summarise and group_by), the old n_rsi is now an alias of count_all
-
-
Function get_locale to determine language for language-dependent output for some mo_* functions. This is now the default value for their language argument, by which the system language will be used at default.
-
Data sets microorganismsDT, microorganisms.prevDT, microorganisms.unprevDT and microorganisms.oldDT to improve the speed of as.mo. They are for reference only, since they are primarily for internal use of as.mo.
-
Function read.4D to read from the 4D database of the MMB department of the UMCG
-
Functions mo_authors and mo_year to get specific values about the scientific reference of a taxonomic entry
-
-
-
Changed
-
Functions MDRO, BRMO, MRGN and EUCAST_exceptional_phenotypes were renamed to mdro, brmo, mrgn and eucast_exceptional_phenotypes
-
EUCAST_rules was renamed to eucast_rules, the old function still exists as a deprecated function
Added argument combine_IR (TRUE/FALSE) to functions portion_df and count_df, to indicate that all values of I and R must be merged into one, so the output only consists of S vs. IR (susceptible vs. non-susceptible)
-
Fix for portion_*(..., as_percent = TRUE) when minimal number of isolates would not be met
-
Added argument also_single_tested for portion_* and count_* functions to also include cases where not all antibiotics were tested but at least one of the tested antibiotics includes the target antimicribial interpretation, see ?portion
-
Using portion_* functions now throws a warning when total available isolate is below argument minimum
-
Functions as.mo, as.rsi, as.mic, as.atc and freq will not set package name as attribute anymore
Now prints in markdown at default in non-interactive sessions
-
No longer adds the factor level column and sorts factors on count again
-
Support for class difftime
-
New argument na, to choose which character to print for empty values
-
New argument header to turn the header info off (default when markdown = TRUE)
-
New argument title to manually setbthe title of the frequency table
-
-
first_isolate now tries to find columns to use as input when arguments are left blank
-
Improvements for MDRO algorithm (function mdro)
-
Data set septic_patients is now a data.frame, not a tibble anymore
-
Removed diacritics from all authors (columns microorganisms$ref and microorganisms.old$ref) to comply with CRAN policy to only allow ASCII characters
-
Fix for mo_property not working properly
-
Fix for eucast_rules where some Streptococci would become ceftazidime R in EUCAST rule 4.5
-
Support for named vectors of class mo, useful for top_freq()
-
ggplot_rsi and scale_y_percent have breaks argument
-
-
AI improvements for as.mo:
-
-"CRS" -> Stenotrophomonas maltophilia
-
-
-"CRSM" -> Stenotrophomonas maltophilia
-
-
-"MSSA" -> Staphylococcus aureus
-
-
-"MSSE" -> Staphylococcus epidermidis
-
-
-
Fix for join functions
-
Speed improvement for is.rsi.eligible, now 15-20 times faster
-
In g.test, when sum(x) is below 1000 or any of the expected values is below 5, Fisher’s Exact Test will be suggested
-
ab_name will try to fall back on as.atc when no results are found
-
Removed the addin to view data sets
-
Percentages will now will rounded more logically (e.g. in freq function)
-
-
-
Other
-
New dependency on package crayon, to support formatted text in the console
-
Dependency tidyr is now mandatory (went to Import field) since portion_df and count_df rely on it
-
Updated vignettes to comply with README
-
-
-
-
AMR 0.4.0
CRAN release: 2018-10-01
-
-
New
-
The data set microorganisms now contains all microbial taxonomic data from ITIS (kingdoms Bacteria, Fungi and Protozoa), the Integrated Taxonomy Information System, available via https://itis.gov. The data set now contains more than 18,000 microorganisms with all known bacteria, fungi and protozoa according ITIS with genus, species, subspecies, family, order, class, phylum and subkingdom. The new data set microorganisms.old contains all previously known taxonomic names from those kingdoms.
-
-
New functions based on the existing function mo_property:
They also come with support for German, Dutch, French, Italian, Spanish and Portuguese:
-
-
-mo_gramstain("E. coli")
-# [1] "Gram negative"
-mo_gramstain("E. coli", language ="de")# German
-# [1] "Gramnegativ"
-mo_gramstain("E. coli", language ="es")# Spanish
-# [1] "Gram negativo"
-mo_fullname("S. group A", language ="pt")# Portuguese
-# [1] "Streptococcus grupo A"
-
Furthermore, former taxonomic names will give a note about the current taxonomic name:
-
-
-mo_gramstain("Esc blattae")
-# Note: 'Escherichia blattae' (Burgess et al., 1973) was renamed 'Shimwellia blattae' (Priest and Barker, 2010)
-# [1] "Gram negative"
-
-
-
Functions count_R, count_IR, count_I, count_SI and count_S to selectively count resistant or susceptible isolates
-
Extra function count_df (which works like portion_df) to get all counts of S, I and R of a data set with antibiotic columns, with support for grouped variables
-
-
Function is.rsi.eligible to check for columns that have valid antimicrobial results, but do not have the rsi class yet. Transform the columns of your raw data with: data %>% mutate_if(is.rsi.eligible, as.rsi)
-
-
Functions as.mo and is.mo as replacements for as.bactid and is.bactid (since the microoganisms data set not only contains bacteria). These last two functions are deprecated and will be removed in a future release. The as.mo function determines microbial IDs using intelligent rules:
And with great speed too - on a quite regular Linux server from 2007 it takes us less than 0.02 seconds to transform 25,000 items:
-
-
-thousands_of_E_colis<-rep("E. coli", 25000)
-microbenchmark::microbenchmark(as.mo(thousands_of_E_colis), unit ="s")
-# Unit: seconds
-# min median max neval
-# 0.01817717 0.01843957 0.03878077 100
-
-
Added argument reference_df for as.mo, so users can supply their own microbial IDs, name or codes as a reference table
-
-
Renamed all previous references to bactid to mo, like:
-
Column names inputs of EUCAST_rules, first_isolate and key_antibiotics
-
-
Column names of datasets microorganisms and septic_patients
-
-
All old syntaxes will still work with this version, but will throw warnings
-
-
Function labels_rsi_count to print datalabels on a RSI ggplot2 model
-
Functions as.atc and is.atc to transform/look up antibiotic ATC codes as defined by the WHO. The existing function guess_atc is now an alias of as.atc.
-
Function ab_property and its aliases: ab_name, ab_tradenames, ab_certe, ab_umcg and ab_trivial_nl
-
Introduction to AMR as a vignette
-
Removed clipboard functions as it violated the CRAN policy
-
Renamed septic_patients$sex to septic_patients$gender
-
-
-
Changed
-
Added three antimicrobial agents to the antibiotics data set: Terbinafine (D01BA02), Rifaximin (A07AA11) and Isoconazole (D01AC05)
-
-
Added 163 trade names to the antibiotics data set, it now contains 298 different trade names in total, e.g.:
For first_isolate, rows will be ignored when there’s no species available
-
Function ratio is now deprecated and will be removed in a future release, as it is not really the scope of this package
-
Fix for as.mic for values ending in zeroes after a real number
-
Small fix where B. fragilis would not be found in the microorganisms.umcg data set
-
Added prevalence column to the microorganisms data set
-
Added arguments minimum and as_percent to portion_df
-
-
Support for quasiquotation in the functions series count_* and portions_*, and n_rsi. This allows to check for more than 2 vectors or columns.
-
-
-septic_patients%>%select(amox, cipr)%>%count_IR()
-# which is the same as:
-septic_patients%>%count_IR(amox, cipr)
-
-septic_patients%>%portion_S(amcl)
-septic_patients%>%portion_S(amcl, gent)
-septic_patients%>%portion_S(amcl, gent, pita)
-
-
Edited ggplot_rsi and geom_rsi so they can cope with count_df. The new fun argument has value portion_df at default, but can be set to count_df.
-
Fix for ggplot_rsi when the ggplot2 package was not loaded
-
Added datalabels function labels_rsi_count to ggplot_rsi
-
Added possibility to set any argument to geom_rsi (and ggplot_rsi) so you can set your own preferences
-
Fix for joins, where predefined suffices would not be honoured
-
Added argument quote to the freq function
-
Added generic function diff for frequency tables
-
Added longest en shortest character length in the frequency table (freq) header of class character
-
-
Support for types (classes) list and matrix for freq
More unit tests to ensure better integrity of functions
-
-
-
-
AMR 0.3.0
CRAN release: 2018-08-14
-
-
New
-
-BREAKING: rsi_df was removed in favour of new functions portion_R, portion_IR, portion_I, portion_SI and portion_S to selectively calculate resistance or susceptibility. These functions are 20 to 30 times faster than the old rsi function. The old function still works, but is deprecated.
-
New function portion_df to get all portions of S, I and R of a data set with antibiotic columns, with support for grouped variables
-
-
-BREAKING: the methodology for determining first weighted isolates was changed. The antibiotics that are compared between isolates (call key antibiotics) to include more first isolates (afterwards called first weighted isolates) are now as follows:
-
New functions as.bactid and is.bactid to transform/ look up microbial ID’s.
-
The existing function guess_bactid is now an alias of as.bactid
-
-
New Becker classification for Staphylococcus to categorise them into Coagulase Negative Staphylococci (CoNS) and Coagulase Positve Staphylococci (CoPS)
-
New Lancefield classification for Streptococcus to categorise them into Lancefield groups
-
-
For convience, new descriptive statistical functions kurtosis and skewness that are lacking in base R - they are generic functions and have support for vectors, data.frames and matrices
-
Function g.test to perform the X2 distributed G-test, which use is the same as chisq.test
-
-
-Function ratio to transform a vector of values to a preset ratio
-
For example: ratio(c(10, 500, 10), ratio = "1:2:1") would return 130, 260, 130
-
-
Support for Addins menu in RStudio to quickly insert %in% or %like% (and give them keyboard shortcuts), or to view the datasets that come with this package
-
Function p.symbol to transform p values to their related symbols: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
-
-
Functions clipboard_import and clipboard_export as helper functions to quickly copy and paste from/to software like Excel and SPSS. These functions use the clipr package, but are a little altered to also support headless Linux servers (so you can use it in RStudio Server)
-
New for frequency tables (function freq):
-
A vignette to explain its usage
-
Support for rsi (antimicrobial resistance) to use as input
-
Support for table to use as input: freq(table(x, y))
-
-
Support for existing functions hist and plot to use a frequency table as input: hist(freq(df$age))
-
-
Support for as.vector, as.data.frame, as_tibble and format
-
-
Support for quasiquotation: freq(mydata, mycolumn) is the same as mydata %>% freq(mycolumn)
-
-
Function top_freq function to return the top/below n items as vector
-
Header of frequency tables now also show Mean Absolute Deviaton (MAD) and Interquartile Range (IQR)
-
Possibility to globally set the default for the amount of items to print, with options(max.print.freq = n) where n is your preset value
-
-
-
-
Changed
-
Improvements for forecasting with resistance_predict and added more examples
-
More antibiotics added as arguments for EUCAST rules
-
Updated version of the septic_patients data set to better reflect the reality
-
Pretty printing for tibbles removed as it is not really the scope of this package
-
Printing of mic and rsi classes now returns all values - use freq to check distributions
-
Improved speed of key antibiotics comparison for determining first isolates
-
Column names for the key_antibiotics function are now generic: 6 for broadspectrum ABs, 6 for Gram-positive specific and 6 for Gram-negative specific ABs
-
Speed improvement for the abname function
-
-%like% now supports multiple patterns
-
Frequency tables are now actual data.frames with altered console printing to make it look like a frequency table. Because of this, the argument toConsole is not longer needed.
-
Fix for freq where the class of an item would be lost
-
Small translational improvements to the septic_patients dataset and the column bactid now has the new class "bactid"
-
-
Small improvements to the microorganisms dataset (especially for Salmonella) and the column bactid now has the new class "bactid"
-
-
Combined MIC/RSI values will now be coerced by the rsi and mic functions:
-
-as.rsi("<=0.002; S") will return S
-
-
-as.mic("<=0.002; S") will return <=0.002
-
-
-
Now possible to coerce MIC values with a space between operator and value, i.e. as.mic("<= 0.002") now works
-
Classes rsi and mic do not add the attribute package.version anymore
-
Added "groups" option for atc_property(..., property). It will return a vector of the ATC hierarchy as defined by the WHO. The new function atc_groups is a convenient wrapper around this.
-
Build-in host check for atc_property as it requires the host set by url to be responsive
-
Improved first_isolate algorithm to exclude isolates where bacteria ID or genus is unavailable
-
Fix for warning hybrid evaluation forced for row_number (924b62) from the dplyr package v0.7.5 and above
-
Support for empty values and for 1 or 2 columns as input for guess_bactid (now called as.bactid)
-
So yourdata %>% select(genus, species) %>% as.bactid() now also works
-
-
Other small fixes
-
-
-
Other
-
Added integration tests (check if everything works as expected) for all releases of R 3.1 and higher
-
-EUCAST_rules applies for amoxicillin even if ampicillin is missing
-
Edited column names to comply with GLIMS, the laboratory information system
-
Added more valid MIC values
-
Renamed ‘Daily Defined Dose’ to ‘Defined Daily Dose’
-
Added barplots for rsi and mic classes
-
-
-
AMR 0.1.0
CRAN release: 2018-02-22
-
First submission to CRAN.
-
diff --git a/pkgdown.yml b/pkgdown.yml
index fa16fca5..6d9b8dad 100644
--- a/pkgdown.yml
+++ b/pkgdown.yml
@@ -11,7 +11,7 @@ articles:
datasets: datasets.html
resistance_predict: resistance_predict.html
welcome_to_AMR: welcome_to_AMR.html
-last_built: 2022-11-12T11:14Z
+last_built: 2022-11-13T07:50Z
urls:
reference: https://msberends.github.io/AMR/reference
article: https://msberends.github.io/AMR/articles
diff --git a/reference/AMR-deprecated.html b/reference/AMR-deprecated.html
index f16b5ad6..186f6c69 100644
--- a/reference/AMR-deprecated.html
+++ b/reference/AMR-deprecated.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/AMR.html b/reference/AMR.html
index ac9632ed..a996fa7b 100644
--- a/reference/AMR.html
+++ b/reference/AMR.html
@@ -5,7 +5,7 @@ This work was published in the Journal of Statistical Software (Volume 104(3); d
) and formed the basis of two PhD theses (doi:10.33612/diss.177417131
and doi:10.33612/diss.192486375
).
-After installing this package, R knows ~49,000 distinct microbial species and all ~580 antibiotic, antimycotic and antiviral drugs by name and code (including ATC, EARS-NET, LOINC and SNOMED CT), and knows all about valid R/SI and MIC values. It supports any data format, including WHONET/EARS-Net data.
+After installing this package, R knows ~49,000 distinct microbial species and all ~600 antibiotic, antimycotic and antiviral drugs by name and code (including ATC, EARS-NET, LOINC and SNOMED CT), and knows all about valid R/SI and MIC values. It supports any data format, including WHONET/EARS-Net data.
This package is fully independent of any other R package and works on Windows, macOS and Linux with all versions of R since R-3.0.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, in collaboration with non-profit organisations Certe Medical Diagnostics and Advice and University Medical Center Groningen. This R package is actively maintained and free software; you can freely use and distribute it for both personal and commercial (but not patent) purposes under the terms of the GNU General Public License version 2.0 (GPL-2), as published by the Free Software Foundation.
This package can be used for:
Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the List of Prokaryotic names with Standing in Nomenclature (LPSN) and the Global Biodiversity Information Facility (GBIF)
@@ -31,7 +31,7 @@ This work was published in the Journal of Statistical Software (Volume 104(3); d
) and formed the basis of two PhD theses (doi:10.33612/diss.177417131
and doi:10.33612/diss.192486375
).
-After installing this package, R knows ~49,000 distinct microbial species and all ~580 antibiotic, antimycotic and antiviral drugs by name and code (including ATC, EARS-NET, LOINC and SNOMED CT), and knows all about valid R/SI and MIC values. It supports any data format, including WHONET/EARS-Net data.
+After installing this package, R knows ~49,000 distinct microbial species and all ~600 antibiotic, antimycotic and antiviral drugs by name and code (including ATC, EARS-NET, LOINC and SNOMED CT), and knows all about valid R/SI and MIC values. It supports any data format, including WHONET/EARS-Net data.
This package is fully independent of any other R package and works on Windows, macOS and Linux with all versions of R since R-3.0.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, in collaboration with non-profit organisations Certe Medical Diagnostics and Advice and University Medical Center Groningen. This R package is actively maintained and free software; you can freely use and distribute it for both personal and commercial (but not patent) purposes under the terms of the GNU General Public License version 2.0 (GPL-2), as published by the Free Software Foundation.
This package can be used for:
Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the List of Prokaryotic names with Standing in Nomenclature (LPSN) and the Global Biodiversity Information Facility (GBIF)
@@ -62,7 +62,7 @@ Principal component analysis for AMR
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -134,6 +134,11 @@ Principal component analysis for AMR
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
After installing this package, R knows ~49,000 distinct microbial species and all ~580 antibiotic, antimycotic and antiviral drugs by name and code (including ATC, EARS-NET, LOINC and SNOMED CT), and knows all about valid R/SI and MIC values. It supports any data format, including WHONET/EARS-Net data.
+
After installing this package, R knows ~49,000 distinct microbial species and all ~600 antibiotic, antimycotic and antiviral drugs by name and code (including ATC, EARS-NET, LOINC and SNOMED CT), and knows all about valid R/SI and MIC values. It supports any data format, including WHONET/EARS-Net data.
This package is fully independent of any other R package and works on Windows, macOS and Linux with all versions of R since R-3.0.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, in collaboration with non-profit organisations Certe Medical Diagnostics and Advice and University Medical Center Groningen. This R package is actively maintained and free software; you can freely use and distribute it for both personal and commercial (but not patent) purposes under the terms of the GNU General Public License version 2.0 (GPL-2), as published by the Free Software Foundation.
This package can be used for:
Reference for the taxonomy of microorganisms, since the package contains all microbial (sub)species from the List of Prokaryotic names with Standing in Nomenclature (LPSN) and the Global Biodiversity Information Facility (GBIF)
Interpreting raw MIC and disk diffusion values, based on any CLSI or EUCAST guideline from the last 10 years
diff --git a/reference/Rplot005.png b/reference/Rplot005.png
index eaad7e03..c1127f1a 100644
Binary files a/reference/Rplot005.png and b/reference/Rplot005.png differ
diff --git a/reference/Rplot006.png b/reference/Rplot006.png
index 4a7cf1d8..ab1ca9ec 100644
Binary files a/reference/Rplot006.png and b/reference/Rplot006.png differ
diff --git a/reference/Rplot007.png b/reference/Rplot007.png
index d168b7fc..cd54b6fc 100644
Binary files a/reference/Rplot007.png and b/reference/Rplot007.png differ
diff --git a/reference/Rplot008.png b/reference/Rplot008.png
index 9a78a790..4aa6b4d1 100644
Binary files a/reference/Rplot008.png and b/reference/Rplot008.png differ
diff --git a/reference/Rplot009.png b/reference/Rplot009.png
index dc09a1da..d44bfa52 100644
Binary files a/reference/Rplot009.png and b/reference/Rplot009.png differ
diff --git a/reference/WHOCC.html b/reference/WHOCC.html
index 3864cd37..844a82ea 100644
--- a/reference/WHOCC.html
+++ b/reference/WHOCC.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/WHONET.html b/reference/WHONET.html
index 091e9ed4..0bf4b77c 100644
--- a/reference/WHONET.html
+++ b/reference/WHONET.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/ab_from_text.html b/reference/ab_from_text.html
index 199af789..5399fc91 100644
--- a/reference/ab_from_text.html
+++ b/reference/ab_from_text.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -208,7 +213,7 @@
Examples
# 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 tds")
+ab_from_text("28/03/2020 regular amoxicilliin 500mg po tid")#> [[1]]#> Class 'ab'#> [1] AMX
diff --git a/reference/ab_property.html b/reference/ab_property.html
index d6b2cdb7..8c0dd4a7 100644
--- a/reference/ab_property.html
+++ b/reference/ab_property.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -249,13 +254,13 @@
Examples
# all properties:
-ab_name("AMX")# "Amoxicillin"
+ab_name("AMX")#> [1] "Amoxicillin"
-ab_atc("AMX")# "J01CA04" (ATC code from the WHO)
+ab_atc("AMX")#> [1] "J01CA04"
-ab_cid("AMX")# 33613 (Compound ID from PubChem)
+ab_cid("AMX")#> [1] 33613
-ab_synonyms("AMX")# a list with brand names of amoxicillin
+ab_synonyms("AMX")#> [1] "actimoxi" "amoclen" "amolin" #> [4] "amopen" "amopenixin" "amoxibiotic" #> [7] "amoxicaps" "amoxicilina" "amoxicillin"
@@ -275,7 +280,7 @@
#> [49] "robamox" "sawamox pm" "tolodina" #> [52] "topramoxin" "unicillin" "utimox" #> [55] "vetramox"
-ab_tradenames("AMX")# same
+ab_tradenames("AMX")#> [1] "actimoxi" "amoclen" "amolin" #> [4] "amopen" "amopenixin" "amoxibiotic" #> [7] "amoxicaps" "amoxicilina" "amoxicillin"
@@ -295,33 +300,30 @@
#> [49] "robamox" "sawamox pm" "tolodina" #> [52] "topramoxin" "unicillin" "utimox" #> [55] "vetramox"
-ab_group("AMX")# "Beta-lactams/penicillins"
+ab_group("AMX")#> [1] "Beta-lactams/penicillins"
-ab_atc_group1("AMX")# "Beta-lactam antibacterials, penicillins"
+ab_atc_group1("AMX")#> [1] "Beta-lactam antibacterials, penicillins"
-ab_atc_group2("AMX")# "Penicillins with extended spectrum"
+ab_atc_group2("AMX")#> [1] "Penicillins with extended spectrum"
-ab_url("AMX")# link to the official WHO page
+ab_url("AMX")#> Amoxicillin #> "https://www.whocc.no/atc_ddd_index/?code=J01CA04&showdescription=no" # smart lowercase tranformation
-ab_name(x =c("AMC", "PLB"))# "Amoxicillin/clavulanic acid" "Polymyxin B"
+ab_name(x =c("AMC", "PLB"))#> [1] "Amoxicillin/clavulanic acid" "Polymyxin B"
-ab_name(
- x =c("AMC", "PLB"),
- tolower =TRUE
-)# "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.5
+ab_ddd("AMX", "oral")#> [1] 1.5
-ab_ddd_units("AMX", "oral")# "g"
+ab_ddd_units("AMX", "oral")#> [1] "g"
-ab_ddd("AMX", "iv")# 3
+ab_ddd("AMX", "iv")#> [1] 3
-ab_ddd_units("AMX", "iv")# "g"
+ab_ddd_units("AMX", "iv")#> [1] "g"ab_info("AMX")# all properties as a list
@@ -390,17 +392,17 @@
#># all ab_* functions use as.ab() internally, so you can go from 'any' to 'any':
-ab_atc("AMP")# ATC code of AMP (ampicillin)
+ab_atc("AMP")#> [1] "J01CA01" "S01AA19"
-ab_group("J01CA01")# Drug group of ampicillins ATC code
+ab_group("J01CA01")#> [1] "Beta-lactams/penicillins"
-ab_loinc("ampicillin")# LOINC codes of ampicillin
+ab_loinc("ampicillin")#> [1] "21066-6" "3355-5" "33562-0" "33919-2" "43883-8" "43884-6" "87604-5"
-ab_name("21066-6")# "Ampicillin" (using LOINC)
+ab_name("21066-6")#> [1] "Ampicillin"
-ab_name(6249)# "Ampicillin" (using CID)
+ab_name(6249)#> [1] "Ampicillin"
-ab_name("J01CA01")# "Ampicillin" (using ATC)
+ab_name("J01CA01")#> [1] "Ampicillin"# spelling from different languages and dyslexia are no problem
diff --git a/reference/add_custom_antimicrobials.html b/reference/add_custom_antimicrobials.html
index abe92dfb..e51605ba 100644
--- a/reference/add_custom_antimicrobials.html
+++ b/reference/add_custom_antimicrobials.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/age.html b/reference/age.html
index 67887e57..8f2689cf 100644
--- a/reference/age.html
+++ b/reference/age.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
For the antivirals data set: a tibble with 102 observations and 9 variables:
+
For the antivirals data set: a tibble with 120 observations and 11 variables:
-
atc ATC codes (Anatomical Therapeutic Chemical) as defined by the WHOCC
-
cid Compound ID as found in PubChem
+
av Antibiotic 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 as used by WHONET/EARS-Net or the WHO
+
atc ATC codes (Anatomical Therapeutic Chemical) as defined by the WHOCC
+
cid Compound ID as found in PubChem
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 LOINC codes (Logical Observation Identifiers Names and Codes) associated with the name of the antimicrobial agent.
-
An object of class tbl_df (inherits from tbl, data.frame) with 102 rows and 9 columns.
+
An object of class tbl_df (inherits from tbl, data.frame) with 120 rows and 11 columns.
Source
@@ -229,20 +236,20 @@ This package contains all ~550 antibiotic, antimycotic and antiviral dru
#># iv_units <chr>, loinc <list>, and abbreviated variable names ¹atc_group1,#># ²atc_group2, ³abbreviations, ⁴synonyms, ⁵oral_dddantivirals
-#># A tibble: 102 × 9
-#> atc cid name atc_g…¹ synon…² oral_…³ oral_…⁴ iv_ddd iv_un…⁵
-#><chr><int><chr><chr><list><dbl><chr><dbl><chr>
-#> 1 J05AF06 441300 Abacavir Nucleo… <chr> 0.6 g NANA
-#> 2 J05AB01 135398513 Aciclovir Nucleo… <chr> 4 g 4 g
-#> 3 J05AF08 60871 Adefovir di… Nucleo… <chr> 10 mg NANA
-#> 4 J05AE05 65016 Amprenavir Protea… <chr> 1.2 g NANA
-#> 5 J05AP06 16076883 Asunaprevir Antivi… <chr> NANANANA
-#> 6 J05AE08 148192 Atazanavir Protea… <chr> 0.3 g NANA
-#> 7 J05AR15 86583336 Atazanavir … Antivi… <chr> NANANANA
-#> 8 J05AR23 NA Atazanavir … Antivi… <chr> 0.3 g NANA
-#> 9 J05AP03 10324367 Boceprevir Antivi… <chr> 2.4 g NANA
-#>10 J05AB15 446727 Brivudine Nucleo… <chr> 0.125 g NANA
-#># … with 92 more rows, and abbreviated variable names ¹atc_group, ²synonyms,
+#># A tibble: 120 × 11
+#> av name atc cid atc_g…¹ synon…² oral_…³ oral_…⁴ iv_ddd iv_un…⁵ loinc
+#><av><chr><chr><dbl><chr><list><dbl><chr><dbl><chr><lis>
+#> 1 ABA Abac… J05A… 4.41e5 Nucleo… <chr> 0.6 g NANA <chr>
+#> 2 ACI Acic… J05A… 1.35e8 Nucleo… <chr> 4 g 4 g <chr>
+#> 3 ADD Adef… J05A… 6.09e4 Nucleo… <chr> 10 mg NANA <chr>
+#> 4 AME Amen… J05A… 1.14e7 Other … <chr> 0.4 g NANA <chr>
+#> 5 AMP Ampr… J05A… 6.50e4 Protea… <chr> 1.2 g NANA <chr>
+#> 6 ASU Asun… J05A… 1.61e7 Antivi… <chr> 0.2 g NANA <chr>
+#> 7 ATA Ataz… J05A… 1.48e5 Protea… <chr> 0.3 g NANA <chr>
+#> 8 ATA+… Ataz… J05A… 8.66e7 Antivi… <chr> NANANANA <chr>
+#> 9 ATA+… Ataz… J05A… 2.51e7 Antivi… <chr> 0.3 g NANA <chr>
+#>10 BAM Balo… J05A… 1.24e8 Other … <chr> 40 mg NANA <chr>
+#># … with 110 more rows, and abbreviated variable names ¹atc_group, ²synonyms,#># ³oral_ddd, ⁴oral_units, ⁵iv_units
diff --git a/reference/as.ab.html b/reference/as.ab.html
index c887816f..35501075 100644
--- a/reference/as.ab.html
+++ b/reference/as.ab.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -254,9 +259,9 @@ This package contains all ~550 antibiotic, antimycotic and antiviral dru
# use ab_* functions to get a specific properties (see ?ab_property);# they use as.ab() internally:
-ab_name("J01FA01")# "Erythromycin"
+ab_name("J01FA01")#> [1] "Erythromycin"
-ab_name("eryt")# "Erythromycin"
+ab_name("eryt")#> [1] "Erythromycin"# \donttest{
diff --git a/reference/as.av.html b/reference/as.av.html
new file mode 100644
index 00000000..2f3efa4d
--- /dev/null
+++ b/reference/as.av.html
@@ -0,0 +1,277 @@
+
+Transform Input to an Antiviral Agent ID — as.av • AMR (for R)
+ Skip to contents
+
+
+
Use this function to determine the antiviral agent code of one or more antiviral agents. The data set antivirals will be searched for abbreviations, official names and synonyms (brand names).
+
+
+
+
Usage
+
as.av(x, flag_multiple_results =TRUE, info =interactive(), ...)
+
+is.av(x)
+
+
+
+
Arguments
+
x
+
a character vector to determine to antiviral agent ID
+
+
+
flag_multiple_results
+
a logical to indicate whether a note should be printed to the console that probably more than one antiviral agent code or name can be retrieved from a single input value.
+
+
+
info
+
a logical to indicate whether a progress bar should be printed, defaults to TRUE only in interactive mode
All entries in the antivirals 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_* functions to get properties based on the returned antiviral agent ID, see Examples.
+
Note: the as.av() and av_* functions may use very long regular expression to match brand names of antimicrobial agents. This may fail on some systems.
+This package contains all ~550 antibiotic, antimycotic and antiviral drugs and their Anatomical Therapeutic Chemical (ATC) codes, ATC groups and Defined Daily Dose (DDD) from the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC, https://www.whocc.no) and the Pharmaceuticals Community Register of the European Commission (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.
All data sets in this AMR package (about microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) are publicly and freely available for download in the following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, and Stata. We also provide tab-separated plain text files that are machine-readable and suitable for input in any software program, such as laboratory information systems. Please visit our website for the download links. The actual files are of course available on our GitHub repository.
av_from_text() for a function to retrieve antimicrobial drugs from clinical text (from health care records)
+
+
+
+
+
Examples
+
# 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"
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/as.disk.html b/reference/as.disk.html
index 8c9f7d2d..0e9bca45 100644
--- a/reference/as.disk.html
+++ b/reference/as.disk.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/as.mic.html b/reference/as.mic.html
index d7a8f795..e0484901 100644
--- a/reference/as.mic.html
+++ b/reference/as.mic.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/as.mo.html b/reference/as.mo.html
index 68b6aa48..583a37b5 100644
--- a/reference/as.mo.html
+++ b/reference/as.mo.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/as.rsi.html b/reference/as.rsi.html
index 9f522ee6..42c3dfcb 100644
--- a/reference/as.rsi.html
+++ b/reference/as.rsi.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
Use this function on e.g. clinical texts from health care records. It returns a list with all antiviral drugs, doses and forms of administration found in the texts.
type of property to search for, either "drug", "dose" or "administration", see Examples
+
+
+
collapse
+
a character to pass on to paste(, collapse = ...) to only return one character per element of text, see Examples
+
+
+
translate_av
+
if type = "drug": a column name of the antivirals data set to translate the antibiotic abbreviations to, using av_property(). Defaults to FALSE. Using TRUE is equal to using "name".
+
+
+
thorough_search
+
a logical 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 to indicate whether a progress bar should be printed, defaults to TRUE only in interactive mode
This function is also internally used by as.av(), 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() function may use very long regular expression to match brand names of antiviral agents. 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() internally, it will correct for misspelling.
+
With type = "dose" (or similar, like "dosing", "doses"), all text elements will be searched for numeric values that are higher than 100 and do not resemble years. The output will be numeric. 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. This can be convenient to use e.g. inside a mutate()): df %>% mutate(avx = av_from_text(clinical_text))
+
The returned AV codes can be transformed to official names, groups, etc. with all av_* functions such as av_name() and av_group(), or by using the translate_av argument.
+
With using collapse, this function will return a character: df %>% mutate(avx = av_from_text(clinical_text, collapse = "|"))
+
+
+
+
+
+
Examples
+
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"
+#>
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/av_property.html b/reference/av_property.html
new file mode 100644
index 00000000..db063e26
--- /dev/null
+++ b/reference/av_property.html
@@ -0,0 +1,359 @@
+
+Get Properties of an Antiviral Agent — av_property • AMR (for R)
+ Skip to contents
+
+
+
Use these functions to return a specific property of an antiviral agent from the antivirals data set. All input values will be evaluated internally with as.av().
any (vector of) text that can be coerced to a valid antiviral agent code with as.av()
+
+
+
language
+
language of the returned text, defaults to system language (see get_AMR_locale()) and can also be set with getOption("AMR_locale"). Use language = NULL or language = "" to prevent translation.
+
+
+
tolower
+
a logical to indicate whether the first character of every output should be transformed to a lower case character.
All data sets in this AMR package (about microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) are publicly and freely available for download in the following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, and Stata. We also provide tab-separated plain text files that are machine-readable and suitable for input in any software program, such as laboratory information systems. Please visit our website for the download links. The actual files are of course available on our GitHub repository.
+
+
+
+
+
+
+
diff --git a/reference/availability.html b/reference/availability.html
index d776b19c..3ecb18c8 100644
--- a/reference/availability.html
+++ b/reference/availability.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/bug_drug_combinations.html b/reference/bug_drug_combinations.html
index b36940cd..258ad429 100644
--- a/reference/bug_drug_combinations.html
+++ b/reference/bug_drug_combinations.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/count.html b/reference/count.html
index dfb513c5..59542658 100644
--- a/reference/count.html
+++ b/reference/count.html
@@ -12,7 +12,7 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -84,6 +84,11 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/custom_eucast_rules.html b/reference/custom_eucast_rules.html
index 9bd6fd57..a7b0b2a4 100644
--- a/reference/custom_eucast_rules.html
+++ b/reference/custom_eucast_rules.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/dosage.html b/reference/dosage.html
index 640d8be8..8aec5d93 100644
--- a/reference/dosage.html
+++ b/reference/dosage.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/eucast_rules.html b/reference/eucast_rules.html
index dc615cd5..3cde464f 100644
--- a/reference/eucast_rules.html
+++ b/reference/eucast_rules.html
@@ -12,7 +12,7 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -84,6 +84,11 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/example_isolates.html b/reference/example_isolates.html
index ce1a0543..b1721505 100644
--- a/reference/example_isolates.html
+++ b/reference/example_isolates.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/example_isolates_unclean.html b/reference/example_isolates_unclean.html
index 14f3a2de..b3d870d7 100644
--- a/reference/example_isolates_unclean.html
+++ b/reference/example_isolates_unclean.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/first_isolate.html b/reference/first_isolate.html
index f8c6f23a..f7dbd166 100644
--- a/reference/first_isolate.html
+++ b/reference/first_isolate.html
@@ -12,7 +12,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -84,6 +84,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/g.test.html b/reference/g.test.html
index 4c836694..35b77d54 100644
--- a/reference/g.test.html
+++ b/reference/g.test.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/get_episode.html b/reference/get_episode.html
index 6aea5027..fdc55f0b 100644
--- a/reference/get_episode.html
+++ b/reference/get_episode.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/ggplot_rsi.html b/reference/ggplot_rsi.html
index f8ca70d8..fbde2f15 100644
--- a/reference/ggplot_rsi.html
+++ b/reference/ggplot_rsi.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/guess_ab_col.html b/reference/guess_ab_col.html
index c4449b11..265149c4 100644
--- a/reference/guess_ab_col.html
+++ b/reference/guess_ab_col.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/index.html b/reference/index.html
index 14c0dff9..80ae1d54 100644
--- a/reference/index.html
+++ b/reference/index.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -300,7 +305,33 @@
Guess Antibiotic Column
-
Background information on included data
+
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().
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 for more information about how to work with functions in this package.
diff --git a/reference/mdro.html b/reference/mdro.html
index 63f095c5..2e8ef2c6 100644
--- a/reference/mdro.html
+++ b/reference/mdro.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/mean_amr_distance.html b/reference/mean_amr_distance.html
index 9964ed83..e029f714 100644
--- a/reference/mean_amr_distance.html
+++ b/reference/mean_amr_distance.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -195,11 +200,11 @@
x<-random_mic(10)x#> Class 'mic'
-#> [1] 1 0.005 2 0.125 0.002 0.5 0.0625 0.5 <=0.001
-#> [10] 0.002
+#> [1] 2 0.01 0.01 2 0.125 <=0.005 0.0625 <=0.005 4
+#> [10] >=256 mean_amr_distance(x)
-#> [1] 1.04271494 -0.78781830 1.28219266 0.32428178 -1.10439062 0.80323722
-#> [7] 0.08480407 0.80323722 -1.34386834 -1.10439062
+#> [1] 0.6440970 -0.8222686 -0.8222686 0.6440970 -0.1232464 -1.0141044
+#> [7] -0.3150822 -1.0141044 0.8359328 1.9869478y<-data.frame( id =LETTERS[1:10],
@@ -209,38 +214,38 @@
tobr =random_mic(10, ab ="tobr", mo ="Escherichia coli"))y
-#> id amox cipr gent tobr
-#> 1 A 4 0.5 <=1 4
-#> 2 B 8 >=1 2 >=16
-#> 3 C >=16 0.5 2 0.5
-#> 4 D >=16 0.25 2 >=16
-#> 5 E 8 0.25 2 1
-#> 6 F 4 0.25 4 1
-#> 7 G >=16 0.5 2 1
-#> 8 H 4 0.25 2 >=16
-#> 9 I 4 0.5 4 8
-#> 10 J 8 0.025 4 0.5
+#> id amox cipr gent tobr
+#> 1 A 8 0.25 2 8
+#> 2 B >=32 0.125 <=0.5 8
+#> 3 C >=32 0.0625 <=0.5 4
+#> 4 D 4 0.5 2 8
+#> 5 E 8 <=0.025 2 16
+#> 6 F 16 0.125 >=4 8
+#> 7 G 4 2 <=0.5 <=1
+#> 8 H 4 0.5 >=4 4
+#> 9 I 16 0.0625 <=0.5 8
+#> 10 J >=32 0.0625 <=0.5 4mean_amr_distance(y)#> ℹ Calculating mean AMR distance based on columns "amox", "cipr", "gent",#> "id" and "tobr"#>Warning: NAs introduced by coercion
-#> [1] -0.54407797 0.54766468 0.06869358 0.48271367 -0.27421097 -0.16444638
-#> [7] 0.18654471 -0.08832657 0.36434257 -0.57889732
+#> [1] 0.25292590 0.13456515 -0.22939265 0.18846902 0.04421622 0.50727140
+#> [7] -0.62066776 0.14690263 -0.19489727 -0.22939265y$amr_distance<-mean_amr_distance(y, where(is.mic))#> ℹ Calculating mean AMR distance based on columns "amox", "cipr", "gent" and#> "tobr"y[order(y$amr_distance), ]
-#> id amox cipr gent tobr amr_distance
-#> 10 J 8 0.025 4 0.5 -0.57889732
-#> 1 A 4 0.5 <=1 4 -0.54407797
-#> 5 E 8 0.25 2 1 -0.27421097
-#> 6 F 4 0.25 4 1 -0.16444638
-#> 8 H 4 0.25 2 >=16 -0.08832657
-#> 3 C >=16 0.5 2 0.5 0.06869358
-#> 7 G >=16 0.5 2 1 0.18654471
-#> 9 I 4 0.5 4 8 0.36434257
-#> 4 D >=16 0.25 2 >=16 0.48271367
-#> 2 B 8 >=1 2 >=16 0.54766468
+#> id amox cipr gent tobr amr_distance
+#> 7 G 4 2 <=0.5 <=1 -0.62066776
+#> 3 C >=32 0.0625 <=0.5 4 -0.22939265
+#> 10 J >=32 0.0625 <=0.5 4 -0.22939265
+#> 9 I 16 0.0625 <=0.5 8 -0.19489727
+#> 5 E 8 <=0.025 2 16 0.04421622
+#> 2 B >=32 0.125 <=0.5 8 0.13456515
+#> 8 H 4 0.5 >=4 4 0.14690263
+#> 4 D 4 0.5 2 8 0.18846902
+#> 1 A 8 0.25 2 8 0.25292590
+#> 6 F 16 0.125 >=4 8 0.50727140if(require("dplyr")){y%>%
@@ -252,17 +257,17 @@
}#> ℹ Calculating mean AMR distance based on columns "amox", "cipr", "gent" and#> "tobr"
-#> id amox cipr gent tobr amr_distance check_id_C
-#> 1 C >=16 0.5 2 0.5 0.06869358 0.0000000
-#> 2 G >=16 0.5 2 1 0.18654471 0.1178511
-#> 3 H 4 0.25 2 >=16 -0.08832657 0.1570202
-#> 4 F 4 0.25 4 1 -0.16444638 0.2331400
-#> 5 I 4 0.5 4 8 0.36434257 0.2956490
-#> 6 E 8 0.25 2 1 -0.27421097 0.3429046
-#> 7 D >=16 0.25 2 >=16 0.48271367 0.4140201
-#> 8 B 8 >=1 2 >=16 0.54766468 0.4789711
-#> 9 A 4 0.5 <=1 4 -0.54407797 0.6127716
-#> 10 J 8 0.025 4 0.5 -0.57889732 0.6475909
+#> id amox cipr gent tobr amr_distance check_id_C
+#> 1 C >=32 0.0625 <=0.5 4 -0.22939265 0.00000000
+#> 2 J >=32 0.0625 <=0.5 4 -0.22939265 0.00000000
+#> 3 I 16 0.0625 <=0.5 8 -0.19489727 0.03449538
+#> 4 E 8 <=0.025 2 16 0.04421622 0.27360887
+#> 5 B >=32 0.125 <=0.5 8 0.13456515 0.36395780
+#> 6 H 4 0.5 >=4 4 0.14690263 0.37629528
+#> 7 G 4 2 <=0.5 <=1 -0.62066776 0.39127511
+#> 8 D 4 0.5 2 8 0.18846902 0.41786167
+#> 9 A 8 0.25 2 8 0.25292590 0.48231854
+#> 10 F 16 0.125 >=4 8 0.50727140 0.73666405if(require("dplyr")){# support for groupsexample_isolates%>%
diff --git a/reference/microorganisms.codes.html b/reference/microorganisms.codes.html
index 93746c67..14361e61 100644
--- a/reference/microorganisms.codes.html
+++ b/reference/microorganisms.codes.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/microorganisms.html b/reference/microorganisms.html
index c78383df..87d3f120 100644
--- a/reference/microorganisms.html
+++ b/reference/microorganisms.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/mo_matching_score.html b/reference/mo_matching_score.html
index 02b86818..b05fc8f8 100644
--- a/reference/mo_matching_score.html
+++ b/reference/mo_matching_score.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/mo_property.html b/reference/mo_property.html
index 5a8b1c4a..7a40255e 100644
--- a/reference/mo_property.html
+++ b/reference/mo_property.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/mo_source.html b/reference/mo_source.html
index b73f979b..be710880 100644
--- a/reference/mo_source.html
+++ b/reference/mo_source.html
@@ -12,7 +12,7 @@ This is the fastest way to have your organisation (or analysis) specific codes p
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -84,6 +84,11 @@ This is the fastest way to have your organisation (or analysis) specific codes p
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/pca.html b/reference/pca.html
index 4eab885a..6fb0e09c 100644
--- a/reference/pca.html
+++ b/reference/pca.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/plot-1.png b/reference/plot-1.png
index a570d378..18e8f472 100644
Binary files a/reference/plot-1.png and b/reference/plot-1.png differ
diff --git a/reference/plot-2.png b/reference/plot-2.png
index b6db8830..fd1260be 100644
Binary files a/reference/plot-2.png and b/reference/plot-2.png differ
diff --git a/reference/plot-3.png b/reference/plot-3.png
index d21845f4..fd9ab1d6 100644
Binary files a/reference/plot-3.png and b/reference/plot-3.png differ
diff --git a/reference/plot-4.png b/reference/plot-4.png
index 333195c2..bc8af974 100644
Binary files a/reference/plot-4.png and b/reference/plot-4.png differ
diff --git a/reference/plot-5.png b/reference/plot-5.png
index cd93a5e4..4706b52d 100644
Binary files a/reference/plot-5.png and b/reference/plot-5.png differ
diff --git a/reference/plot-6.png b/reference/plot-6.png
index 3abe85c5..836debdc 100644
Binary files a/reference/plot-6.png and b/reference/plot-6.png differ
diff --git a/reference/plot-7.png b/reference/plot-7.png
index 24dfe2d3..8b51a59a 100644
Binary files a/reference/plot-7.png and b/reference/plot-7.png differ
diff --git a/reference/plot-8.png b/reference/plot-8.png
index 477a1927..1fccb4f9 100644
Binary files a/reference/plot-8.png and b/reference/plot-8.png differ
diff --git a/reference/plot-9.png b/reference/plot-9.png
index 614d700c..9639feff 100644
Binary files a/reference/plot-9.png and b/reference/plot-9.png differ
diff --git a/reference/plot.html b/reference/plot.html
index f8b6f8fe..2393c70b 100644
--- a/reference/plot.html
+++ b/reference/plot.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/proportion.html b/reference/proportion.html
index c1a83c7a..ec005a2f 100644
--- a/reference/proportion.html
+++ b/reference/proportion.html
@@ -12,7 +12,7 @@ resistance() should be used to calculate resistance, susceptibility() should be
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -84,6 +84,11 @@ resistance() should be used to calculate resistance, susceptibility() should be
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/random.html b/reference/random.html
index 968a2a31..bdf86d95 100644
--- a/reference/random.html
+++ b/reference/random.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -178,43 +183,42 @@
Examples
random_mic(25)#> Class 'mic'
-#> [1] 8 64 1 128 0.25 <=0.001 0.25 0.01 0.025
-#> [10] 128 <=0.001 128 >=256 2 0.025 8 >=256 0.002
-#> [19] 1 0.5 0.25 2 <=0.001 1 2
+#> [1] 0.0625 0.01 4 64 0.005 32 2 0.01 <=0.001
+#> [10] 8 128 64 2 8 0.002 0.01 0.0625 0.25
+#> [19] 64 0.01 16 0.25 0.0625 >=256 <=0.001random_disk(25)#> Class 'disk'
-#> [1] 7 18 38 42 43 47 45 10 45 24 17 15 24 45 26 23 44 50 45 50 19 28 25 47 11
+#> [1] 29 36 20 49 33 28 28 23 39 22 10 47 23 49 47 42 30 47 22 37 47 9 19 45 37random_rsi(25)#> Class 'rsi'
-#> [1] R S R I I R I R R R I R I I S I I S I R I R R I S
+#> [1] I S I I I S R R S I R I I R I R S R S R S I R R R# \donttest{# make the random generation more realistic by setting a bug and/or drug:random_mic(25, "Klebsiella pneumoniae")# range 0.0625-64#> Class 'mic'
-#> [1] 0.025 0.001 2 0.5 8 0.01 0.005 32 256 4
-#> [11] 0.025 0.025 0.025 0.002 0.25 4 1 0.0625 0.025 0.0625
-#> [21] 2 8 0.002 0.5 16
+#> [1] 0.005 32 0.025 0.005 0.005 4 2 0.005 0.01
+#> [10] 0.5 2 0.25 0.025 2 <=0.001 0.5 8 4
+#> [19] 8 0.025 8 0.025 8 2 0.0625 random_mic(25, "Klebsiella pneumoniae", "meropenem")# range 0.0625-16#> Class 'mic'
-#> [1] >=64 32 1 <=0.5 16 1 16 2 1 1 32 2
-#> [13] <=0.5 2 32 2 8 4 16 32 2 1 4 1
-#> [25] 8
+#> [1] 16 16 4 32 0.5 >=64 8 1 1 >=64 0.5 32 >=64 0.5 >=64
+#> [16] 0.5 32 16 4 1 32 >=64 0.5 0.5 1 random_mic(25, "Streptococcus pneumoniae", "meropenem")# range 0.0625-4#> Class 'mic'
-#> [1] 0.125 >=4 0.5 1 1 0.5 1 0.125 0.125 0.25 0.125 1
-#> [13] 0.25 0.125 0.5 0.5 0.125 >=4 >=4 2 >=4 0.5 2 1
-#> [25] 2
+#> [1] >=8 2 1 >=8 2 2 >=8 1 0.5
+#> [10] 1 1 2 0.5 2 0.5 0.5 0.5 >=8
+#> [19] 0.25 <=0.125 1 <=0.125 0.25 0.5 2 random_disk(25, "Klebsiella pneumoniae")# range 8-50#> Class 'disk'
-#> [1] 42 28 19 47 45 39 48 47 43 30 43 37 43 34 16 45 36 22 26 25 11 28 17 11 41
+#> [1] 42 24 15 28 24 44 34 35 49 40 50 26 49 10 50 42 24 43 18 14 47 41 50 33 29random_disk(25, "Klebsiella pneumoniae", "ampicillin")# range 11-17#> Class 'disk'
-#> [1] 13 16 12 16 14 12 15 14 12 11 13 16 12 14 16 12 13 12 17 16 11 14 12 13 15
+#> [1] 14 15 15 12 17 12 11 16 13 12 14 12 14 16 15 17 11 13 13 13 13 12 15 11 13random_disk(25, "Streptococcus pneumoniae", "ampicillin")# range 12-27#> Class 'disk'
-#> [1] 25 18 19 19 27 25 18 24 27 23 18 17 16 27 26 15 25 26 24 26 15 17 26 20 16
+#> [1] 23 16 24 19 17 23 16 21 15 19 21 22 16 23 26 15 25 22 20 26 26 16 22 26 23# }
diff --git a/reference/resistance_predict.html b/reference/resistance_predict.html
index 3c6ee604..a1d0f4aa 100644
--- a/reference/resistance_predict.html
+++ b/reference/resistance_predict.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/rsi_translation.html b/reference/rsi_translation.html
index 606ecb96..7c46e0d3 100644
--- a/reference/rsi_translation.html
+++ b/reference/rsi_translation.html
@@ -10,7 +10,7 @@
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -82,6 +82,11 @@
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
diff --git a/reference/skewness.html b/reference/skewness.html
index b2579dea..788d040d 100644
--- a/reference/skewness.html
+++ b/reference/skewness.html
@@ -12,7 +12,7 @@ When negative ('left-skewed'): the left tail is longer; the mass of the distribu
AMR (for R)
- 1.8.2.9047
+ 1.8.2.9049
@@ -84,6 +84,11 @@ When negative ('left-skewed'): the left tail is longer; the mass of the distribu
Get properties of an antibiotic
+
+
+
+ Get properties of an antiviral agent
+
@@ -166,7 +171,7 @@ When negative ('left-skewed'): the left tail is longer; the mass of the distribu
diff --git a/search.json b/search.json
index daa4fc1b..186cc278 100644
--- a/search.json
+++ b/search.json
@@ -1 +1 @@
-[{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"How to conduct AMR data analysis","text":"Conducting AMR data analysis unfortunately requires -depth knowledge different scientific fields, makes hard right. least, requires: Good questions (always start !) thorough understanding (clinical) epidemiology, understand clinical epidemiological relevance possible bias results thorough understanding (clinical) microbiology/infectious diseases, understand microorganisms causal infections implications pharmaceutical treatment, well understanding intrinsic acquired microbial resistance Experience data analysis microbiological tests results, understand determination limitations MIC values interpretations RSI values Availability biological taxonomy microorganisms probably normalisation factors pharmaceuticals, defined daily doses (DDD) Available (inter-)national guidelines, profound methods apply course, instantly provide knowledge experience. AMR package, aimed providing (1) tools simplify antimicrobial resistance data cleaning, transformation analysis, (2) methods easily incorporate international guidelines (3) scientifically reliable reference data, including requirements mentioned . AMR package enables standardised reproducible AMR data analysis, application evidence-based rules, determination first isolates, translation various codes microorganisms antimicrobial agents, determination (multi-drug) resistant microorganisms, calculation antimicrobial resistance, prevalence future trends.","code":""},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"preparation","dir":"Articles","previous_headings":"","what":"Preparation","title":"How to conduct AMR data analysis","text":"tutorial, create fake demonstration data work . can skip Cleaning data already data ready. start analysis, try make structure data generally look like :","code":""},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"needed-r-packages","dir":"Articles","previous_headings":"Preparation","what":"Needed R packages","title":"How to conduct AMR data analysis","text":"many uses R, need additional packages AMR data analysis. package works closely together tidyverse packages dplyr ggplot2 RStudio. tidyverse tremendously improves way conduct data science - allows natural way writing syntaxes creating beautiful plots R. also use cleaner package, can used cleaning data creating frequency tables.","code":"library(dplyr) library(ggplot2) library(AMR) library(cleaner) # (if not yet installed, install with:) # install.packages(c(\"dplyr\", \"ggplot2\", \"AMR\", \"cleaner\"))"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"creation-of-data","dir":"Articles","previous_headings":"","what":"Creation of data","title":"How to conduct AMR data analysis","text":"create fake example data use analysis. AMR data analysis, need least: patient ID, name code microorganism, date antimicrobial results (antibiogram). also include specimen type (e.g. filter blood urine), ward type (e.g. filter ICUs). additional columns (like hospital name, patients gender even [well-defined] clinical properties) can comparative analysis, tutorial demonstrate .","code":""},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"patients","dir":"Articles","previous_headings":"Creation of data","what":"Patients","title":"How to conduct AMR data analysis","text":"start patients, need unique list patients. LETTERS object available R - ’s vector 26 characters: Z. patients object just created now vector length 260, values (patient IDs) varying A1 Z10. Now also set gender patients, putting ID gender table: first 135 patient IDs now male, 125 female.","code":"patients <- unlist(lapply(LETTERS, paste0, 1:10)) patients_table <- data.frame( patient_id = patients, gender = c( rep(\"M\", 135), rep(\"F\", 125) ) )"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"dates","dir":"Articles","previous_headings":"Creation of data","what":"Dates","title":"How to conduct AMR data analysis","text":"Let’s pretend data consists blood cultures isolates 1 January 2010 1 January 2018. dates object now contains days date range.","code":"dates <- seq(as.Date(\"2010-01-01\"), as.Date(\"2018-01-01\"), by = \"day\")"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"microorganisms","dir":"Articles","previous_headings":"Creation of data > Dates","what":"Microorganisms","title":"How to conduct AMR data analysis","text":"tutorial, uses four different microorganisms: Escherichia coli, Staphylococcus aureus, Streptococcus pneumoniae, Klebsiella pneumoniae:","code":"bacteria <- c( \"Escherichia coli\", \"Staphylococcus aureus\", \"Streptococcus pneumoniae\", \"Klebsiella pneumoniae\" )"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"put-everything-together","dir":"Articles","previous_headings":"Creation of data","what":"Put everything together","title":"How to conduct AMR data analysis","text":"Using sample() function, can randomly select items objects defined earlier. let fake data reflect reality bit, also approximately define probabilities bacteria antibiotic results, using random_rsi() function. Using left_join() function dplyr package, can ‘map’ gender patient ID using patients_table object created earlier: resulting data set contains 20,000 blood culture isolates. head() function can preview first 6 rows data set: Now, let’s start cleaning analysis!","code":"sample_size <- 20000 data <- data.frame( date = sample(dates, size = sample_size, replace = TRUE), patient_id = sample(patients, size = sample_size, replace = TRUE), hospital = sample(c( \"Hospital A\", \"Hospital B\", \"Hospital C\", \"Hospital D\" ), size = sample_size, replace = TRUE, prob = c(0.30, 0.35, 0.15, 0.20) ), bacteria = sample(bacteria, size = sample_size, replace = TRUE, prob = c(0.50, 0.25, 0.15, 0.10) ), AMX = random_rsi(sample_size, prob_RSI = c(0.35, 0.60, 0.05)), AMC = random_rsi(sample_size, prob_RSI = c(0.15, 0.75, 0.10)), CIP = random_rsi(sample_size, prob_RSI = c(0.20, 0.80, 0.00)), GEN = random_rsi(sample_size, prob_RSI = c(0.08, 0.92, 0.00)) ) data <- data %>% left_join(patients_table) head(data)"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"cleaning-the-data","dir":"Articles","previous_headings":"","what":"Cleaning the data","title":"How to conduct AMR data analysis","text":"also created package dedicated data cleaning checking, called cleaner package. freq() function can used create frequency tables. example, gender variable: Frequency table Class: character Length: 20,000 Available: 20,000 (100%, NA: 0 = 0%) Unique: 2 Shortest: 1 Longest: 1 , can draw least two conclusions immediately. data scientists perspective, data looks clean: values M F. researchers perspective: slightly men. Nothing didn’t already know. data already quite clean, still need transform variables. bacteria column now consists text, want add variables based microbial IDs later . , transform column valid IDs. mutate() function dplyr package makes really easy: also want transform antibiotics, real life data don’t know really clean. .rsi() function ensures reliability reproducibility kind variables. .rsi.eligible() can check columns probably columns R/SI test results. Using mutate() across(), can apply transformation formal class: Finally, apply EUCAST rules antimicrobial results. Europe, medical microbiological laboratories already apply rules. package features latest insights intrinsic resistance exceptional phenotypes. Moreover, eucast_rules() function can also apply additional rules, like forcing ampicillin = R amoxicillin/clavulanic acid = R. amoxicillin (column AMX) amoxicillin/clavulanic acid (column AMC) data generated randomly, rows undoubtedly contain AMX = S AMC = R, technically impossible. eucast_rules() fixes :","code":"data %>% freq(gender) data <- data %>% mutate(bacteria = as.mo(bacteria)) is.rsi.eligible(data) # [1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE colnames(data)[is.rsi.eligible(data)] # [1] \"AMX\" \"AMC\" \"CIP\" \"GEN\" data <- data %>% mutate(across(where(is.rsi.eligible), as.rsi)) data <- eucast_rules(data, col_mo = \"bacteria\", rules = \"all\")"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"adding-new-variables","dir":"Articles","previous_headings":"","what":"Adding new variables","title":"How to conduct AMR data analysis","text":"Now microbial ID, can add taxonomic properties:","code":"data <- data %>% mutate( gramstain = mo_gramstain(bacteria), genus = mo_genus(bacteria), species = mo_species(bacteria) )"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"first-isolates","dir":"Articles","previous_headings":"Adding new variables","what":"First isolates","title":"How to conduct AMR data analysis","text":"also need know isolates can actually use analysis. conduct analysis antimicrobial resistance, must include first isolate every patient per episode (Hindler et al., Clin Infect Dis. 2007). , easily get overestimate underestimate resistance antibiotic. Imagine patient admitted MRSA found 5 different blood cultures following weeks (yes, countries like Netherlands blood drawing policies). resistance percentage oxacillin isolates overestimated, included MRSA . clearly selection bias. Clinical Laboratory Standards Institute (CLSI) appoints follows: (…) preparing cumulative antibiogram guide clinical decisions empirical antimicrobial therapy initial infections, first isolate given species per patient, per analysis period (eg, one year) included, irrespective body site, antimicrobial susceptibility profile, phenotypical characteristics (eg, biotype). first isolate easily identified, cumulative antimicrobial susceptibility test data prepared using first isolate generally comparable cumulative antimicrobial susceptibility test data calculated methods, providing duplicate isolates excluded. M39-A4 Analysis Presentation Cumulative Antimicrobial Susceptibility Test Data, 4th Edition. CLSI, 2014. Chapter 6.4 AMR package includes methodology first_isolate() function able apply four different methods defined Hindler et al. 2007: phenotype-based, episode-based, patient-based, isolate-based. right method depends goals analysis, default phenotype-based method case method properly correct duplicate isolates. method also takes account antimicrobial susceptibility test results using all_microbials(). Read methods first_isolate() page. outcome function can easily added data: 53% suitable resistance analysis! can now filter filter() function, also dplyr package: future use, two syntaxes can shortened: end 10,603 isolates analysis. Now data looks like: Time analysis!","code":"data <- data %>% mutate(first = first_isolate(info = TRUE)) # Determining first isolates using an episode length of 365 days # ℹ Using column 'bacteria' as input for `col_mo`. # ℹ Using column 'date' as input for `col_date`. # ℹ Using column 'patient_id' as input for `col_patient_id`. # Basing inclusion on all antimicrobial results, using a points threshold of # 2 # Including isolates from ICU. # => Found 10,603 'phenotype-based' first isolates (53.0% of total where a # microbial ID was available) data_1st <- data %>% filter(first == TRUE) data_1st <- data %>% filter_first_isolate() # Including isolates from ICU. head(data_1st)"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"analysing-the-data","dir":"Articles","previous_headings":"","what":"Analysing the data","title":"How to conduct AMR data analysis","text":"might want start getting idea data distributed. ’s important start, also decides continue analysis. Although package contains convenient function make frequency tables, exploratory data analysis (EDA) primary scope package. Use package like DataExplorer , read free online book Exploratory Data Analysis R Roger D. Peng.","code":""},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"dispersion-of-species","dir":"Articles","previous_headings":"Analysing the data","what":"Dispersion of species","title":"How to conduct AMR data analysis","text":"just get idea species distributed, create frequency table freq() function. created genus species column earlier based microbial ID. paste(), can concatenate together. freq() function can used like base R language intended: can used like dplyr way, easier readable: Frequency table Class: character Length: 10,603 Available: 10,603 (100%, NA: 0 = 0%) Unique: 4 Shortest: 16 Longest: 24","code":"freq(paste(data_1st$genus, data_1st$species)) data_1st %>% freq(genus, species)"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"overview-of-different-bugdrug-combinations","dir":"Articles","previous_headings":"Analysing the data","what":"Overview of different bug/drug combinations","title":"How to conduct AMR data analysis","text":"Using tidyverse selections, can also select filter columns based antibiotic class : want get quick glance number isolates different bug/drug combinations, can use bug_drug_combinations() function: give crude numbers data. calculate antimicrobial resistance sensible way, also correcting results, use resistance() susceptibility() functions.","code":"data_1st %>% filter(any(aminoglycosides() == \"R\")) # ℹ For `aminoglycosides()` using column 'GEN' (gentamicin) data_1st %>% bug_drug_combinations() %>% head() # show first 6 rows # ℹ Using column 'bacteria' as input for `col_mo`. data_1st %>% select(bacteria, aminoglycosides()) %>% bug_drug_combinations() # ℹ For `aminoglycosides()` using column 'GEN' (gentamicin) # ℹ Using column 'bacteria' as input for `col_mo`."},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"resistance-percentages","dir":"Articles","previous_headings":"Analysing the data","what":"Resistance percentages","title":"How to conduct AMR data analysis","text":"functions resistance() susceptibility() can used calculate antimicrobial resistance susceptibility. specific analyses, functions proportion_S(), proportion_SI(), proportion_I(), proportion_IR() proportion_R() can used determine proportion specific antimicrobial outcome. functions contain minimum argument, denoting minimum required number test results returning value. functions otherwise return NA. default minimum = 30, following CLSI M39-A4 guideline applying microbial epidemiology. per EUCAST guideline 2019, calculate resistance proportion R (proportion_R(), equal resistance()) susceptibility proportion S (proportion_SI(), equal susceptibility()). functions can used : can used conjunction group_by() summarise(), dplyr package: course convenient know number isolates responsible percentages. purpose n_rsi() can used, works exactly like n_distinct() dplyr package. counts isolates available every group (.e. values S, R): functions can also used get proportion multiple antibiotics, calculate empiric susceptibility combination therapies easily: curious resistance within certain antibiotic classes, use antibiotic class selector penicillins(), automatically include columns AMX AMC data: make transition next part, let’s see differences previously calculated combination therapies plotted:","code":"data_1st %>% resistance(AMX) # [1] 0.5472036 data_1st %>% group_by(hospital) %>% summarise(amoxicillin = resistance(AMX)) data_1st %>% group_by(hospital) %>% summarise( amoxicillin = resistance(AMX), available = n_rsi(AMX) ) data_1st %>% group_by(genus) %>% summarise( amoxiclav = susceptibility(AMC), gentamicin = susceptibility(GEN), amoxiclav_genta = susceptibility(AMC, GEN) ) data_1st %>% # group by hospital group_by(hospital) %>% # / -> select all penicillins in the data for calculation # | / -> use resistance() for all peni's per hospital # | | / -> print as percentages summarise(across(penicillins(), resistance, as_percent = TRUE)) %>% # format the antibiotic column names, using so-called snake case, # so 'Amoxicillin/clavulanic acid' becomes 'amoxicillin_clavulanic_acid' rename_with(set_ab_names, penicillins()) data_1st %>% group_by(genus) %>% summarise( \"1. Amoxi/clav\" = susceptibility(AMC), \"2. Gentamicin\" = susceptibility(GEN), \"3. Amoxi/clav + genta\" = susceptibility(AMC, GEN) ) %>% # pivot_longer() from the tidyr package \"lengthens\" data: tidyr::pivot_longer(-genus, names_to = \"antibiotic\") %>% ggplot(aes( x = genus, y = value, fill = antibiotic )) + geom_col(position = \"dodge2\")"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"plots","dir":"Articles","previous_headings":"Analysing the data","what":"Plots","title":"How to conduct AMR data analysis","text":"show results plots, R users nowadays use ggplot2 package. package lets create plots layers. can read website. quick example look like syntaxes: AMR package contains functions extend ggplot2 package, example geom_rsi(). automatically transforms data count_df() proportion_df() show results stacked bars. simplest shortest example: Omit translate_ab = FALSE antibiotic codes (AMX, AMC, CIP, GEN) translated official names (amoxicillin, amoxicillin/clavulanic acid, ciprofloxacin, gentamicin). group e.g. genus column add additional functions package, can create : simplify , also created ggplot_rsi() function, combines almost functions:","code":"ggplot( data = a_data_set, mapping = aes( x = year, y = value ) ) + geom_col() + labs( title = \"A title\", subtitle = \"A subtitle\", x = \"My X axis\", y = \"My Y axis\" ) # or as short as: ggplot(a_data_set) + geom_bar(aes(year)) ggplot(data_1st) + geom_rsi(translate_ab = FALSE) # group the data on `genus` ggplot(data_1st %>% group_by(genus)) + # create bars with genus on x axis # it looks for variables with class `rsi`, # of which we have 4 (earlier created with `as.rsi`) geom_rsi(x = \"genus\") + # split plots on antibiotic facet_rsi(facet = \"antibiotic\") + # set colours to the R/SI interpretations (colour-blind friendly) scale_rsi_colours() + # show percentages on y axis scale_y_percent(breaks = 0:4 * 25) + # turn 90 degrees, to make it bars instead of columns coord_flip() + # add labels labs( title = \"Resistance per genus and antibiotic\", subtitle = \"(this is fake data)\" ) + # and print genus in italic to follow our convention # (is now y axis because we turned the plot) theme(axis.text.y = element_text(face = \"italic\")) data_1st %>% group_by(genus) %>% ggplot_rsi( x = \"genus\", facet = \"antibiotic\", breaks = 0:4 * 25, datalabels = FALSE ) + coord_flip()"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"plotting-mic-and-disk-diffusion-values","dir":"Articles","previous_headings":"Analysing the data > Plots","what":"Plotting MIC and disk diffusion values","title":"How to conduct AMR data analysis","text":"AMR package also extends plot() ggplot2::autoplot() functions plotting minimum inhibitory concentrations (MIC, created .mic()) disk diffusion diameters (created .disk()). random_mic() random_disk() functions, can generate sampled values new data types (S3 classes) : also specific, generating MICs likely found E. coli ciprofloxacin: plot() autoplot() function, can define microorganism antimicrobial agent way. add interpretation values according chosen guidelines (defaults latest EUCAST guideline). Default colours colour-blind friendly, maintaining convention e.g. ‘susceptible’ green ‘resistant’ red: disk diffusion values, much difference plotting: using ggplot2 package, now choosing latest implemented CLSI guideline (notice EUCAST-specific term “Susceptible, incr. exp.” changed “Intermediate”):","code":"mic_values <- random_mic(size = 100) mic_values # Class 'mic' # [1] 32 <=0.001 16 16 0.5 0.5 0.0625 4 0.25 # [10] 0.01 128 256 0.01 <=0.001 0.25 0.25 128 256 # [19] 8 64 256 256 1 32 0.0625 0.005 4 # [28] 0.005 0.125 0.025 0.125 8 64 <=0.001 0.5 0.025 # [37] 0.002 0.5 0.002 4 <=0.001 0.25 1 0.125 4 # [46] 128 256 0.01 0.002 0.01 32 32 0.005 4 # [55] 0.0625 256 0.25 2 32 0.01 <=0.001 4 0.5 # [64] 8 0.125 0.005 <=0.001 64 1 0.5 16 1 # [73] 2 0.005 0.25 64 32 16 <=0.001 128 0.025 # [82] 4 256 16 0.125 2 0.005 <=0.001 0.0625 0.005 # [91] 0.5 2 128 0.5 2 16 0.002 <=0.001 0.125 # [100] 0.002 # base R: plot(mic_values) # ggplot2: autoplot(mic_values) mic_values <- random_mic(size = 100, mo = \"E. coli\", ab = \"cipro\") # base R: plot(mic_values, mo = \"E. coli\", ab = \"cipro\") # ggplot2: autoplot(mic_values, mo = \"E. coli\", ab = \"cipro\") disk_values <- random_disk(size = 100, mo = \"E. coli\", ab = \"cipro\") disk_values # Class 'disk' # [1] 20 26 25 18 21 30 25 24 29 29 18 31 24 22 19 21 21 30 18 22 27 20 25 19 28 # [26] 28 29 26 17 24 20 30 22 30 24 18 25 27 29 29 22 28 18 29 28 21 29 27 19 29 # [51] 21 17 17 23 26 22 27 30 29 20 26 18 18 17 24 21 23 25 26 17 24 22 18 31 29 # [76] 29 21 24 27 22 28 26 25 19 17 23 24 28 31 18 30 30 25 22 22 31 25 31 24 26 # base R: plot(disk_values, mo = \"E. coli\", ab = \"cipro\") autoplot( disk_values, mo = \"E. coli\", ab = \"cipro\", guideline = \"CLSI\" )"},{"path":"https://msberends.github.io/AMR/articles/AMR.html","id":"independence-test","dir":"Articles","previous_headings":"Analysing the data","what":"Independence test","title":"How to conduct AMR data analysis","text":"next example uses example_isolates data set. data set included package contains 2,000 microbial isolates full antibiograms. reflects reality can used practise AMR data analysis. compare resistance amoxicillin/clavulanic acid (column FOS) ICU clinical wards. input fisher.test() can retrieved transformation like : can apply test now : can seen, p value practically zero (0.0000002263247), means amoxicillin/clavulanic acid resistance found isolates patients ICUs clinical wards really different.","code":"# use package 'tidyr' to pivot data: library(tidyr) check_FOS <- example_isolates %>% filter(ward %in% c(\"ICU\", \"Clinical\")) %>% # filter on only these wards select(ward, AMC) %>% # select the wards and amoxi/clav group_by(ward) %>% # group on the wards count_df(combine_SI = TRUE) %>% # count all isolates per group (ward) pivot_wider( names_from = ward, # transform output so \"ICU\" and \"Clinical\" are columns values_from = value ) %>% select(ICU, Clinical) %>% # and only select these columns as.matrix() # transform to a good old matrix for fisher.test() check_FOS # ICU Clinical # [1,] 396 942 # [2,] 184 240 # do Fisher's Exact Test fisher.test(check_FOS) # # Fisher's Exact Test for Count Data # # data: check_FOS # p-value = 2.263e-07 # alternative hypothesis: true odds ratio is not equal to 1 # 95 percent confidence interval: # 0.435261 0.691614 # sample estimates: # odds ratio # 0.5485079"},{"path":"https://msberends.github.io/AMR/articles/EUCAST.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"How to apply EUCAST rules","text":"EUCAST rules? European Committee Antimicrobial Susceptibility Testing (EUCAST) states website: EUCAST expert rules tabulated collection expert knowledge intrinsic resistances, exceptional resistance phenotypes interpretive rules may applied antimicrobial susceptibility testing order reduce errors make appropriate recommendations reporting particular resistances. Europe, lot medical microbiological laboratories already apply rules (Brown et al., 2015). package features latest insights intrinsic resistance unusual phenotypes (v3.3, 2021). Moreover, eucast_rules() function use purpose can also apply additional rules, like forcing ampicillin = R isolates amoxicillin/clavulanic acid = R.","code":""},{"path":"https://msberends.github.io/AMR/articles/EUCAST.html","id":"examples","dir":"Articles","previous_headings":"","what":"Examples","title":"How to apply EUCAST rules","text":"rules can used discard impossible bug-drug combinations data. example, Klebsiella produces beta-lactamase prevents ampicillin (amoxicillin) working . words, practically every strain Klebsiella resistant ampicillin. Sometimes, laboratory data can still contain strains ampicillin susceptible ampicillin. antibiogram available identification available, antibiogram re-interpreted based identification (namely, Klebsiella). EUCAST expert rules solve , can applied using eucast_rules(): convenient function mo_is_intrinsic_resistant() uses guideline, allows check one specific microorganisms antibiotics: EUCAST rules can used correction, can also used filling known resistance susceptibility based results antimicrobials drugs. process called interpretive reading, basically form imputation, part eucast_rules() function well:","code":"oops <- data.frame( mo = c( \"Klebsiella\", \"Escherichia\" ), ampicillin = \"S\" ) oops # mo ampicillin # 1 Klebsiella S # 2 Escherichia S eucast_rules(oops, info = FALSE) # mo ampicillin # 1 Klebsiella R # 2 Escherichia S mo_is_intrinsic_resistant( c(\"Klebsiella\", \"Escherichia\"), \"ampicillin\" ) # [1] TRUE FALSE mo_is_intrinsic_resistant( \"Klebsiella\", c(\"ampicillin\", \"kanamycin\") ) # [1] TRUE FALSE data <- 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\", # Benzylenicillin FOX = \"S\", # Cefoxitin stringsAsFactors = FALSE ) data eucast_rules(data)"},{"path":"https://msberends.github.io/AMR/articles/MDR.html","id":"type-of-input","dir":"Articles","previous_headings":"","what":"Type of input","title":"How to determine multi-drug resistance (MDR)","text":"mdro() function takes data set input, regular data.frame. tries automatically determine right columns info isolates, name species columns results antimicrobial agents. See help page info set right settings data command ?mdro. WHONET data (data), settings automatically set correctly.","code":""},{"path":"https://msberends.github.io/AMR/articles/MDR.html","id":"guidelines","dir":"Articles","previous_headings":"","what":"Guidelines","title":"How to determine multi-drug resistance (MDR)","text":"mdro() function support multiple guidelines. can select guideline guideline parameter. Currently supported guidelines (case-insensitive): guideline = \"CMI2012\" (default) Magiorakos AP, Srinivasan et al. “Multidrug-resistant, extensively drug-resistant pandrug-resistant bacteria: international expert proposal interim standard definitions acquired resistance.” Clinical Microbiology Infection (2012) (link) guideline = \"EUCAST3.2\" (simply guideline = \"EUCAST\") European international guideline - EUCAST Expert Rules Version 3.2 “Intrinsic Resistance Unusual Phenotypes” (link) guideline = \"EUCAST3.1\" European international guideline - EUCAST Expert Rules Version 3.1 “Intrinsic Resistance Exceptional Phenotypes Tables” (link) guideline = \"TB\" international guideline multi-drug resistant tuberculosis - World Health Organization “Companion handbook guidelines programmatic management drug-resistant tuberculosis” (link) guideline = \"MRGN\" German national guideline - Mueller et al. (2015) Antimicrobial Resistance Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6 guideline = \"BRMO\" Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu “WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) (ZKH)” (link) Please suggest (country-specific) guidelines letting us know: https://github.com/msberends/AMR/issues/new.","code":""},{"path":"https://msberends.github.io/AMR/articles/MDR.html","id":"custom-guidelines","dir":"Articles","previous_headings":"Guidelines","what":"Custom Guidelines","title":"How to determine multi-drug resistance (MDR)","text":"can also use custom guideline. Custom guidelines can set custom_mdro_guideline() function. great importance custom rules determine MDROs hospital, e.g., rules dependent ward, state contact isolation variables data. familiar case_when() dplyr package, recognise input method set rules. Rules must set using R considers ‘formula notation’: row/isolate matches first rule, value first ~ (case ‘Elderly Type ’) set MDRO value. Otherwise, second rule tried . maximum number rules unlimited. can print rules set console overview. Colours help reading console supports colours. outcome function can used guideline argument mdro() function: rules set (custom object case) exported shared file location using saveRDS() collaborate multiple users. custom rules set imported using readRDS().","code":"custom <- custom_mdro_guideline( CIP == \"R\" & age > 60 ~ \"Elderly Type A\", ERY == \"R\" & age > 60 ~ \"Elderly Type B\" ) 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 x <- mdro(example_isolates, guideline = custom) table(x) # x # Negative Elderly Type A Elderly Type B # 1070 198 732"},{"path":"https://msberends.github.io/AMR/articles/MDR.html","id":"examples","dir":"Articles","previous_headings":"","what":"Examples","title":"How to determine multi-drug resistance (MDR)","text":"mdro() function always returns ordered factor predefined guidelines. example, output default guideline Magiorakos et al. returns factor levels ‘Negative’, ‘MDR’, ‘XDR’ ‘PDR’ order. next example uses example_isolates data set. data set included package contains full antibiograms 2,000 microbial isolates. reflects reality can used practise AMR data analysis. test MDR/XDR/PDR guideline data set, get: (16 isolates test results) Frequency table Class: factor > ordered (numeric) Length: 2,000 Levels: 4: Negative < Multi-drug-resistant (MDR) < Extensively drug-resistant … Available: 1,729 (86.45%, NA: 271 = 13.55%) Unique: 2 another example, create data set determine multi-drug resistant TB: column names automatically verified valid drug names codes, worked exactly way: data set now looks like : can now add interpretation MDR-TB data set. can use: shortcut mdr_tb(): Create frequency table results: Frequency table Class: factor > ordered (numeric) Length: 5,000 Levels: 5: Negative < Mono-resistant < Poly-resistant < Multi-drug-resistant <… Available: 5,000 (100%, NA: 0 = 0%) Unique: 5","code":"library(dplyr) # to support pipes: %>% library(cleaner) # to create frequency tables example_isolates %>% mdro() %>% freq() # show frequency table of the result # Warning: in `mdro()`: NA introduced for isolates where the available percentage of # antimicrobial classes was below 50% (set with `pct_required_classes`) # random_rsi() is a helper function to generate # a random vector with values S, I and R my_TB_data <- data.frame( rifampicin = random_rsi(5000), isoniazid = random_rsi(5000), gatifloxacin = random_rsi(5000), ethambutol = random_rsi(5000), pyrazinamide = random_rsi(5000), moxifloxacin = random_rsi(5000), kanamycin = random_rsi(5000) ) my_TB_data <- data.frame( RIF = random_rsi(5000), INH = random_rsi(5000), GAT = random_rsi(5000), ETH = random_rsi(5000), PZA = random_rsi(5000), MFX = random_rsi(5000), KAN = random_rsi(5000) ) head(my_TB_data) # rifampicin isoniazid gatifloxacin ethambutol pyrazinamide moxifloxacin # 1 I I I S S R # 2 R S S S I I # 3 S R R R S R # 4 S I R S I I # 5 S S S I S R # 6 I S R S I I # kanamycin # 1 I # 2 S # 3 R # 4 I # 5 R # 6 I mdro(my_TB_data, guideline = \"TB\") my_TB_data$mdr <- mdr_tb(my_TB_data) # ℹ No column found as input for `col_mo`, assuming all rows contain # Mycobacterium tuberculosis. freq(my_TB_data$mdr)"},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/PCA.html","id":"transforming","dir":"Articles","previous_headings":"","what":"Transforming","title":"How to conduct principal component analysis (PCA) for AMR","text":"PCA, need transform AMR data first. example_isolates data set package looks like: Now transform data set resistance percentages per taxonomic order genus:","code":"library(AMR) library(dplyr) glimpse(example_isolates) # Rows: 2,000 # Columns: 46 # $ date 2002-01-02, 2002-01-03, 2002-01-07, 2002-01-07, 2002-01-13, 2… # $ patient \"A77334\", \"A77334\", \"067927\", \"067927\", \"067927\", \"067927\", \"4… # $ age 65, 65, 45, 45, 45, 45, 78, 78, 45, 79, 67, 67, 71, 71, 75, 50… # $ gender \"F\", \"F\", \"F\", \"F\", \"F\", \"F\", \"M\", \"M\", \"F\", \"F\", \"M\", \"M\", \"M… # $ ward \"Clinical\", \"Clinical\", \"ICU\", \"ICU\", \"ICU\", \"ICU\", \"Clinical\"… # $ mo \"B_ESCHR_COLI\", \"B_ESCHR_COLI\", \"B_STPHY_EPDR\", \"B_STPHY_EPDR\",… # $ PEN R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, S,… # $ OXA NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ FLC NA, NA, R, R, R, R, S, S, R, S, S, S, NA, NA, NA, NA, NA, R, R… # $ AMX NA, NA, NA, NA, NA, NA, R, R, NA, NA, NA, NA, NA, NA, R, NA, N… # $ AMC I, I, NA, NA, NA, NA, S, S, NA, NA, S, S, I, I, R, I, I, NA, N… # $ AMP NA, NA, NA, NA, NA, NA, R, R, NA, NA, NA, NA, NA, NA, R, NA, N… # $ TZP NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ CZO NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, NA,… # $ FEP NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ CXM I, I, R, R, R, R, S, S, R, S, S, S, S, S, NA, S, S, R, R, S, S… # $ FOX NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, NA,… # $ CTX NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, S, S, NA, S, S… # $ CAZ NA, NA, R, R, R, R, R, R, R, R, R, R, NA, NA, NA, S, S, R, R, … # $ CRO NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, S, S, NA, S, S… # $ GEN NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ TOB NA, NA, NA, NA, NA, NA, S, S, NA, NA, NA, NA, S, S, NA, NA, NA… # $ AMK NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ KAN NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ TMP R, R, S, S, R, R, R, R, S, S, NA, NA, S, S, S, S, S, R, R, R, … # $ SXT R, R, S, S, NA, NA, NA, NA, S, S, NA, NA, S, S, S, S, S, NA, N… # $ NIT NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R,… # $ FOS NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ LNZ R, R, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, R, R, R, R, N… # $ CIP NA, NA, NA, NA, NA, NA, NA, NA, S, S, NA, NA, NA, NA, NA, S, S… # $ MFX NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ VAN R, R, S, S, S, S, S, S, S, S, NA, NA, R, R, R, R, R, S, S, S, … # $ TEC R, R, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, R, R, R, R, N… # $ TCY R, R, S, S, S, S, S, S, S, I, S, S, NA, NA, I, R, R, S, I, R, … # $ TGC NA, NA, S, S, S, S, S, S, S, NA, S, S, NA, NA, NA, R, R, S, NA… # $ DOX NA, NA, S, S, S, S, S, S, S, NA, S, S, NA, NA, NA, R, R, S, NA… # $ ERY R, R, R, R, R, R, S, S, R, S, S, S, R, R, R, R, R, R, R, R, S,… # $ CLI R, R, NA, NA, NA, R, NA, NA, NA, NA, NA, NA, R, R, R, R, R, NA… # $ AZM R, R, R, R, R, R, S, S, R, S, S, S, R, R, R, R, R, R, R, R, S,… # $ IPM NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, S, S, NA, S, S… # $ MEM NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ MTR NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ CHL NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ COL NA, NA, R, R, R, R, R, R, R, R, R, R, NA, NA, NA, R, R, R, R, … # $ MUP NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA… # $ RIF R, R, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, R, R, R, R, R, N… 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 summarise_if(is.rsi, resistance) %>% # then get resistance of all drugs select( order, genus, AMC, CXM, CTX, CAZ, GEN, TOB, TMP, SXT ) # and select only relevant columns head(resistance_data) # # A tibble: 6 × 10 # # Groups: order [5] # order genus AMC CXM CTX CAZ GEN TOB TMP SXT # # 1 (unknown order) (unknown ge… NA NA NA NA NA NA NA NA # 2 Actinomycetales Schaalia NA NA NA NA NA NA NA NA # 3 Bacteroidales Bacteroides NA NA NA NA NA NA NA NA # 4 Campylobacterales Campylobact… NA NA NA NA NA NA NA NA # 5 Caryophanales Gemella NA NA NA NA NA NA NA NA # 6 Caryophanales Listeria NA NA NA NA NA NA NA NA"},{"path":"https://msberends.github.io/AMR/articles/PCA.html","id":"perform-principal-component-analysis","dir":"Articles","previous_headings":"","what":"Perform principal component analysis","title":"How to conduct principal component analysis (PCA) for AMR","text":"new pca() function automatically filter rows contain numeric values selected variables, now need : result can reviewed good old summary() function: Good news. first two components explain total 93.3% variance (see PC1 PC2 values Proportion Variance. can create -called biplot base R biplot() function, see antimicrobial resistance per drug explain difference per microorganism.","code":"pca_result <- pca(resistance_data) # ℹ Columns selected for PCA: \"AMC\", \"CAZ\", \"CTX\", \"CXM\", \"GEN\", \"SXT\", \"TMP\" # and \"TOB\". Total observations available: 7. summary(pca_result) # Groups (n=4, named as 'order'): # [1] \"Caryophanales\" \"Enterobacterales\" \"Lactobacillales\" \"Pseudomonadales\" # Importance of components: # PC1 PC2 PC3 PC4 PC5 PC6 PC7 # Standard deviation 2.1539 1.6807 0.6138 0.33879 0.20808 0.03140 5.121e-17 # Proportion of Variance 0.5799 0.3531 0.0471 0.01435 0.00541 0.00012 0.000e+00 # Cumulative Proportion 0.5799 0.9330 0.9801 0.99446 0.99988 1.00000 1.000e+00 # Groups (n=4, named as 'order'): # [1] \"Caryophanales\" \"Enterobacterales\" \"Lactobacillales\" \"Pseudomonadales\""},{"path":"https://msberends.github.io/AMR/articles/PCA.html","id":"plotting-the-results","dir":"Articles","previous_headings":"","what":"Plotting the results","title":"How to conduct principal component analysis (PCA) for AMR","text":"can’t see explanation points. Perhaps works better new ggplot_pca() function, automatically adds right labels even groups: can also print ellipse per group, edit appearance:","code":"biplot(pca_result) ggplot_pca(pca_result) ggplot_pca(pca_result, ellipse = TRUE) + ggplot2::labs(title = \"An AMR/PCA biplot!\")"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"spss-sas-stata","dir":"Articles","previous_headings":"","what":"SPSS / SAS / Stata","title":"How to import data from SPSS / SAS / Stata","text":"SPSS (Statistical Package Social Sciences) probably well-known software package statistical analysis. SPSS easier learn R, SPSS click menu run parts analysis. user-friendliness, taught universities particularly useful students new statistics. experience, guess pretty much (bio)medical students know time graduate. SAS Stata comparable statistical packages popular big industries.","code":""},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"compared-to-r","dir":"Articles","previous_headings":"","what":"Compared to R","title":"How to import data from SPSS / SAS / Stata","text":"said, SPSS easier learn R. SPSS, SAS Stata come major downsides comparing R: R highly modular. official R network (CRAN) features 16,000 packages time writing, AMR package one . packages peer-reviewed publication. Aside official channel, also developers choose submit CRAN, rather keep public repository, like GitHub. may even lot 14,000 packages . Bottom line , can really extend ask somebody . Take example AMR package. Among things, adds reliable reference data R help data cleaning analysis. SPSS, SAS Stata never know valid MIC value Gram stain E. coli . species Klebiella resistant amoxicillin Floxapen® trade name flucloxacillin. facts properties often needed clean existing data, inconvenient software package without reliable reference data. See demonstration. R extremely flexible. write syntax , can anything want. flexibility transforming, arranging, grouping summarising data, drawing plots, endless - SPSS, SAS Stata bound algorithms format styles. may bit flexible, can probably never create specific publication-ready plot without using (paid) software. sometimes write syntaxes SPSS run complete analysis ‘automate’ work, lot less time R. notice writing syntaxes R lot nifty clever SPSS. Still, working statistical package, knowledge (statistically) willing accomplish. R can easily automated. last years, R Markdown really made interesting development. R Markdown, can easily produce reports, whether format Word, PowerPoint, website, PDF document just raw data Excel. even allows use reference file containing layout style (e.g. fonts colours) organisation. use lot generate weekly monthly reports automatically. Just write code enjoy automatically updated reports interval like. even professional environment, create Shiny apps: live manipulation data using custom made website. webdesign knowledge needed (JavaScript, CSS, HTML) almost zero. R huge community. Many R users just ask questions websites like StackOverflow.com, largest online community programmers. time writing, 469,596 R-related questions already asked platform (covers questions answers programming language). experience, questions answered within couple minutes. R understands data type, including SPSS/SAS/Stata. ’s vice versa ’m afraid. can import data source R. example SPSS, SAS Stata (link), Minitab, Epi Info EpiData (link), Excel (link), flat files like CSV, TXT TSV (link), directly databases datawarehouses anywhere world (link). can even scrape websites download tables live internet (link) get results API call transform data one command (link). best part - can export R data formats well. can import SPSS file, analysis neatly R export resulting tables Excel files sharing. R completely free open-source. strings attached. created maintained volunteers believe (data) science open publicly available everybody. SPSS, SAS Stata quite expensive. IBM SPSS Staticstics comes subscriptions nowadays, varying USD 1,300 USD 8,500 per user per year. SAS Analytics Pro costs around USD 10,000 per computer. Stata also business model subscription fees, varying USD 600 USD 2,800 per computer per year, lower prices come limitation number variables can work . still offer benefits R. working midsized small company, can save tens thousands dollars using R instead e.g. SPSS - gaining even functions flexibility. R enthousiasts can much PR want (like ), nobody officially associated affiliated R. really free. R (nowadays) preferred analysis software academic papers. present, R among world powerful statistical languages, generally popular science (Bollmann et al., 2017). reasons, number references R analysis method academic papers rising continuously even surpassed SPSS academic use (Muenchen, 2014). believe thing SPSS , always great user interface easy learn use. Back developed , little competition, let alone R. R didn’t even professional user interface last decade (called RStudio, see ). people used R nineties 2010 almost completely incomparable R used now. language restyled completely volunteers dedicated professionals field data science. SPSS great nothing else compete. now 2022, don’t see reason SPSS better use R. demonstrate first point:","code":"# not all values are valid MIC values: as.mic(0.125) # Class 'mic' # [1] 0.125 as.mic(\"testvalue\") # Class 'mic' # [1] # the Gram stain is available for all bacteria: mo_gramstain(\"E. coli\") # [1] \"Gram-negative\" # Klebsiella is intrinsic resistant to amoxicillin, according to EUCAST: klebsiella_test <- data.frame( mo = \"klebsiella\", amox = \"S\", stringsAsFactors = FALSE ) klebsiella_test # (our original data) # mo amox # 1 klebsiella S eucast_rules(klebsiella_test, info = FALSE) # (the edited data by EUCAST rules) # mo amox # 1 klebsiella R # hundreds of trade names can be translated to a name, trade name or an ATC code: ab_name(\"floxapen\") # [1] \"Flucloxacillin\" ab_tradenames(\"floxapen\") # [1] \"culpen\" \"floxacillin\" \"floxacillin sodium\" # [4] \"floxapen\" \"floxapen sodium salt\" \"fluclox\" # [7] \"flucloxacilina\" \"flucloxacillin\" \"flucloxacilline\" # [10] \"flucloxacillinum\" \"fluorochloroxacillin\" \"staphylex\" ab_atc(\"floxapen\") # [1] \"J01CF05\""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"rstudio","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata","what":"RStudio","title":"How to import data from SPSS / SAS / Stata","text":"work R, probably best option use RStudio. open-source free desktop environment allows run R code, also supports project management, version management, package management convenient import menus work data sources. can also install RStudio Server private corporate server, brings nothing less complete RStudio software website (home work). import data file, just click Import Dataset Environment tab: additional packages needed, RStudio ask installed beforehand. window opens, can define options (parameters) used import ’re ready go: want named variables imported factors resembles SPSS , use as_factor(). difference :","code":"SPSS_data # # A tibble: 4,203 x 4 # v001 sex status statusage # # 1 10002 1 1 76.6 # 2 10004 0 1 59.1 # 3 10005 1 1 54.5 # 4 10006 1 1 54.1 # 5 10007 1 1 57.7 # 6 10008 1 1 62.8 # 7 10010 0 1 63.7 # 8 10011 1 1 73.1 # 9 10017 1 1 56.7 # 10 10018 0 1 66.6 # # ... with 4,193 more rows as_factor(SPSS_data) # # A tibble: 4,203 x 4 # v001 sex status statusage # # 1 10002 Male alive 76.6 # 2 10004 Female alive 59.1 # 3 10005 Male alive 54.5 # 4 10006 Male alive 54.1 # 5 10007 Male alive 57.7 # 6 10008 Male alive 62.8 # 7 10010 Female alive 63.7 # 8 10011 Male alive 73.1 # 9 10017 Male alive 56.7 # 10 10018 Female alive 66.6 # # ... with 4,193 more rows"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"base-r","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata","what":"Base R","title":"How to import data from SPSS / SAS / Stata","text":"import data SPSS, SAS Stata, can use great haven package : can now import files follows:","code":"# download and install the latest version: install.packages(\"haven\") # load the package you just installed: library(haven)"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"spss","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata > Base R","what":"SPSS","title":"How to import data from SPSS / SAS / Stata","text":"read files SPSS R: forget as_factor(), mentioned . export R objects SPSS file format:","code":"# read any SPSS file based on file extension (best way): read_spss(file = \"path/to/file\") # read .sav or .zsav file: read_sav(file = \"path/to/file\") # read .por file: read_por(file = \"path/to/file\") # save as .sav file: write_sav(data = yourdata, path = \"path/to/file\") # save as compressed .zsav file: write_sav(data = yourdata, path = \"path/to/file\", compress = TRUE)"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"sas","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata > Base R","what":"SAS","title":"How to import data from SPSS / SAS / Stata","text":"read files SAS R: export R objects SAS file format:","code":"# read .sas7bdat + .sas7bcat files: read_sas(data_file = \"path/to/file\", catalog_file = NULL) # read SAS transport files (version 5 and version 8): read_xpt(file = \"path/to/file\") # save as regular SAS file: write_sas(data = yourdata, path = \"path/to/file\") # the SAS transport format is an open format # (required for submission of the data to the FDA) write_xpt(data = yourdata, path = \"path/to/file\", version = 8)"},{"path":"https://msberends.github.io/AMR/articles/SPSS.html","id":"stata","dir":"Articles","previous_headings":"Import data from SPSS/SAS/Stata > Base R","what":"Stata","title":"How to import data from SPSS / SAS / Stata","text":"read files Stata R: export R objects Stata file format:","code":"# read .dta file: read_stata(file = \"/path/to/file\") # works exactly the same: read_dta(file = \"/path/to/file\") # save as .dta file, Stata version 14: # (supports Stata v8 until v15 at the time of writing) write_dta(data = yourdata, path = \"/path/to/file\", version = 14)"},{"path":"https://msberends.github.io/AMR/articles/WHONET.html","id":"import-of-data","dir":"Articles","previous_headings":"","what":"Import of data","title":"How to work with WHONET data","text":"tutorial assumes already imported WHONET data e.g. readxl package. RStudio, can done using menu button ‘Import Dataset’ tab ‘Environment’. Choose option ‘Excel’ select exported file. Make sure date fields imported correctly. example syntax look like : package comes example data set WHONET. use analysis.","code":"library(readxl) data <- read_excel(path = \"path/to/your/file.xlsx\")"},{"path":"https://msberends.github.io/AMR/articles/WHONET.html","id":"preparation","dir":"Articles","previous_headings":"","what":"Preparation","title":"How to work with WHONET data","text":"First, load relevant packages yet . use tidyverse analyses. . don’t know yet, suggest read website: https://www.tidyverse.org/. transform variables simplify automate analysis: Microorganisms transformed microorganism codes (called mo) using Catalogue Life reference data set, contains ~70,000 microorganisms taxonomic kingdoms Bacteria, Fungi Protozoa. tranformation .mo(). function also recognises almost WHONET abbreviations microorganisms. Antimicrobial results interpretations clean valid. words, contain values \"S\", \"\" \"R\". exactly .rsi() function . errors warnings, values transformed succesfully. also created package dedicated data cleaning checking, called cleaner package. freq() function can used create frequency tables. let’s check data, couple frequency tables: Frequency table Class: character Length: 500 Available: 500 (100%, NA: 0 = 0%) Unique: 38 Shortest: 11 Longest: 40 (omitted 28 entries, n = 57 [11.4%]) Frequency table Class: factor > ordered > rsi (numeric) Length: 500 Levels: 3: S < < R Available: 481 (96.2%, NA: 19 = 3.8%) Unique: 3 Drug: Amoxicillin/clavulanic acid (AMC, J01CR02) Drug group: Beta-lactams/penicillins %SI: 78.59%","code":"library(dplyr) # part of tidyverse library(ggplot2) # part of tidyverse library(AMR) # this package library(cleaner) # to create frequency tables # transform variables data <- WHONET %>% # get microbial ID based on given organism mutate(mo = as.mo(Organism)) %>% # transform everything from \"AMP_ND10\" to \"CIP_EE\" to the new `rsi` class mutate_at(vars(AMP_ND10:CIP_EE), as.rsi) # our newly created `mo` variable, put in the mo_name() function data %>% freq(mo_name(mo), nmax = 10) # our transformed antibiotic columns # amoxicillin/clavulanic acid (J01CR02) as an example data %>% freq(AMC_ND2)"},{"path":"https://msberends.github.io/AMR/articles/WHONET.html","id":"a-first-glimpse-at-results","dir":"Articles","previous_headings":"","what":"A first glimpse at results","title":"How to work with WHONET data","text":"easy ggplot already give lot information, using included ggplot_rsi() function:","code":"data %>% group_by(Country) %>% select(Country, AMP_ND2, AMC_ED20, CAZ_ED10, CIP_ED5) %>% ggplot_rsi(translate_ab = \"ab\", facet = \"Country\", datalabels = FALSE)"},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"microorganisms-full-microbial-taxonomy","dir":"Articles","previous_headings":"","what":"microorganisms: Full Microbial Taxonomy","title":"Data sets for download / own use","text":"data set 48,883 rows 22 columns, containing following column names:mo, fullname, status, kingdom, phylum, class, order, family, genus, species, subspecies, rank, ref, source, lpsn, lpsn_parent, lpsn_renamed_to, gbif, gbif_parent, gbif_renamed_to, prevalence snomed. data set R available microorganisms, load AMR package. last updated 29 October 2022 12:15:23 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (1.1 MB) Download tab-separated text file (10.6 MB) Download Microsoft Excel workbook (4.8 MB) Download Apache Feather file (5.1 MB) Download Apache Parquet file (2.5 MB) Download SAS data file (47.8 MB) Download IBM SPSS Statistics data file (15.8 MB) Download Stata DTA file (43.8 MB) NOTE: exported files SAS, SPSS Stata contain first 50 SNOMED codes per record, file size otherwise exceed 100 MB; file size limit GitHub. Advice? Use R instead. tab-separated text file Microsoft Excel workbook contain SNOMED codes comma separated values.","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source","dir":"Articles","previous_headings":"microorganisms: Full Microbial Taxonomy","what":"Source","title":"Data sets for download / own use","text":"data set contains full microbial taxonomy five kingdoms List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF): Parte, AC et al. (2020). List Prokaryotic names Standing Nomenclature (LPSN) moves DSMZ. International Journal Systematic Evolutionary Microbiology, 70, 5607-5612; . Accessed https://lpsn.dsmz.de 12 September, 2022. GBIF Secretariat (November 26, 2021). GBIF Backbone Taxonomy. Checklist dataset . Accessed https://www.gbif.org 12 September, 2022. Public Health Information Network Vocabulary Access Distribution System (PHIN VADS). US Edition SNOMED CT 1 September 2020. Value Set Name ‘Microoganism’, OID 2.16.840.1.114222.4.11.1009 (v12). URL: https://phinvads.cdc.gov","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"example-content","dir":"Articles","previous_headings":"microorganisms: Full Microbial Taxonomy","what":"Example content","title":"Data sets for download / own use","text":"Included (sub)species per taxonomic kingdom: Example rows filtering genus Escherichia:","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"antibiotics-antibiotic-agents","dir":"Articles","previous_headings":"","what":"antibiotics: Antibiotic Agents","title":"Data sets for download / own use","text":"data set 483 rows 14 columns, containing following column names:ab, cid, name, group, atc, atc_group1, atc_group2, abbreviations, synonyms, oral_ddd, oral_units, iv_ddd, iv_units loinc. data set R available antibiotics, load AMR package. last updated 30 October 2022 20:05:46 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (39 kB) Download tab-separated text file (0.1 MB) Download Microsoft Excel workbook (66 kB) Download Apache Feather file (0.1 MB) Download Apache Parquet file (97 kB) Download SAS data file (1.9 MB) Download IBM SPSS Statistics data file (0.3 MB) Download Stata DTA file (0.4 MB) tab-separated text file Microsoft Excel workbook, SAS, SPSS Stata files contain ATC codes, common abbreviations, trade names LOINC codes comma separated values.","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-1","dir":"Articles","previous_headings":"antibiotics: Antibiotic Agents","what":"Source","title":"Data sets for download / own use","text":"data set contains EARS-Net ATC codes gathered WHONET, compound IDs PubChem. also contains brand names (synonyms) found PubChem Defined Daily Doses (DDDs) oral parenteral administration. ATC/DDD index Collaborating Centre Drug Statistics Methodology (note: may used commercial purposes, freely available CC website personal use) PubChem US National Library Medicine WHONET software 2019","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"antivirals-antiviral-agents","dir":"Articles","previous_headings":"","what":"antivirals: Antiviral Agents","title":"Data sets for download / own use","text":"data set 102 rows 9 columns, containing following column names:atc, cid, name, atc_group, synonyms, oral_ddd, oral_units, iv_ddd iv_units. data set R available antivirals, load AMR package. last updated 27 August 2022 18:49:37 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (4 kB) Download tab-separated text file (14 kB) Download Microsoft Excel workbook (13 kB) Download Apache Feather file (12 kB) Download Apache Parquet file (10 kB) Download SAS data file (80 kB) Download IBM SPSS Statistics data file (27 kB) Download Stata DTA file (67 kB) tab-separated text file Microsoft Excel workbook, SAS, SPSS Stata files contain trade names comma separated values.","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-2","dir":"Articles","previous_headings":"antivirals: Antiviral Agents","what":"Source","title":"Data sets for download / own use","text":"data set contains ATC codes gathered compound IDs PubChem. also contains brand names (synonyms) found PubChem Defined Daily Doses (DDDs) oral parenteral administration. ATC/DDD index Collaborating Centre Drug Statistics Methodology (note: may used commercial purposes, freely available CC website personal use) PubChem US National Library Medicine","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"rsi_translation-interpretation-from-mic-values-disk-diameters-to-rsi","dir":"Articles","previous_headings":"","what":"rsi_translation: Interpretation from MIC values / disk diameters to R/SI","title":"Data sets for download / own use","text":"data set 18,308 rows 11 columns, containing following column names:guideline, method, site, mo, rank_index, ab, ref_tbl, disk_dose, breakpoint_S, breakpoint_R uti. data set R available rsi_translation, load AMR package. last updated 29 October 2022 17:01:23 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (42 kB) Download tab-separated text file (1.9 MB) Download Microsoft Excel workbook (0.8 MB) Download Apache Feather file (0.7 MB) Download Apache Parquet file (87 kB) Download SAS data file (3.6 MB) Download IBM SPSS Statistics data file (2.3 MB) Download Stata DTA file (3.4 MB)","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-3","dir":"Articles","previous_headings":"rsi_translation: Interpretation from MIC values / disk diameters to R/SI","what":"Source","title":"Data sets for download / own use","text":"data set contains interpretation rules MIC values disk diffusion diameters. Included guidelines CLSI (2013-2022) EUCAST (2013-2022).","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"intrinsic_resistant-intrinsic-bacterial-resistance","dir":"Articles","previous_headings":"","what":"intrinsic_resistant: Intrinsic Bacterial Resistance","title":"Data sets for download / own use","text":"data set 134,659 rows 2 columns, containing following column names:mo ab. data set R available intrinsic_resistant, load AMR package. last updated 31 October 2022 10:19:06 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (78 kB) Download tab-separated text file (5.1 MB) Download Microsoft Excel workbook (1.3 MB) Download Apache Feather file (1.2 MB) Download Apache Parquet file (0.2 MB) Download SAS data file (9.8 MB) Download IBM SPSS Statistics data file (7.4 MB) Download Stata DTA file (9.5 MB)","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-4","dir":"Articles","previous_headings":"intrinsic_resistant: Intrinsic Bacterial Resistance","what":"Source","title":"Data sets for download / own use","text":"data set contains defined intrinsic resistance EUCAST bug-drug combinations, based ‘EUCAST Expert Rules’ ‘EUCAST Intrinsic Resistance Unusual Phenotypes’ v3.3 (2021).","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"example-content-4","dir":"Articles","previous_headings":"intrinsic_resistant: Intrinsic Bacterial Resistance","what":"Example content","title":"Data sets for download / own use","text":"Example rows filtering Enterobacter cloacae:","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"dosage-dosage-guidelines-from-eucast","dir":"Articles","previous_headings":"","what":"dosage: Dosage Guidelines from EUCAST","title":"Data sets for download / own use","text":"data set 169 rows 9 columns, containing following column names:ab, name, type, dose, dose_times, administration, notes, original_txt eucast_version. data set R available dosage, load AMR package. last updated 30 October 2022 20:05:46 UTC. Find info structure data set . Direct download links: Download original R Data Structure (RDS) file (3 kB) Download tab-separated text file (15 kB) Download Microsoft Excel workbook (14 kB) Download Apache Feather file (11 kB) Download Apache Parquet file (7 kB) Download SAS data file (52 kB) Download IBM SPSS Statistics data file (23 kB) Download Stata DTA file (44 kB)","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-5","dir":"Articles","previous_headings":"dosage: Dosage Guidelines from EUCAST","what":"Source","title":"Data sets for download / own use","text":"EUCAST breakpoints used package based dosages data set. Currently included dosages data set meant : ‘EUCAST Clinical Breakpoint Tables’ v11.0 (2021).","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"example_isolates-example-data-for-practice","dir":"Articles","previous_headings":"","what":"example_isolates: Example Data for Practice","title":"Data sets for download / own use","text":"data set 2,000 rows 46 columns, containing following column names:date, patient, age, gender, ward, mo, PEN, OXA, FLC, AMX, AMC, AMP, TZP, CZO, FEP, CXM, FOX, CTX, CAZ, CRO, GEN, TOB, AMK, KAN, TMP, SXT, NIT, FOS, LNZ, CIP, MFX, VAN, TEC, TCY, TGC, DOX, ERY, CLI, AZM, IPM, MEM, MTR, CHL, COL, MUP RIF. data set R available example_isolates, load AMR package. last updated 27 August 2022 18:49:37 UTC. Find info structure data set .","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-6","dir":"Articles","previous_headings":"example_isolates: Example Data for Practice","what":"Source","title":"Data sets for download / own use","text":"data set contains randomised fictitious data, reflects reality can used practise AMR data analysis.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"example_isolates_unclean-example-data-for-practice","dir":"Articles","previous_headings":"","what":"example_isolates_unclean: Example Data for Practice","title":"Data sets for download / own use","text":"data set 3,000 rows 8 columns, containing following column names:patient_id, hospital, date, bacteria, AMX, AMC, CIP GEN. data set R available example_isolates_unclean, load AMR package. last updated 27 August 2022 18:49:37 UTC. Find info structure data set .","code":""},{"path":"https://msberends.github.io/AMR/articles/datasets.html","id":"source-7","dir":"Articles","previous_headings":"example_isolates_unclean: Example Data for Practice","what":"Source","title":"Data sets for download / own use","text":"data set contains randomised fictitious data, reflects reality can used practise AMR data analysis.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/articles/resistance_predict.html","id":"needed-r-packages","dir":"Articles","previous_headings":"","what":"Needed R packages","title":"How to predict antimicrobial resistance","text":"many uses R, need additional packages AMR data analysis. package works closely together tidyverse packages dplyr ggplot2. tidyverse tremendously improves way conduct data science - allows natural way writing syntaxes creating beautiful plots R. AMR package depends packages even extends use functions.","code":"library(dplyr) library(ggplot2) library(AMR) # (if not yet installed, install with:) # install.packages(c(\"tidyverse\", \"AMR\"))"},{"path":"https://msberends.github.io/AMR/articles/resistance_predict.html","id":"prediction-analysis","dir":"Articles","previous_headings":"","what":"Prediction analysis","title":"How to predict antimicrobial resistance","text":"package contains function resistance_predict(), takes input functions AMR data analysis. Based date column, calculates cases per year uses regression model predict antimicrobial resistance. basically easy : function look date column col_date set. running commands, summary regression model printed unless using resistance_predict(..., info = FALSE). text printed summary - actual result (output) function data.frame containing year: number observations, actual observed resistance, estimated resistance standard error estimation: function plot available base R, can extended packages depend output based type input. extended function cope resistance predictions: fastest way plot result. automatically adds right axes, error bars, titles, number available observations type model. also support ggplot2 package custom function ggplot_rsi_predict() create appealing plots:","code":"# resistance prediction of piperacillin/tazobactam (TZP): resistance_predict(tbl = example_isolates, col_date = \"date\", col_ab = \"TZP\", model = \"binomial\") # or: example_isolates %>% resistance_predict( col_ab = \"TZP\", model = \"binomial\" ) # to bind it to object 'predict_TZP' for example: predict_TZP <- example_isolates %>% resistance_predict( col_ab = \"TZP\", model = \"binomial\" ) predict_TZP # # A tibble: 31 × 7 # year value se_min se_max observations observed estimated # * # 1 2002 0.2 NA NA 15 0.2 0.0562 # 2 2003 0.0625 NA NA 32 0.0625 0.0616 # 3 2004 0.0854 NA NA 82 0.0854 0.0676 # 4 2005 0.05 NA NA 60 0.05 0.0741 # 5 2006 0.0508 NA NA 59 0.0508 0.0812 # 6 2007 0.121 NA NA 66 0.121 0.0889 # 7 2008 0.0417 NA NA 72 0.0417 0.0972 # 8 2009 0.0164 NA NA 61 0.0164 0.106 # 9 2010 0.0566 NA NA 53 0.0566 0.116 # 10 2011 0.183 NA NA 93 0.183 0.127 # # … with 21 more rows plot(predict_TZP) ggplot_rsi_predict(predict_TZP) # choose for error bars instead of a ribbon ggplot_rsi_predict(predict_TZP, ribbon = FALSE)"},{"path":"https://msberends.github.io/AMR/articles/resistance_predict.html","id":"choosing-the-right-model","dir":"Articles","previous_headings":"Prediction analysis","what":"Choosing the right model","title":"How to predict antimicrobial resistance","text":"Resistance easily predicted; look vancomycin resistance Gram-positive bacteria, spread (.e. standard error) enormous: Vancomycin resistance 100% ten years, might remain low. can define model model parameter. model chosen generalised linear regression model using binomial distribution, assuming period zero resistance followed period increasing resistance leading slowly resistance. Valid values : vancomycin resistance Gram-positive bacteria, linear model might appropriate: model also available object, attribute:","code":"example_isolates %>% filter(mo_gramstain(mo, language = NULL) == \"Gram-positive\") %>% resistance_predict(col_ab = \"VAN\", year_min = 2010, info = FALSE, model = \"binomial\") %>% ggplot_rsi_predict() # ℹ Using column 'date' as input for `col_date`. example_isolates %>% filter(mo_gramstain(mo, language = NULL) == \"Gram-positive\") %>% resistance_predict(col_ab = \"VAN\", year_min = 2010, info = FALSE, model = \"linear\") %>% ggplot_rsi_predict() # ℹ Using column 'date' as input for `col_date`. model <- attributes(predict_TZP)$model summary(model)$family # # Family: binomial # Link function: logit summary(model)$coefficients # Estimate Std. Error z value Pr(>|z|) # (Intercept) -200.67944891 46.17315349 -4.346237 1.384932e-05 # year 0.09883005 0.02295317 4.305725 1.664395e-05"},{"path":"https://msberends.github.io/AMR/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Matthijs S. Berends. Author, maintainer. Christian F. Luz. Author, contributor. Dennis Souverein. Author, contributor. Erwin E. . Hassing. Author, contributor. Casper J. Albers. Thesis advisor. Peter Dutey-Magni. Contributor. Judith M. Fonville. Contributor. Alex W. Friedrich. Thesis advisor. Corinna Glasner. Thesis advisor. Eric H. L. C. M. Hazenberg. Contributor. Gwen Knight. Contributor. Annick Lenglet. Contributor. Bart C. Meijer. Contributor. Dmytro Mykhailenko. Contributor. Anton Mymrikov. Contributor. Sofia Ny. Contributor. Jonas Salm. Contributor. Rogier P. Schade. Contributor. Bhanu N. M. Sinha. Thesis advisor. Anthony Underwood. Contributor.","code":""},{"path":"https://msberends.github.io/AMR/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C (2022). “AMR: R Package Working Antimicrobial Resistance Data.” Journal Statistical Software, 104(3), 1–31. doi:10.18637/jss.v104.i03.","code":"@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}, }"},{"path":[]},{"path":"https://msberends.github.io/AMR/index.html","id":"introduction","dir":"","previous_headings":"","what":"Introduction","title":"Antimicrobial Resistance Data Analysis","text":"AMR package free open-source R package zero dependencies simplify analysis prediction Antimicrobial Resistance (AMR) work microbial antimicrobial data properties, using evidence-based methods. aim provide standard clean reproducible AMR data analysis, can therefore empower epidemiological analyses continuously enable surveillance treatment evaluation setting. work published Journal Statistical Software (Volume 104(3); DOI 10.18637/jss.v104.i03) formed basis two PhD theses (DOI 10.33612/diss.177417131 DOI 10.33612/diss.192486375). installing package, R knows ~49,000 distinct microbial species ~570 antibiotic, antimycotic antiviral drugs name code (including ATC, EARS-Net, ASIARS-Net, PubChem, LOINC SNOMED CT), knows valid R/SI MIC values. integral breakpoint guidelines CLSI EUCAST included last 10 years. supports can read data format, including WHONET data. package works Windows, macOS Linux versions R since R-3.0 (April 2013). designed work setting, including limited resources. created routine data analysis academic research Faculty Medical Sciences University Groningen, collaboration non-profit organisations Certe Medical Diagnostics Advice Foundation University Medical Center Groningen, actively durably maintained two public healthcare organisations Netherlands.","code":""},{"path":"https://msberends.github.io/AMR/index.html","id":"used-in-175-countries-translated-to-16-languages","dir":"","previous_headings":"Introduction","what":"Used in 175 countries, translated to 16 languages","title":"Antimicrobial Resistance Data Analysis","text":"Since first public release early 2018, R package used almost countries world. Click map enlarge see country names. AMR package available English, Chinese, Danish, Dutch, French, German, Greek, Italian, Japanese, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian. Antimicrobial drug (group) names colloquial microorganism names provided languages.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/index.html","id":"filtering-and-selecting-data","dir":"","previous_headings":"Practical examples","what":"Filtering and selecting data","title":"Antimicrobial Resistance Data Analysis","text":"defined row filter Gram-negative bacteria intrinsic resistance cefotaxime (mo_is_gram_negative() mo_is_intrinsic_resistant()) column selection two antibiotic groups (aminoglycosides() carbapenems()), reference data microorganisms antibiotics AMR package make sure get meant: base R equivalent : base R snippet work version R since April 2013 (R-3.0).","code":"# AMR works great with dplyr, but it's not required or neccesary library(AMR) library(dplyr) example_isolates %>% mutate(bacteria = mo_fullname()) %>% filter(mo_is_gram_negative(), mo_is_intrinsic_resistant(ab = \"cefotax\")) %>% select(bacteria, aminoglycosides(), carbapenems()) example_isolates$bacteria <- mo_fullname(example_isolates$mo) example_isolates[which(mo_is_gram_negative() & mo_is_intrinsic_resistant(ab = \"cefotax\")), c(\"bacteria\", aminoglycosides(), carbapenems())]"},{"path":"https://msberends.github.io/AMR/index.html","id":"calculating-resistance-per-group","dir":"","previous_headings":"Practical examples","what":"Calculating resistance per group","title":"Antimicrobial Resistance Data Analysis","text":"","code":"library(AMR) library(dplyr) out <- example_isolates %>% # group by ward: group_by(ward) %>% # calculate AMR using resistance(), over all aminoglycosides # and polymyxins: summarise(across(c(aminoglycosides(), polymyxins()), resistance)) out # transform the antibiotic columns to names: out %>% set_ab_names() # transform the antibiotic column to ATC codes: out %>% set_ab_names(property = \"atc\")"},{"path":"https://msberends.github.io/AMR/index.html","id":"what-else-can-you-do-with-this-package","dir":"","previous_headings":"","what":"What else can you do with this package?","title":"Antimicrobial Resistance Data Analysis","text":"package intended comprehensive toolbox integrated AMR data analysis. package can used : Reference taxonomy microorganisms, since package contains microbial (sub)species List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF) (manual) Interpreting raw MIC disk diffusion values, based CLSI EUCAST guideline last 10 years (manual) Retrieving antimicrobial drug names, doses forms administration clinical health care records (manual) Determining first isolates used AMR data analysis (manual) Calculating antimicrobial resistance (tutorial) Determining multi-drug resistance (MDR) / multi-drug resistant organisms (MDRO) (tutorial) Calculating (empirical) susceptibility mono therapy combination therapies (tutorial) Predicting future antimicrobial resistance using regression models (tutorial) Getting properties microorganism (like Gram stain, species, genus family) (manual) Getting properties antibiotic (like name, code EARS-Net/ATC/LOINC/PubChem, defined daily dose trade name) (manual) Plotting antimicrobial resistance (tutorial) Applying EUCAST expert rules (manual) Getting SNOMED codes microorganism, getting properties microorganism based SNOMED code (manual) Getting LOINC codes antibiotic, getting properties antibiotic based LOINC code (manual) Machine reading EUCAST CLSI guidelines 2011-2021 translate MIC values disk diffusion diameters R/SI (link) Principal component analysis AMR (tutorial)","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/index.html","id":"latest-official-version","dir":"","previous_headings":"Get this package","what":"Latest official version","title":"Antimicrobial Resistance Data Analysis","text":"package available official R network (CRAN). Install package R CRAN using command: downloaded installed automatically. RStudio, click menu Tools > Install Packages… type “AMR” press Install. Note: functions website may available latest release. use functions data sets mentioned website, install latest development version.","code":"install.packages(\"AMR\")"},{"path":"https://msberends.github.io/AMR/index.html","id":"latest-development-version","dir":"","previous_headings":"Get this package","what":"Latest development version","title":"Antimicrobial Resistance Data Analysis","text":"Please read Developer Guideline . latest unpublished development version can installed GitHub two ways: Manually, using: Automatically, using rOpenSci R-universe platform, adding R-universe address list repositories (‘repos’): , can install update AMR package like official release (e.g., using install.packages(\"AMR\") RStudio via Tools > Check Package Updates…).","code":"install.packages(\"remotes\") # if you haven't already remotes::install_github(\"msberends/AMR\") options(repos = c(getOption(\"repos\"), msberends = \"https://msberends.r-universe.dev\"))"},{"path":"https://msberends.github.io/AMR/index.html","id":"get-started","dir":"","previous_headings":"","what":"Get started","title":"Antimicrobial Resistance Data Analysis","text":"find conduct AMR data analysis, please continue reading get started click link ‘’ menu.","code":""},{"path":"https://msberends.github.io/AMR/index.html","id":"partners","dir":"","previous_headings":"","what":"Partners","title":"Antimicrobial Resistance Data Analysis","text":"development package part , related , made possible :","code":""},{"path":"https://msberends.github.io/AMR/index.html","id":"copyright","dir":"","previous_headings":"","what":"Copyright","title":"Antimicrobial Resistance Data Analysis","text":"R package free, open-source software licensed GNU General Public License v2.0 (GPL-2). nutshell, means package: May used commercial purposes May used private purposes May used patent purposes May modified, although: Modifications must released license distributing package Changes made code must documented May distributed, although: Source code must made available package distributed copy license copyright notice must included package. Comes LIMITATION liability Comes warranty","code":""},{"path":"https://msberends.github.io/AMR/reference/AMR-deprecated.html","id":null,"dir":"Reference","previous_headings":"","what":"Deprecated Functions — AMR-deprecated","title":"Deprecated Functions — AMR-deprecated","text":"functions -called 'Deprecated'. removed future release. Using functions give warning name function replaced (one).","code":""},{"path":"https://msberends.github.io/AMR/reference/AMR.html","id":null,"dir":"Reference","previous_headings":"","what":"The AMR Package — AMR","title":"The AMR Package — AMR","text":"Welcome AMR package. AMR free, open-source independent R package simplify analysis prediction Antimicrobial Resistance (AMR) work microbial antimicrobial data properties, using evidence-based methods. aim provide standard clean reproducible antimicrobial resistance data analysis, can therefore empower epidemiological analyses continuously enable surveillance treatment evaluation setting. work published Journal Statistical Software (Volume 104(3); doi:10.18637/jss.v104.i03 ) formed basis two PhD theses (doi:10.33612/diss.177417131 doi:10.33612/diss.192486375 ). installing package, R knows ~49,000 distinct microbial species ~580 antibiotic, antimycotic antiviral drugs name code (including ATC, EARS-NET, LOINC SNOMED CT), knows valid R/SI MIC values. supports data format, including WHONET/EARS-Net data. package fully independent R package works Windows, macOS Linux versions R since R-3.0.0 (April 2013). designed work setting, including limited resources. created routine data analysis academic research Faculty Medical Sciences University Groningen, collaboration non-profit organisations Certe Medical Diagnostics Advice University Medical Center Groningen. R package actively maintained free software; can freely use distribute personal commercial (patent) purposes terms GNU General Public License version 2.0 (GPL-2), published Free Software Foundation. package can used : Reference taxonomy microorganisms, since package contains microbial (sub)species List Prokaryotic names Standing Nomenclature (LPSN) Global Biodiversity Information Facility (GBIF) Interpreting raw MIC disk diffusion values, based CLSI EUCAST guideline last 10 years Retrieving antimicrobial drug names, doses forms administration clinical health care records Determining first isolates used AMR data analysis Calculating antimicrobial resistance Determining multi-drug resistance (MDR) / multi-drug resistant organisms (MDRO) Calculating (empirical) susceptibility mono therapy combination therapies Predicting future antimicrobial resistance using regression models Getting properties microorganism (Gram stain, species, genus family) Getting properties antibiotic (name, code EARS-Net/ATC/LOINC/PubChem, defined daily dose trade name) Plotting antimicrobial resistance Applying EUCAST expert rules Getting SNOMED codes microorganism, getting properties microorganism based SNOMED code Getting LOINC codes antibiotic, getting properties antibiotic based LOINC code Machine reading EUCAST CLSI guidelines 2011-2020 translate MIC values disk diffusion diameters R/SI Principal component analysis AMR","code":""},{"path":"https://msberends.github.io/AMR/reference/AMR.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"The AMR Package — AMR","text":"cite AMR publications use: Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C (2022). \"AMR: R Package Working Antimicrobial Resistance Data.\" Journal Statistical Software, 104(3), 1-31. doi:10.18637/jss.v104.i03 . BibTeX entry LaTeX users :","code":"@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}, }"},{"path":"https://msberends.github.io/AMR/reference/AMR.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"The AMR Package — AMR","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/AMR.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"The AMR Package — AMR","text":"Maintainer: Matthijs S. Berends m.berends@certe.nl (ORCID) Authors: Christian F. Luz (ORCID) [contributor] Dennis Souverein (ORCID) [contributor] Erwin E. . Hassing [contributor] contributors: Casper J. Albers (ORCID) [thesis advisor] Peter Dutey-Magni (ORCID) [contributor] Judith M. Fonville [contributor] Alex W. Friedrich (ORCID) [thesis advisor] Corinna Glasner (ORCID) [thesis advisor] Eric H. L. C. M. Hazenberg [contributor] Gwen Knight (ORCID) [contributor] Annick Lenglet (ORCID) [contributor] Bart C. Meijer [contributor] Dmytro Mykhailenko [contributor] Anton Mymrikov [contributor] Sofia Ny (ORCID) [contributor] Jonas Salm [contributor] Rogier P. Schade [contributor] Bhanu N. M. Sinha (ORCID) [thesis advisor] Anthony Underwood (ORCID) [contributor]","code":""},{"path":"https://msberends.github.io/AMR/reference/WHOCC.html","id":null,"dir":"Reference","previous_headings":"","what":"WHOCC: WHO Collaborating Centre for Drug Statistics Methodology — WHOCC","title":"WHOCC: WHO Collaborating Centre for Drug Statistics Methodology — WHOCC","text":"antimicrobial drugs official names, ATC codes, ATC groups defined daily dose (DDD) included package, using Collaborating Centre Drug Statistics Methodology.","code":""},{"path":"https://msberends.github.io/AMR/reference/WHOCC.html","id":"whocc","dir":"Reference","previous_headings":"","what":"WHOCC","title":"WHOCC: WHO Collaborating Centre for Drug Statistics Methodology — WHOCC","text":"package contains ~550 antibiotic, antimycotic antiviral drugs Anatomical Therapeutic Chemical (ATC) codes, ATC groups Defined Daily Dose (DDD) World Health Organization Collaborating Centre Drug Statistics Methodology (WHOCC, https://www.whocc.) Pharmaceuticals Community Register European Commission (https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm). become gold standard international drug utilisation monitoring research. WHOCC located Oslo Norwegian Institute Public Health funded Norwegian government. European Commission executive European Union promotes general interest. NOTE: WHOCC copyright allow use commercial purposes, unlike info package. See https://www.whocc./copyright_disclaimer/.","code":""},{"path":"https://msberends.github.io/AMR/reference/WHOCC.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"WHOCC: WHO Collaborating Centre for Drug Statistics Methodology — WHOCC","text":"","code":"as.ab(\"meropenem\") #> Class 'ab' #> [1] MEM ab_name(\"J01DH02\") #> [1] \"Meropenem\" ab_tradenames(\"flucloxacillin\") #> [1] \"culpen\" \"floxacillin\" \"floxacillin sodium\" #> [4] \"floxapen\" \"floxapen sodium salt\" \"fluclox\" #> [7] \"flucloxacilina\" \"flucloxacillin\" \"flucloxacilline\" #> [10] \"flucloxacillinum\" \"fluorochloroxacillin\" \"staphylex\""},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":null,"dir":"Reference","previous_headings":"","what":"Data Set with 500 Isolates - WHONET Example — WHONET","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"example data set exact structure export file WHONET. files can used package, example data set shows. antibiotic results example_isolates data set. patient names created using online surname generators place practice purposes.","code":""},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"","code":"WHONET"},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"tibble 500 observations 53 variables: Identification number ID sample Specimen number ID specimen Organism Name microorganism. analysis, transform valid microbial class, using .mo(). Country Country origin Laboratory Name laboratory Last name Fictitious last name patient First name Fictitious initial patient Sex Fictitious gender patient Age Fictitious age patient Age category Age group, can also looked using age_groups() Date admissionDate hospital admission Specimen dateDate specimen received laboratory Specimen type Specimen type group Specimen type (Numeric) Translation \"Specimen type\" Reason Reason request Differential Diagnosis Isolate number ID isolate Organism type Type microorganism, can also looked using mo_type() Serotype Serotype microorganism Beta-lactamase Microorganism produces beta-lactamase? ESBL Microorganism produces extended spectrum beta-lactamase? Carbapenemase Microorganism produces carbapenemase? MRSA screening test Microorganism possible MRSA? Inducible clindamycin resistance Clindamycin can induced? Comment comments Date data entryDate data entered WHONET AMP_ND10:CIP_EE 28 different antibiotics. can lookup abbreviations antibiotics data set, use e.g. ab_name(\"AMP\") get official name immediately. analysis, transform valid antibiotic class, using .rsi().","code":""},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"Like data sets package, data set publicly available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/WHONET.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data Set with 500 Isolates - WHONET Example — WHONET","text":"","code":"WHONET #> # A tibble: 500 × 53 #> Identif…¹ Speci…² Organ…³ Country Labor…⁴ Last …⁵ First…⁶ Sex Age Age c…⁷ #> #> 1 fe41d7ba… 1748 SPN Belgium Nation… Abel B. F 68 55-74 #> 2 91f175ec… 1767 eco The Ne… Nation… Delacr… F. M 89 75+ #> 3 cc401505… 1343 eco The Ne… Nation… Steens… F. M 85 75+ #> 4 e864b692… 1894 MAP Denmark Nation… Beyers… L. M 62 55-74 #> 5 3d051fe3… 1739 PVU Belgium Nation… Hummel W. M 86 75+ #> 6 c80762a0… 1846 103 The Ne… Nation… Eikenb… J. F 53 25-54 #> 7 8022d372… 1628 103 Denmark Nation… Leclerc S. F 77 75+ #> 8 f3dc5f55… 1493 eco The Ne… Nation… Delacr… W. M 53 25-54 #> 9 15add38f… 1847 eco France Nation… Van La… S. F 63 55-74 #> 10 fd41248d… 1458 eco Germany Nation… Moulin O. F 75 75+ #> # … with 490 more rows, 43 more variables: `Date of admission` , #> # `Specimen date` , `Specimen type` , #> # `Specimen type (Numeric)` , Reason , `Isolate number` , #> # `Organism type` , Serotype , `Beta-lactamase` , ESBL , #> # Carbapenemase , `MRSA screening test` , #> # `Inducible clindamycin resistance` , Comment , #> # `Date of data entry` , AMP_ND10 , AMC_ED20 , …"},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"Use function e.g. clinical texts health care records. returns list antimicrobial drugs, doses forms administration found texts.","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"","code":"ab_from_text( text, type = c(\"drug\", \"dose\", \"administration\"), collapse = NULL, translate_ab = FALSE, thorough_search = NULL, info = interactive(), ... )"},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"text text analyse type type property search , either \"drug\", \"dose\" \"administration\", see Examples collapse character pass paste(, collapse = ...) return one character per element text, see Examples translate_ab type = \"drug\": column name antibiotics data set translate antibiotic abbreviations , using ab_property(). Defaults FALSE. Using TRUE equal using \"name\". thorough_search logical indicate whether input must extensively searched misspelling faulty input values. Setting TRUE take considerably time using FALSE. default, turn TRUE input elements contain maximum three words. info logical indicate whether progress bar printed, defaults TRUE interactive mode ... arguments passed .ab()","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"list, character collapse NULL","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"function also internally used .ab(), although searches first drug name throw note drug names returned. Note: .ab() function may use long regular expression match brand names antimicrobial agents. may fail systems.","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"argument-type","dir":"Reference","previous_headings":"","what":"Argument type","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"default, function search antimicrobial drug names. text elements searched official names, ATC codes brand names. uses .ab() internally, correct misspelling. type = \"dose\" (similar, like \"dosing\", \"doses\"), text elements searched numeric values higher 100 resemble years. output numeric. supports unit (g, mg, IE, etc.) multiple values one clinical text, see Examples. type = \"administration\" (abbreviations, like \"admin\", \"adm\"), text elements searched form drug administration. supports following forms (including common abbreviations): buccal, implant, inhalation, instillation, intravenous, nasal, oral, parenteral, rectal, sublingual, transdermal vaginal. Abbreviations oral ('po', 'per os') become \"oral\", values intravenous ('iv', 'intraven') become \"iv\". supports multiple values one clinical text, see Examples.","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"argument-collapse","dir":"Reference","previous_headings":"","what":"Argument collapse","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"Without using collapse, function return list. can convenient use e.g. inside mutate()):df %>% mutate(abx = ab_from_text(clinical_text)) returned AB codes can transformed official names, groups, etc. ab_* functions ab_name() ab_group(), using translate_ab argument. using collapse, function return character:df %>% mutate(abx = ab_from_text(clinical_text, collapse = \"|\"))","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_from_text.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Retrieve Antimicrobial Drug Names and Doses from Clinical Text — ab_from_text","text":"","code":"# 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 tds\") #> [[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\" \"Quinolones\" 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_c…¹ abx_d…² abx_a…³ abx_c…⁴ abx_c…⁵ abx_c…⁶ abx_c…⁷ #> #> 1 given 400mg cipro and… CIP|AMX Ciprof… 400|500 NA #> 2 started on doxy iv to… DOX Doxycy… NA iv #> # … with abbreviated variable names ¹abx_codes, ²abx_doses, ³abx_admin, #> # ⁴abx_coll, ⁵abx_coll_names, ⁶abx_coll_doses, ⁷abx_coll_admin # }"},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Properties of an Antibiotic — ab_property","title":"Get Properties of an Antibiotic — ab_property","text":"Use functions return specific property antibiotic antibiotics data set. input values evaluated internally .ab().","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Properties of an Antibiotic — ab_property","text":"","code":"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 )"},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Properties of an Antibiotic — ab_property","text":"x (vector ) text can coerced valid antibiotic code .ab() language language returned text, defaults system language (see get_AMR_locale()) can also set getOption(\"AMR_locale\"). Use language = NULL language = \"\" prevent translation. tolower logical indicate whether first character every output transformed lower case character. lead e.g. \"polymyxin B\" \"polymyxin b\". ... case set_ab_names() data data.frame: variables select (supports tidy selection column1:column4), otherwise arguments passed .ab() only_first logical indicate whether first ATC code must returned, giving preference J0-codes (.e., antimicrobial drug group) administration way administration, either \"oral\" \"iv\" open browse URL using utils::browseURL() property one column names one antibiotics data set: vector_or(colnames(antibiotics), sort = FALSE). data data.frame columns need renamed, character vector column names snake_case logical indicate whether names -called snake case: lower case spaces/slashes replaced underscore (_)","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Properties of an Antibiotic — ab_property","text":"integer case ab_cid() named list case ab_info() multiple ab_atc()/ab_synonyms()/ab_tradenames() double case ab_ddd() data.frame case set_ab_names() character cases","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get Properties of an Antibiotic — ab_property","text":"output translated possible. function ab_url() return direct URL official website. warning returned required ATC code available. function set_ab_names() special column renaming function data.frames. renames columns names resemble antimicrobial drugs. always makes sure new column names unique. property = \"atc\" set, preference given ATC codes J-group.","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Get Properties of an Antibiotic — ab_property","text":"World Health Organization () Collaborating Centre Drug Statistics Methodology: https://www.whocc./atc_ddd_index/ European Commission Public Health PHARMACEUTICALS - COMMUNITY REGISTER: https://ec.europa.eu/health/documents/community-register/html/reg_hum_atc.htm","code":""},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Get Properties of an Antibiotic — ab_property","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/ab_property.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get Properties of an Antibiotic — ab_property","text":"","code":"# all properties: ab_name(\"AMX\") # \"Amoxicillin\" #> [1] \"Amoxicillin\" ab_atc(\"AMX\") # \"J01CA04\" (ATC code from the WHO) #> [1] \"J01CA04\" ab_cid(\"AMX\") # 33613 (Compound ID from PubChem) #> [1] 33613 ab_synonyms(\"AMX\") # a list with brand names of amoxicillin #> [1] \"actimoxi\" \"amoclen\" \"amolin\" #> [4] \"amopen\" \"amopenixin\" \"amoxibiotic\" #> [7] \"amoxicaps\" \"amoxicilina\" \"amoxicillin\" #> [10] \"amoxicillin hydrate\" \"amoxicilline\" \"amoxicillinum\" #> [13] \"amoxiden\" \"amoxil\" \"amoxivet\" #> [16] \"amoxy\" \"amoxycillin\" \"amoxyke\" #> [19] \"anemolin\" \"aspenil\" \"atoksilin\" #> [22] \"biomox\" \"bristamox\" \"cemoxin\" #> [25] \"clamoxyl\" \"damoxy\" \"delacillin\" #> [28] \"demoksil\" \"dispermox\" \"efpenix\" #> [31] \"flemoxin\" \"hiconcil\" \"histocillin\" #> [34] \"hydroxyampicillin\" \"ibiamox\" \"imacillin\" #> [37] \"lamoxy\" \"largopen\" \"metafarma capsules\" #> [40] \"metifarma capsules\" \"moksilin\" \"moxacin\" #> [43] \"moxatag\" \"ospamox\" \"pamoxicillin\" #> [46] \"piramox\" \"promoxil\" \"remoxil\" #> [49] \"robamox\" \"sawamox pm\" \"tolodina\" #> [52] \"topramoxin\" \"unicillin\" \"utimox\" #> [55] \"vetramox\" ab_tradenames(\"AMX\") # same #> [1] \"actimoxi\" \"amoclen\" \"amolin\" #> [4] \"amopen\" \"amopenixin\" \"amoxibiotic\" #> [7] \"amoxicaps\" \"amoxicilina\" \"amoxicillin\" #> [10] \"amoxicillin hydrate\" \"amoxicilline\" \"amoxicillinum\" #> [13] \"amoxiden\" \"amoxil\" \"amoxivet\" #> [16] \"amoxy\" \"amoxycillin\" \"amoxyke\" #> [19] \"anemolin\" \"aspenil\" \"atoksilin\" #> [22] \"biomox\" \"bristamox\" \"cemoxin\" #> [25] \"clamoxyl\" \"damoxy\" \"delacillin\" #> [28] \"demoksil\" \"dispermox\" \"efpenix\" #> [31] \"flemoxin\" \"hiconcil\" \"histocillin\" #> [34] \"hydroxyampicillin\" \"ibiamox\" \"imacillin\" #> [37] \"lamoxy\" \"largopen\" \"metafarma capsules\" #> [40] \"metifarma capsules\" \"moksilin\" \"moxacin\" #> [43] \"moxatag\" \"ospamox\" \"pamoxicillin\" #> [46] \"piramox\" \"promoxil\" \"remoxil\" #> [49] \"robamox\" \"sawamox pm\" \"tolodina\" #> [52] \"topramoxin\" \"unicillin\" \"utimox\" #> [55] \"vetramox\" ab_group(\"AMX\") # \"Beta-lactams/penicillins\" #> [1] \"Beta-lactams/penicillins\" ab_atc_group1(\"AMX\") # \"Beta-lactam antibacterials, penicillins\" #> [1] \"Beta-lactam antibacterials, penicillins\" ab_atc_group2(\"AMX\") # \"Penicillins with extended spectrum\" #> [1] \"Penicillins with extended spectrum\" ab_url(\"AMX\") # link to the official WHO page #> Amoxicillin #> \"https://www.whocc.no/atc_ddd_index/?code=J01CA04&showdescription=no\" # smart lowercase tranformation ab_name(x = c(\"AMC\", \"PLB\")) # \"Amoxicillin/clavulanic acid\" \"Polymyxin B\" #> [1] \"Amoxicillin/clavulanic acid\" \"Polymyxin B\" ab_name( x = c(\"AMC\", \"PLB\"), tolower = TRUE ) # \"amoxicillin/clavulanic acid\" \"polymyxin B\" #> [1] \"amoxicillin/clavulanic acid\" \"polymyxin B\" # defined daily doses (DDD) ab_ddd(\"AMX\", \"oral\") # 1.5 #> [1] 1.5 ab_ddd_units(\"AMX\", \"oral\") # \"g\" #> [1] \"g\" ab_ddd(\"AMX\", \"iv\") # 3 #> [1] 3 ab_ddd_units(\"AMX\", \"iv\") # \"g\" #> [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\" #> #> $atc_group1 #> [1] \"Beta-lactam antibacterials, penicillins\" #> #> $atc_group2 #> [1] \"Penicillins with extended spectrum\" #> #> $tradenames #> [1] \"actimoxi\" \"amoclen\" \"amolin\" #> [4] \"amopen\" \"amopenixin\" \"amoxibiotic\" #> [7] \"amoxicaps\" \"amoxicilina\" \"amoxicillin\" #> [10] \"amoxicillin hydrate\" \"amoxicilline\" \"amoxicillinum\" #> [13] \"amoxiden\" \"amoxil\" \"amoxivet\" #> [16] \"amoxy\" \"amoxycillin\" \"amoxyke\" #> [19] \"anemolin\" \"aspenil\" \"atoksilin\" #> [22] \"biomox\" \"bristamox\" \"cemoxin\" #> [25] \"clamoxyl\" \"damoxy\" \"delacillin\" #> [28] \"demoksil\" \"dispermox\" \"efpenix\" #> [31] \"flemoxin\" \"hiconcil\" \"histocillin\" #> [34] \"hydroxyampicillin\" \"ibiamox\" \"imacillin\" #> [37] \"lamoxy\" \"largopen\" \"metafarma capsules\" #> [40] \"metifarma capsules\" \"moksilin\" \"moxacin\" #> [43] \"moxatag\" \"ospamox\" \"pamoxicillin\" #> [46] \"piramox\" \"promoxil\" \"remoxil\" #> [49] \"robamox\" \"sawamox pm\" \"tolodina\" #> [52] \"topramoxin\" \"unicillin\" \"utimox\" #> [55] \"vetramox\" #> #> $loinc #> [1] \"16365-9\" \"25274-2\" \"3344-9\" \"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\") # ATC code of AMP (ampicillin) #> [1] \"J01CA01\" \"S01AA19\" ab_group(\"J01CA01\") # Drug group of ampicillins ATC code #> [1] \"Beta-lactams/penicillins\" ab_loinc(\"ampicillin\") # LOINC codes of ampicillin #> [1] \"21066-6\" \"3355-5\" \"33562-0\" \"33919-2\" \"43883-8\" \"43884-6\" \"87604-5\" ab_name(\"21066-6\") # \"Ampicillin\" (using LOINC) #> [1] \"Ampicillin\" ab_name(6249) # \"Ampicillin\" (using CID) #> [1] \"Ampicillin\" ab_name(\"J01CA01\") # \"Ampicillin\" (using ATC) #> [1] \"Ampicillin\" # spelling from different languages and dyslexia are no problem ab_atc(\"ceftriaxon\") #> [1] \"J01DD04\" ab_atc(\"cephtriaxone\") #> [1] \"J01DD04\" ab_atc(\"cephthriaxone\") #> [1] \"J01DD04\" ab_atc(\"seephthriaaksone\") #> [1] \"J01DD04\" # 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() %>% head() # this does the same: example_isolates %>% rename_with(set_ab_names) %>% head() # set_ab_names() works with any AB property: example_isolates %>% set_ab_names(property = \"atc\") %>% head() example_isolates %>% set_ab_names(where(is.rsi)) %>% 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\" # }"},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":null,"dir":"Reference","previous_headings":"","what":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"add_custom_antimicrobials() can add custom antimicrobial codes AMR package.","code":""},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"","code":"add_custom_antimicrobials(x) clear_custom_antimicrobials()"},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"x data.frame resembling antibiotics data set, least containing columns \"ab\" \"name\"","code":""},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"Due R works, add_custom_antimicrobials() function run every R session - added antimicrobials stored sessions thus lost R exited. possible save antimicrobial additions .Rprofile file circumvent , although requires load AMR package every start-: Use clear_custom_antimicrobials() clear previously added antimicrobials.","code":"# Open .Rprofile file utils::file.edit(\"~/.Rprofile\") # Add custom antibiotic codes: library(AMR) add_custom_antimicrobials( data.frame(ab = \"TESTAB\", name = \"Test Antibiotic\", group = \"Test Group\") )"},{"path":"https://msberends.github.io/AMR/reference/add_custom_antimicrobials.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add Custom Antimicrobials to This Package — add_custom_antimicrobials","text":"","code":"# \\donttest{ # returns NA and throws a warning (which is now suppressed): suppressWarnings( as.ab(\"testab\") ) #> Class 'ab' #> [1] # 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 # 'antibiotics' data set, such as 'group': group = \"Test Group\" ) ) #> ℹ Added one record to the internal `antibiotics` 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://www.whocc.no/ddd/list_of_ddds_combined_products/ add_custom_antimicrobials( data.frame( ab = \"COFLU\", name = \"Co-fluampicil\", atc = \"J01CR50\", group = \"Beta-lactams/penicillines\" ) ) #> ℹ Added one record to the internal `antibiotics` data set. ab_atc(\"Co-fluampicil\") #> [1] \"J01CR50\" ab_name(\"J01CR50\") #> [1] \"Co-fluampicil\" # even antibiotic selectors work x <- data.frame( random_column = \"some value\", coflu = as.rsi(\"S\"), ampicillin = as.rsi(\"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 # }"},{"path":"https://msberends.github.io/AMR/reference/age.html","id":null,"dir":"Reference","previous_headings":"","what":"Age in Years of Individuals — age","title":"Age in Years of Individuals — age","text":"Calculates age years based reference date, system date default.","code":""},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Age in Years of Individuals — age","text":"","code":"age(x, reference = Sys.Date(), exact = FALSE, na.rm = FALSE, ...)"},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Age in Years of Individuals — age","text":"x date(s), character (vectors) coerced .POSIXlt() reference reference date(s) (defaults today), character (vectors) coerced .POSIXlt() exact logical indicate whether age calculation exact, .e. decimals. divides number days year--date (YTD) x number days year reference (either 365 366). na.rm logical indicate whether missing values removed ... arguments passed .POSIXlt(), origin","code":""},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Age in Years of Individuals — age","text":"integer (decimals) exact = FALSE, double (decimals) otherwise","code":""},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Age in Years of Individuals — age","text":"Ages 0 returned NA warning. Ages 120 give warning. function vectorises x reference, meaning either can length 1 argument larger length.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/age.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Age in Years of Individuals — age","text":"","code":"# 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 1953-11-27 68 68.95890 46 #> 2 1960-04-11 62 62.58904 39 #> 3 1973-06-04 49 49.44110 26 #> 4 1977-12-02 44 44.94521 22 #> 5 1970-05-13 52 52.50137 29 #> 6 1976-05-14 46 46.49863 23 #> 7 1962-08-03 60 60.27671 37 #> 8 1939-08-15 83 83.24384 60 #> 9 1984-10-15 38 38.07671 15 #> 10 1932-12-30 89 89.86849 67"},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":null,"dir":"Reference","previous_headings":"","what":"Split Ages into Age Groups — age_groups","title":"Split Ages into Age Groups — age_groups","text":"Split ages age groups defined split argument. allows easier demographic (antimicrobial resistance) analysis.","code":""},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Split Ages into Age Groups — age_groups","text":"","code":"age_groups(x, split_at = c(12, 25, 55, 75), na.rm = FALSE)"},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Split Ages into Age Groups — age_groups","text":"x age, e.g. calculated age() split_at values split x , defaults age groups 0-11, 12-24, 25-54, 55-74 75+. See Details. na.rm logical indicate whether missing values removed","code":""},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Split Ages into Age Groups — age_groups","text":"Ordered factor","code":""},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Split Ages into Age Groups — age_groups","text":"split ages, input split_at argument can : numeric vector. value e.g. c(10, 20) split x 0-9, 10-19 20+. value 50 split x 0-49 50+. default split young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) elderly (75+). character: \"children\" \"kids\", equivalent : c(0, 1, 2, 4, 6, 13, 18). split 0, 1, 2-3, 4-5, 6-12, 13-17 18+. \"elderly\" \"seniors\", equivalent : c(65, 75, 85). split 0-64, 65-74, 75-84, 85+. \"fives\", equivalent : 1:20 * 5. split 0-4, 5-9, ..., 95-99, 100+. \"tens\", equivalent : 1:10 * 10. split 0-9, 10-19, ..., 90-99, 100+.","code":""},{"path":[]},{"path":"https://msberends.github.io/AMR/reference/age_groups.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Split Ages into Age Groups — age_groups","text":"","code":"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+ # 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_rsi( x = \"age_group\", minimum = 0, x.title = \"Age Group\", title = \"Ciprofloxacin resistance per age group\" ) } #> Loading required package: ggplot2 #> Including isolates from ICU. # }"},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":null,"dir":"Reference","previous_headings":"","what":"Antibiotic Selectors — antibiotic_class_selectors","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"functions allow filtering rows selecting columns based antibiotic test results specific antibiotic class group, without need define columns antibiotic abbreviations. short, column name resembles antimicrobial agent, picked functions matches pharmaceutical class: \"cefazolin\", \"CZO\" \"J01DB04\" picked cephalosporins().","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"","code":"ab_class(ab_class, only_rsi_columns = FALSE, only_treatable = TRUE, ...) ab_selector(filter, only_rsi_columns = FALSE, only_treatable = TRUE, ...) aminoglycosides(only_rsi_columns = FALSE, only_treatable = TRUE, ...) aminopenicillins(only_rsi_columns = FALSE, ...) antifungals(only_rsi_columns = FALSE, ...) antimycobacterials(only_rsi_columns = FALSE, ...) betalactams(only_rsi_columns = FALSE, only_treatable = TRUE, ...) carbapenems(only_rsi_columns = FALSE, only_treatable = TRUE, ...) cephalosporins(only_rsi_columns = FALSE, ...) cephalosporins_1st(only_rsi_columns = FALSE, ...) cephalosporins_2nd(only_rsi_columns = FALSE, ...) cephalosporins_3rd(only_rsi_columns = FALSE, ...) cephalosporins_4th(only_rsi_columns = FALSE, ...) cephalosporins_5th(only_rsi_columns = FALSE, ...) fluoroquinolones(only_rsi_columns = FALSE, ...) glycopeptides(only_rsi_columns = FALSE, ...) lincosamides(only_rsi_columns = FALSE, ...) lipoglycopeptides(only_rsi_columns = FALSE, ...) macrolides(only_rsi_columns = FALSE, ...) oxazolidinones(only_rsi_columns = FALSE, ...) penicillins(only_rsi_columns = FALSE, ...) polymyxins(only_rsi_columns = FALSE, only_treatable = TRUE, ...) streptogramins(only_rsi_columns = FALSE, ...) quinolones(only_rsi_columns = FALSE, ...) tetracyclines(only_rsi_columns = FALSE, ...) trimethoprims(only_rsi_columns = FALSE, ...) ureidopenicillins(only_rsi_columns = FALSE, ...) administrable_per_os(only_rsi_columns = FALSE, ...) administrable_iv(only_rsi_columns = FALSE, ...) not_intrinsic_resistant( only_rsi_columns = FALSE, col_mo = NULL, version_expertrules = 3.3, ... )"},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"ab_class antimicrobial class part , \"carba\" \"carbapenems\". columns group, atc_group1 atc_group2 antibiotics data set searched (case-insensitive) value. only_rsi_columns logical indicate whether columns class rsi must selected (defaults FALSE), see .rsi() only_treatable logical indicate whether agents laboratory tests excluded (defaults TRUE), gentamicin-high (GEH) imipenem/EDTA (IPE) ... ignored, place allow future extensions filter expression evaluated antibiotics data set, name %like% \"trim\" col_mo column name IDs microorganisms (see .mo()), defaults first column class mo. Values coerced using .mo(). version_expertrules version number use EUCAST Expert Rules Intrinsic Resistance guideline. Can either \"3.3\", \"3.2\" \"3.1\".","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"(internally) character vector column names, additional class \"ab_selector\"","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"functions can used data set calls selecting columns filtering rows. heavily inspired Tidyverse selection helpers everything(), also work base R dplyr verbs. Nonetheless, convenient use dplyr functions select(), filter() summarise(), see Examples. columns data functions called searched known antibiotic names, abbreviations, brand names, codes (ATC, EARS-Net, , etc.) according antibiotics data set. means selector aminoglycosides() pick column names like 'gen', 'genta', 'J01GB03', 'tobra', 'Tobracin', etc. ab_class() function can used filter/select manually defined antibiotic class. searches results antibiotics data set within columns group, atc_group1 atc_group2. ab_selector() function can used internally filter antibiotics data set results, see Examples. allows filtering (part ) certain name, /group name even minimum DDDs oral treatment. function yields highest flexibility, also least user-friendly, since requires hard-coded filter set. administrable_per_os() administrable_iv() functions also rely antibiotics data set - antibiotic columns matched DDD (defined daily dose) resp. oral IV treatment available antibiotics data set. not_intrinsic_resistant() function can used select antibiotic columns pose intrinsic resistance microorganisms data set. example, data set contains microorganism codes names E. coli K. pneumoniae contains column \"vancomycin\", column removed (rather, unselected) using function. currently applies 'EUCAST Expert Rules' 'EUCAST Intrinsic Resistance Unusual Phenotypes' v3.3 (2021) determine intrinsic resistance, using eucast_rules() function internally. determination, function quite slow terms performance.","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"full-list-of-supported-antibiotic-classes","dir":"Reference","previous_headings":"","what":"Full list of supported (antibiotic) classes","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"aminoglycosides() can select: amikacin (AMK), amikacin/fosfomycin (AKF), amphotericin B-high (AMH), apramycin (APR), arbekacin (ARB), astromicin (AST), bekanamycin (BEK), dibekacin (DKB), framycetin (FRM), gentamicin (GEN), gentamicin-high (GEH), habekacin (HAB), hygromycin (HYG), isepamicin (ISE), kanamycin (KAN), kanamycin-high (KAH), kanamycin/cephalexin (KAC), micronomicin (MCR), neomycin (NEO), netilmicin (NET), pentisomicin (PIM), plazomicin (PLZ), propikacin (PKA), ribostamycin (RST), sisomicin (SIS), streptoduocin (STR), streptomycin (STR1), streptomycin-high (STH), tobramycin (TOB) tobramycin-high (TOH) aminopenicillins() can select: amoxicillin (AMX) ampicillin (AMP) antifungals() can select: amphotericin B (AMB), anidulafungin (ANI), butoconazole (), 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) voriconazole (VOR) antimycobacterials() can select: 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), simvastatin/fenofibrate (SMF), sodium aminosalicylate (SDA), streptomycin/isoniazid (STI), terizidone (TRZ), thioacetazone (TAT), thioacetazone/isoniazid (THI1), tiocarlide (TCR) viomycin (VIO) betalactams() can select: amoxicillin (AMX), amoxicillin/clavulanic acid (AMC), amoxicillin/sulbactam (AXS), ampicillin (AMP), ampicillin/sulbactam (SAM), apalcillin (APL), aspoxicillin (APX), avibactam (AVB), azidocillin (AZD), azlocillin (AZL), aztreonam (ATM), aztreonam/avibactam (AZA), aztreonam/nacubactam (ANC), bacampicillin (BAM), benzathine benzylpenicillin (BNB), benzathine phenoxymethylpenicillin (BNP), benzylpenicillin (PEN), biapenem (BIA), carbenicillin (CRB), carindacillin (CRN), 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/clavulanic acid (CPC), cefepime/nacubactam (FNC), cefepime/tazobactam (FPT), cefetamet (CAT), cefetamet pivoxil (CPI), cefetecol (CCL), cefetrizole (CZL), cefixime (CFM), cefmenoxime (CMX), cefmetazole (CMZ), cefodizime (DIZ), cefonicid (CID), cefoperazone (CFP), cefoperazone/sulbactam (CSL), ceforanide (CND), cefoselis (CSE), cefotaxime (CTX), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotetan (CTT), cefotiam (CTF), cefotiam hexetil (CHE), cefovecin (FOV), cefoxitin (FOX), cefoxitin screening (FOX1), 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), nacubactam (NAC), nafcillin (NAF), oxacillin (OXA), 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), sulbactam (SUL), sulbenicillin (SBC), sultamicillin (SLT6), talampicillin (TAL), tazobactam (TAZ), tebipenem (TBP), temocillin (TEM), ticarcillin (TIC) ticarcillin/clavulanic acid (TCC) carbapenems() can select: 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) tebipenem (TBP) cephalosporins() can select: 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/clavulanic acid (CPC), cefepime/tazobactam (FPT), cefetamet (CAT), cefetamet pivoxil (CPI), cefetecol (CCL), cefetrizole (CZL), cefixime (CFM), cefmenoxime (CMX), cefmetazole (CMZ), cefodizime (DIZ), cefonicid (CID), cefoperazone (CFP), cefoperazone/sulbactam (CSL), ceforanide (CND), cefoselis (CSE), cefotaxime (CTX), cefotaxime/clavulanic acid (CTC), cefotaxime/sulbactam (CTS), cefotetan (CTT), cefotiam (CTF), cefotiam hexetil (CHE), cefovecin (FOV), cefoxitin (FOX), cefoxitin screening (FOX1), 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) loracarbef (LOR) cephalosporins_1st() can select: cefacetrile (CAC), cefadroxil (CFR), cefalexin (LEX), cefaloridine (RID), cefalotin (CEP), cefapirin (HAP), cefatrizine (CTZ), cefazedone (CZD), cefazolin (CZO), cefroxadine (CRD), ceftezole (CTL) cephradine (CED) cephalosporins_2nd() can select: cefaclor (CEC), cefamandole (MAN), cefmetazole (CMZ), cefonicid (CID), ceforanide (CND), cefotetan (CTT), cefotiam (CTF), cefoxitin (FOX), cefoxitin screening (FOX1), cefprozil (CPR), cefuroxime (CXM), cefuroxime axetil (CXA) loracarbef (LOR) cephalosporins_3rd() can select: 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/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) latamoxef (LTM) cephalosporins_4th() can select: cefepime (FEP), cefepime/clavulanic acid (CPC), cefepime/tazobactam (FPT), cefetecol (CCL), cefoselis (CSE), cefozopran (ZOP), cefpirome (CPO) cefquinome (CEQ) cephalosporins_5th() can select: ceftaroline (CPT), ceftaroline/avibactam (CPA), ceftobiprole (BPR), ceftobiprole medocaril (CFM1) ceftolozane/tazobactam (CZT) fluoroquinolones() can select: besifloxacin (BES), ciprofloxacin (CIP), 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), levonadifloxacin (LND), lomefloxacin (LOM), marbofloxacin (MAR), metioxate (MXT), miloxacin (MIL), moxifloxacin (MFX), nadifloxacin (NAD), nifuroquine (NIF), norfloxacin (), ofloxacin (OFX), orbifloxacin (ORB), pazufloxacin (PAZ), pefloxacin (PEF), pradofloxacin (PRA), premafloxacin (PRX), prulifloxacin (PRU), rufloxacin (RFL), sarafloxacin (SAR), sitafloxacin (SIT), sparfloxacin (SPX), temafloxacin (TMX), tilbroquinol (TBQ), tioxacin (TXC), tosufloxacin (TFX) trovafloxacin (TVA) glycopeptides() can select: avoparcin (AVO), dalbavancin (DAL), norvancomycin (NVA), oritavancin (ORI), ramoplanin (RAM), teicoplanin (TEC), teicoplanin-macromethod (TCM), telavancin (TLV), vancomycin (VAN) vancomycin-macromethod (VAM) lincosamides() can select: acetylmidecamycin (ACM), acetylspiramycin (ASP), clindamycin (CLI), gamithromycin (GAM), kitasamycin (KIT), lincomycin (LIN), meleumycin (MEL), nafithromycin (ZWK), pirlimycin (PRL), primycin (PRM), solithromycin (SOL), tildipirosin (TIP), tilmicosin (TIL), tulathromycin (TUL), tylosin (TYL) tylvalosin (TYL1) lipoglycopeptides() can select: dalbavancin (DAL), oritavancin (ORI) telavancin (TLV) macrolides() can select: acetylmidecamycin (ACM), acetylspiramycin (ASP), azithromycin (AZM), clarithromycin (CLR), dirithromycin (DIR), erythromycin (ERY), flurithromycin (FLR1), gamithromycin (GAM), josamycin (JOS), kitasamycin (KIT), meleumycin (MEL), midecamycin (MID), miocamycin (MCM), nafithromycin (ZWK), oleandomycin (OLE), pirlimycin (PRL), primycin (PRM), rokitamycin (ROK), roxithromycin (RXT), solithromycin (SOL), spiramycin (SPI), telithromycin (TLT), tildipirosin (TIP), tilmicosin (TIL), troleandomycin (TRL), tulathromycin (TUL), tylosin (TYL) tylvalosin (TYL1) oxazolidinones() can select: cadazolid (CDZ), cycloserine (CYC), linezolid (LNZ), tedizolid (TZD) thiacetazone (THA) penicillins() can select: amoxicillin (AMX), amoxicillin/clavulanic acid (AMC), amoxicillin/sulbactam (AXS), ampicillin (AMP), ampicillin/sulbactam (SAM), apalcillin (APL), aspoxicillin (APX), avibactam (AVB), azidocillin (AZD), azlocillin (AZL), aztreonam (ATM), aztreonam/avibactam (AZA), aztreonam/nacubactam (ANC), bacampicillin (BAM), benzathine benzylpenicillin (BNB), benzathine phenoxymethylpenicillin (BNP), benzylpenicillin (PEN), carbenicillin (CRB), carindacillin (CRN), cefepime/nacubactam (FNC), ciclacillin (CIC), clometocillin (CLM), cloxacillin (CLO), dicloxacillin (DIC), epicillin (EPC), flucloxacillin (FLC), hetacillin (HET), lenampicillin (LEN), mecillinam (MEC), metampicillin (MTM), meticillin (MET), mezlocillin (MEZ), mezlocillin/sulbactam (MSU), nacubactam (NAC), nafcillin (NAF), oxacillin (OXA), 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), sarmoxicillin (SRX), sulbactam (SUL), sulbenicillin (SBC), sultamicillin (SLT6), talampicillin (TAL), tazobactam (TAZ), temocillin (TEM), ticarcillin (TIC) ticarcillin/clavulanic acid (TCC) polymyxins() can select: colistin (COL), polymyxin B (PLB) polymyxin B/polysorbate 80 (POP) quinolones() can select: besifloxacin (BES), cinoxacin (CIN), ciprofloxacin (CIP), clinafloxacin (CLX), danofloxacin (DAN), delafloxacin (DFX), difloxacin (DIF), enoxacin (ENX), enrofloxacin (ENR), finafloxacin (FIN), fleroxacin (FLE), flumequine (FLM), garenoxacin (GRN), gatifloxacin (GAT), gemifloxacin (GEM), grepafloxacin (GRX), lascufloxacin (LSC), levofloxacin (LVX), levonadifloxacin (LND), lomefloxacin (LOM), marbofloxacin (MAR), metioxate (MXT), miloxacin (MIL), moxifloxacin (MFX), nadifloxacin (NAD), nalidixic acid (NAL), nemonoxacin (NEM), nifuroquine (NIF), nitroxoline (NTR), norfloxacin (), ofloxacin (OFX), orbifloxacin (ORB), oxolinic acid (OXO), pazufloxacin (PAZ), pefloxacin (PEF), pipemidic acid (PPA), piromidic acid (PIR), pradofloxacin (PRA), premafloxacin (PRX), prulifloxacin (PRU), rosoxacin (ROS), rufloxacin (RFL), sarafloxacin (SAR), sitafloxacin (SIT), sparfloxacin (SPX), temafloxacin (TMX), tilbroquinol (TBQ), tioxacin (TXC), tosufloxacin (TFX) trovafloxacin (TVA) streptogramins() can select: pristinamycin (PRI) quinupristin/dalfopristin (QDA) tetracyclines() can select: cetocycline (CTO), chlortetracycline (CTE), clomocycline (CLM1), demeclocycline (DEM), doxycycline (DOX), eravacycline (ERV), lymecycline (LYM), metacycline (MTC), minocycline (MNO), omadacycline (OMC), oxytetracycline (OXY), penimepicycline (PNM1), rolitetracycline (RLT), sarecycline (SRC), tetracycline (TCY) tigecycline (TGC) trimethoprims() can select: brodimoprim (BDP), sulfadiazine (SDI), sulfadiazine/tetroxoprim (SLT), sulfadiazine/trimethoprim (SLT1), sulfadimethoxine (SUD), sulfadimidine (SDM), sulfadimidine/trimethoprim (SLT2), sulfafurazole (SLF), sulfaisodimidine (SLF1), sulfalene (SLF2), sulfamazone (SZO), sulfamerazine (SLF3), sulfamerazine/trimethoprim (SLT3), sulfamethizole (SLF4), sulfamethoxazole (SMX), sulfamethoxypyridazine (SLF5), sulfametomidine (SLF6), sulfametoxydiazine (SLF7), sulfametrole/trimethoprim (SLT4), sulfamoxole (SLF8), sulfamoxole/trimethoprim (SLT5), sulfanilamide (SLF9), sulfaperin (SLF10), sulfaphenazole (SLF11), sulfapyridine (SLF12), sulfathiazole (SUT), sulfathiourea (SLF13), trimethoprim (TMP) trimethoprim/sulfamethoxazole (SXT) ureidopenicillins() can select: azlocillin (AZL), mezlocillin (MEZ), piperacillin (PIP) piperacillin/tazobactam (TZP)","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"reference-data-publicly-available","dir":"Reference","previous_headings":"","what":"Reference Data Publicly Available","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"data sets AMR package (microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) publicly freely available download following formats: R, MS Excel, Apache Feather, Apache Parquet, SPSS, SAS, Stata. also provide tab-separated plain text files machine-readable suitable input software program, laboratory information systems. Please visit website download links. actual files course available GitHub repository.","code":""},{"path":"https://msberends.github.io/AMR/reference/antibiotic_class_selectors.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Antibiotic Selectors — antibiotic_class_selectors","text":"","code":"# `example_isolates` is a data set available in the AMR package. # See ?example_isolates. example_isolates #> # A tibble: 2,000 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 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 #> # … with 1,990 more rows, and 36 more variables: AMC , AMP , #> # TZP , CZO , FEP , CXM , FOX , CTX , #> # CAZ , CRO , GEN , TOB , AMK , KAN , #> # TMP , SXT , NIT , FOS , LNZ , CIP , #> # MFX , VAN , TEC , TCY , TGC , DOX , #> # ERY , CLI , AZM , IPM , MEM , MTR , #> # CHL , COL , MUP , RIF # base R ------------------------------------------------------------------ # select columns 'IPM' (imipenem) and 'MEM' (meropenem) example_isolates[, carbapenems()] #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> # A tibble: 2,000 × 2 #> IPM MEM #> #> 1 NA NA #> 2 NA NA #> 3 NA NA #> 4 NA NA #> 5 NA NA #> 6 NA NA #> 7 NA NA #> 8 NA NA #> 9 NA NA #> 10 NA NA #> # … with 1,990 more rows # select columns 'mo', 'AMK', 'GEN', 'KAN' and 'TOB' example_isolates[, c(\"mo\", aminoglycosides())] #> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin) and 'KAN' (kanamycin) #> # A tibble: 2,000 × 5 #> mo GEN TOB AMK KAN #> #> 1 B_ESCHR_COLI NA NA NA NA #> 2 B_ESCHR_COLI NA NA NA NA #> 3 B_STPHY_EPDR NA NA NA NA #> 4 B_STPHY_EPDR NA NA NA NA #> 5 B_STPHY_EPDR NA NA NA NA #> 6 B_STPHY_EPDR NA NA NA NA #> 7 B_STPHY_AURS NA S NA NA #> 8 B_STPHY_AURS NA S NA NA #> 9 B_STPHY_EPDR NA NA NA NA #> 10 B_STPHY_EPDR NA NA NA NA #> # … with 1,990 more rows # select only antibiotic columns with DDDs for oral treatment example_isolates[, administrable_per_os()] #> ℹ For `administrable_per_os()` using columns 'OXA' (oxacillin), 'FLC' #> (flucloxacillin), 'AMX' (amoxicillin), 'AMC' (amoxicillin/clavulanic acid), #> 'AMP' (ampicillin), 'CXM' (cefuroxime), 'KAN' (kanamycin), 'TMP' #> (trimethoprim), 'NIT' (nitrofurantoin), 'FOS' (fosfomycin), 'LNZ' #> (linezolid), 'CIP' (ciprofloxacin), 'MFX' (moxifloxacin), 'VAN' #> (vancomycin), 'TCY' (tetracycline), 'DOX' (doxycycline), 'ERY' #> (erythromycin), 'CLI' (clindamycin), 'AZM' (azithromycin), 'MTR' #> (metronidazole), 'CHL' (chloramphenicol), 'COL' (colistin) and 'RIF' #> (rifampicin) #> # A tibble: 2,000 × 23 #> OXA FLC AMX AMC AMP CXM KAN TMP NIT FOS LNZ CIP MFX #> #> 1 NA NA NA I NA I NA R NA NA R NA NA #> 2 NA NA NA I NA I NA R NA NA R NA NA #> 3 NA R NA NA NA R NA S NA NA NA NA NA #> 4 NA R NA NA NA R NA S NA NA NA NA NA #> 5 NA R NA NA NA R NA R NA NA NA NA NA #> 6 NA R NA NA NA R NA R NA NA NA NA NA #> 7 NA S R S R S NA R NA NA NA NA NA #> 8 NA S R S R S NA R NA NA NA NA NA #> 9 NA R NA NA NA R NA S NA NA NA S NA #> 10 NA S NA NA NA S NA S NA NA NA S NA #> # … with 1,990 more rows, and 10 more variables: VAN , TCY , #> # DOX , ERY , CLI , AZM , MTR , CHL , #> # COL , RIF # filter using any() or all() example_isolates[any(carbapenems() == \"R\"), ] #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> # A tibble: 55 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> 2 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> 3 2004-11-03 D65308 80 F ICU B_STNTR_MLTP R NA NA R #> 4 2005-04-21 452212 82 F ICU B_ENTRC NA NA NA NA #> 5 2005-04-22 452212 82 F ICU B_ENTRC NA NA NA NA #> 6 2005-04-22 452212 82 F ICU B_ENTRC_FACM NA NA NA NA #> 7 2007-02-21 8BBC46 61 F Clinical B_ENTRC_FACM NA NA NA NA #> 8 2007-12-15 401043 72 M Clinical B_ENTRC_FACM NA NA NA NA #> 9 2008-01-22 1710B8 82 M Clinical B_PROTS_MRBL R NA NA NA #> 10 2008-01-22 1710B8 82 M Clinical B_PROTS_MRBL R NA NA NA #> # … with 45 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP , CXM , FOX , CTX , CAZ , #> # CRO , GEN , TOB , AMK , KAN , TMP , #> # SXT , NIT , FOS , LNZ , CIP , MFX , #> # VAN , TEC , TCY , TGC , DOX , ERY , #> # CLI , AZM , IPM , MEM , MTR , CHL , #> # COL , MUP , RIF subset(example_isolates, any(carbapenems() == \"R\")) #> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem) #> # A tibble: 55 × 46 #> date patient age gender ward mo PEN OXA FLC AMX #> #> 1 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> 2 2004-06-09 529296 69 M ICU B_ENTRC_FACM NA NA NA NA #> 3 2004-11-03 D65308 80 F ICU B_STNTR_MLTP R NA NA R #> 4 2005-04-21 452212 82 F ICU B_ENTRC NA NA NA NA #> 5 2005-04-22 452212 82 F ICU B_ENTRC NA NA NA NA #> 6 2005-04-22 452212 82 F ICU B_ENTRC_FACM NA NA NA NA #> 7 2007-02-21 8BBC46 61 F Clinical B_ENTRC_FACM NA NA NA NA #> 8 2007-12-15 401043 72 M Clinical B_ENTRC_FACM NA NA NA NA #> 9 2008-01-22 1710B8 82 M Clinical B_PROTS_MRBL R NA NA NA #> 10 2008-01-22 1710B8 82 M Clinical B_PROTS_MRBL R NA NA NA #> # … with 45 more rows, and 36 more variables: AMC , AMP , TZP , #> # CZO , FEP