our_data$bacteria<-as.mo(our_data$bacteria, info =TRUE)
-#> ℹ Retrieved values from the microorganisms.codes data set for "ESCCOL",
+#> ℹ Retrieved values from the `microorganisms.codes` data set for "ESCCOL",#> "KLEPNE", "STAAUR", and "STRPNE".#> ℹ Microorganism translation was uncertain for four microorganisms. Run
-#> mo_uncertainties() to review these uncertainties, or use
-#> add_custom_microorganisms() to add custom entries.
+#> `mo_uncertainties()` to review these uncertainties, or use
+#> `add_custom_microorganisms()` to add custom entries.
Apparently, there was some uncertainty about the translation to
taxonomic codes. Let’s check this:
mo_uncertainties()#> Matching scores are based on the resemblance between the input and the full
-#> taxonomic name, and the pathogenicity in humans. See ?mo_matching_score.
+#> taxonomic name, and the pathogenicity in humans. See `?mo_matching_score`.#> Colour keys: 0.000-0.549 0.550-0.649 0.650-0.749 0.750-1.000 #> #> --------------------------------------------------------------------------------
@@ -311,8 +311,8 @@ taxonomic codes. Let’s check this:
#> periodonticum (0.519)#> #> Only the first 10 other matches of each record are shown. Run
-#> print(mo_uncertainties(), n = ...) to view more entries, or save
-#> mo_uncertainties() to an object.
+#> `print(mo_uncertainties(), n = ...)` to view more entries, or save
+#> `mo_uncertainties()` to an object.
That’s all good.
@@ -400,9 +400,9 @@ the methods on the first_isolate
our_data<-our_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.
+#> ℹ 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#> => Found 2,724 'phenotype-based' first isolates (90.8% of total where a
@@ -523,7 +523,7 @@ in:
our_data_1st%>%select(date, aminoglycosides())
-#> ℹ For aminoglycosides() using column 'GEN' (gentamicin)
+#> ℹ For `aminoglycosides()` using column 'GEN' (gentamicin)#> # A tibble: 2,724 × 2#> date GEN #> <date><sir>
@@ -541,7 +541,7 @@ in:
our_data_1st%>%select(bacteria, betalactams())
-#> ℹ For betalactams() using columns 'AMX' (amoxicillin) and 'AMC'
+#> ℹ For `betalactams()` using columns 'AMX' (amoxicillin) and 'AMC'#> (amoxicillin/clavulanic acid)#> # A tibble: 2,724 × 3#> bacteria AMX AMC
@@ -578,7 +578,7 @@ in:
# filtering using AB selectors is also possible:our_data_1st%>%filter(any(aminoglycosides()=="R"))
-#> ℹ For aminoglycosides() using column 'GEN' (gentamicin)
+#> ℹ For `aminoglycosides()` using column 'GEN' (gentamicin)#> # A tibble: 981 × 9#> patient_id hospital date bacteria AMX AMC CIP GEN first#> <chr><chr><date><mo><sir><sir><sir><sir><lgl>
@@ -596,7 +596,7 @@ in:
our_data_1st%>%filter(all(betalactams()=="R"))
-#> ℹ For betalactams() using columns 'AMX' (amoxicillin) and 'AMC'
+#> ℹ For `betalactams()` using columns 'AMX' (amoxicillin) and 'AMC'#> (amoxicillin/clavulanic acid)#> # A tibble: 462 × 9#> patient_id hospital date bacteria AMX AMC CIP GEN first
@@ -615,7 +615,7 @@ in:
# even works in base R (since R 3.0):our_data_1st[all(betalactams()=="R"), ]
-#> ℹ For betalactams() using columns 'AMX' (amoxicillin) and 'AMC'
+#> ℹ For `betalactams()` using columns 'AMX' (amoxicillin) and 'AMC'#> (amoxicillin/clavulanic acid)#> # A tibble: 462 × 9#> patient_id hospital date bacteria AMX AMC CIP GEN first
@@ -697,9 +697,9 @@ previously mentioned antibiotic class selectors:
antibiogram(example_isolates, antibiotics =c(aminoglycosides(), carbapenems()))
-#> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
-#> ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
@@ -828,7 +828,7 @@ language to be Spanish using the language argument:
antibiotics =aminoglycosides(), ab_transform ="name", language ="es")
-#> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
@@ -954,9 +954,9 @@ argument must be used. This can be any column in the data, or e.g. an
antibiogram(example_isolates, antibiotics =c(aminoglycosides(), carbapenems()), syndromic_group ="ward")
-#> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
-#> ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#> ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
diff --git a/articles/AMR_for_Python.html b/articles/AMR_for_Python.html
index b3b56ce36..06029925b 100644
--- a/articles/AMR_for_Python.html
+++ b/articles/AMR_for_Python.html
@@ -30,7 +30,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/articles/AMR_with_tidymodels.html b/articles/AMR_with_tidymodels.html
index fa4b41157..1a36f276d 100644
--- a/articles/AMR_with_tidymodels.html
+++ b/articles/AMR_with_tidymodels.html
@@ -30,7 +30,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -179,9 +179,9 @@ package.
mo =as.factor(mo_gramstain(mo)))%>%# drop NAs - the ones without a Gramstain (fungi, etc.)drop_na()
-#> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
-#> ℹ For betalactams() using columns 'PEN' (benzylpenicillin), 'OXA'
+#> ℹ For `betalactams()` using columns 'PEN' (benzylpenicillin), 'OXA'#> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC'#> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), 'TZP'#> (piperacillin/tazobactam), 'CZO' (cefazolin), 'FEP' (cefepime), 'CXM'
@@ -227,9 +227,9 @@ we have with step_corr(), the necessary parameters can be
estimated from a training set using prep():
prep(resistance_recipe)
-#> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#> ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
-#> ℹ For betalactams() using columns 'PEN' (benzylpenicillin), 'OXA'
+#> ℹ For `betalactams()` using columns 'PEN' (benzylpenicillin), 'OXA'#> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC'#> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), 'TZP'#> (piperacillin/tazobactam), 'CZO' (cefazolin), 'FEP' (cefepime), 'CXM'
@@ -712,7 +712,7 @@ into a structured time-series format.
.names ="res_{.col}"), .groups ="drop")%>%filter(!is.na(res_AMX)&!is.na(res_AMC)&!is.na(res_CIP))# Drop missing values
-#> ℹ Using column 'mo' as input for col_mo.
+#> ℹ Using column 'mo' as input for `col_mo`.data_time#> # A tibble: 32 × 5
diff --git a/articles/EUCAST.html b/articles/EUCAST.html
index f86226b1b..c91158d38 100644
--- a/articles/EUCAST.html
+++ b/articles/EUCAST.html
@@ -30,7 +30,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/articles/PCA.html b/articles/PCA.html
index 824e8712b..d0712a321 100644
--- a/articles/PCA.html
+++ b/articles/PCA.html
@@ -30,7 +30,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/articles/WHONET.html b/articles/WHONET.html
index efce4eb96..16d3e4f97 100644
--- a/articles/WHONET.html
+++ b/articles/WHONET.html
@@ -30,7 +30,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/articles/WISCA.html b/articles/WISCA.html
index 45c7be18c..bbea4a53c 100644
--- a/articles/WISCA.html
+++ b/articles/WISCA.html
@@ -30,7 +30,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/articles/datasets.html b/articles/datasets.html
index cc296e9a5..b5ec30173 100644
--- a/articles/datasets.html
+++ b/articles/datasets.html
@@ -30,7 +30,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/articles/index.html b/articles/index.html
index cd4ad6925..81b678dc9 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/authors.html b/authors.html
index ae5832228..fa4745649 100644
--- a/authors.html
+++ b/authors.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/index.html b/index.html
index e32e27fdb..be16f6787 100644
--- a/index.html
+++ b/index.html
@@ -33,7 +33,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -503,7 +503,7 @@
install.packages("AMR", repos ="beta.amr-for-r.org")# if this does not work, try to install directly from GitHub using the 'remotes' package:
-remotes::install_github("msberends/AMR")
Fixed a bug in antibiogram() for when no antimicrobials are set
Fixed a bug in antibiogram() to allow column names containing the + character (#222)
Fixed a bug in as.ab() for antimicrobial codes with a number in it if they are preceded by a space
@@ -71,6 +71,7 @@
Fixed a bug in ggplot_sir() when using combine_SI = FALSE (#213)
Fixed all plotting to contain a separate colour for SDD (susceptible dose-dependent) (#223)
Fixed some specific Dutch translations for antimicrobials
+
Added names to age_groups() so that custom names can be given (#215)
Added note to as.sir() to make it explicit when higher-level taxonomic breakpoints are used (#218)
Updated random_mic() and random_disk() to set skewedness of the distribution and allow multiple microorganisms
diff --git a/pkgdown.yml b/pkgdown.yml
index 16449b1a7..4cc27b838 100644
--- a/pkgdown.yml
+++ b/pkgdown.yml
@@ -10,7 +10,7 @@ articles:
PCA: PCA.html
WHONET: WHONET.html
WISCA: WISCA.html
-last_built: 2025-07-17T17:15Z
+last_built: 2025-07-17T17:38Z
urls:
reference: https://amr-for-r.org/reference
article: https://amr-for-r.org/articles
diff --git a/reference/AMR-deprecated.html b/reference/AMR-deprecated.html
index 8bd23f5a0..1768a33d8 100644
--- a/reference/AMR-deprecated.html
+++ b/reference/AMR-deprecated.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/AMR-options.html b/reference/AMR-options.html
index ad5deed6b..9e8f8a781 100644
--- a/reference/AMR-options.html
+++ b/reference/AMR-options.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/AMR.html b/reference/AMR.html
index f4d3ee29d..52d4c58c0 100644
--- a/reference/AMR.html
+++ b/reference/AMR.html
@@ -21,7 +21,7 @@ The AMR package is available in English, Arabic, Bengali, Chinese, Czech, Danish
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/WHOCC.html b/reference/WHOCC.html
index d8dfd8c92..12e3d5c49 100644
--- a/reference/WHOCC.html
+++ b/reference/WHOCC.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/WHONET.html b/reference/WHONET.html
index 7a1cf57fa..88be33efb 100644
--- a/reference/WHONET.html
+++ b/reference/WHONET.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/ab_from_text.html b/reference/ab_from_text.html
index 228f8c1db..96c8b8ab4 100644
--- a/reference/ab_from_text.html
+++ b/reference/ab_from_text.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/ab_property.html b/reference/ab_property.html
index 40fc49ced..40caab618 100644
--- a/reference/ab_property.html
+++ b/reference/ab_property.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/add_custom_antimicrobials.html b/reference/add_custom_antimicrobials.html
index 2b0be8a98..05d9665d6 100644
--- a/reference/add_custom_antimicrobials.html
+++ b/reference/add_custom_antimicrobials.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -111,7 +111,7 @@
group ="Test Group"))
-#>ℹ Added one record to the internal antimicrobials data set.
+#>ℹ Added one record to the internal `antimicrobials` data set.# "testab" is now a new antibiotic:as.ab("testab")
@@ -180,7 +180,7 @@
group ="Beta-lactams/penicillins"))
-#>ℹ Added one record to the internal antimicrobials data set.
+#>ℹ Added one record to the internal `antimicrobials` data set.ab_atc("Co-fluampicil")#> [1] "J01CR50"ab_name("J01CR50")
@@ -197,7 +197,7 @@
#> random_column coflu ampicillin#> 1 some value S Rx[, betalactams()]
-#>ℹ For betalactams() using columns 'coflu' (co-fluampicil) and
+#>ℹ For `betalactams()` using columns 'coflu' (co-fluampicil) and#> 'ampicillin'#> coflu ampicillin#> 1 S R
diff --git a/reference/add_custom_microorganisms.html b/reference/add_custom_microorganisms.html
index 95777b6cc..f7db46352 100644
--- a/reference/add_custom_microorganisms.html
+++ b/reference/add_custom_microorganisms.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -109,7 +109,7 @@
species ="asburiae/cloacae"))
-#>ℹ Added Enterobacter asburiae/cloacae to the internal microorganisms data
+#>ℹ Added Enterobacter asburiae/cloacae to the internal `microorganisms` data#> set.# E. asburiae/cloacae is now a new microorganism:
@@ -204,7 +204,7 @@
SPECIES ="SPECIES"))
-#>ℹ Added Bacteroides/Parabacteroides to the internal microorganisms data
+#>ℹ Added Bacteroides/Parabacteroides to the internal `microorganisms` data#> set.mo_name("BACTEROIDES / PARABACTEROIDES")#> [1] "Bacteroides/Parabacteroides"
@@ -225,7 +225,7 @@
))#>ℹ Added Citrobacter braakii complex and Citrobacter freundii complex to the
-#> internal microorganisms data set.
+#> internal `microorganisms` data set.mo_name(c("C. freundii complex", "C. braakii complex"))#> [1] "Citrobacter freundii complex" "Citrobacter braakii complex" mo_species(c("C. freundii complex", "C. braakii complex"))
diff --git a/reference/age.html b/reference/age.html
index 86ca063e2..c10fb703e 100644
--- a/reference/age.html
+++ b/reference/age.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/age_groups.html b/reference/age_groups.html
index 611295236..8599eb91a 100644
--- a/reference/age_groups.html
+++ b/reference/age_groups.html
@@ -1,5 +1,5 @@
-Split Ages into Age Groups — age_groups • AMR (for R)
+Split Ages into Age Groups — age_groups • AMR (for R)Skip to contents
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -50,12 +50,13 @@
-
Split ages into age groups defined by the split argument. This allows for easier demographic (antimicrobial resistance) analysis.
+
Split ages into age groups defined by the split argument. This allows for easier demographic (antimicrobial resistance) analysis. The function returns an ordered factor.
Values to split x at - the default is age groups 0-11, 12-24, 25-54, 55-74 and 75+. See Details.
+
names
+
Optional names to be given to the various age groups.
+
+
na.rm
A logical to indicate whether missing values should be removed.
@@ -106,6 +111,10 @@ The default is to split on young children (0-11), youth (12-24), young adults (2
age_groups(ages, c(20, 50))#> [1] 0-19 0-19 0-19 50+ 20-49 50+ 50+ 20-49 20-49#> Levels: 0-19 < 20-49 < 50+
+age_groups(ages, c(20, 50), names =c("Under 20 years", "20 to 50 years", "Over 50 years"))
+#> [1] Under 20 years Under 20 years Under 20 years Over 50 years 20 to 50 years
+#> [6] Over 50 years Over 50 years 20 to 50 years 20 to 50 years
+#> Levels: Under 20 years < 20 to 50 years < Over 50 years# split into groups of ten yearsage_groups(ages, 1:10*10)
diff --git a/reference/amr-tidymodels.html b/reference/amr-tidymodels.html
index db8076baa..af358848b 100644
--- a/reference/amr-tidymodels.html
+++ b/reference/amr-tidymodels.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -121,7 +121,60 @@ may affect the computations for subsequent operations.
if(require("tidymodels")){
+
+# The below approach formed the basis for this paper: DOI 10.3389/fmicb.2025.1582703
+# Presence of ESBL genes was predicted based on raw MIC values.
+
+
+# example data set in the AMR package
+esbl_isolates
+
+# Prepare a binary outcome and convert to ordered factor
+data<-esbl_isolates%>%
+mutate(esbl =factor(esbl, levels =c(FALSE, TRUE), ordered =TRUE))
+
+# Split into training and testing sets
+split<-initial_split(data)
+training_data<-training(split)
+testing_data<-testing(split)
+
+# Create and prep a recipe with MIC log2 transformation
+mic_recipe<-recipe(esbl~., data =training_data)%>%
+
+# Optionally remove non-predictive variables
+remove_role(genus, old_role ="predictor")%>%
+
+# Apply the log2 transformation to all MIC predictors
+step_mic_log2(all_mic_predictors())%>%
+
+# And apply the preparation steps
+prep()
+
+# View prepped recipe
+mic_recipe
+
+# Apply the recipe to training and testing data
+out_training<-bake(mic_recipe, new_data =NULL)
+out_testing<-bake(mic_recipe, new_data =testing_data)
+
+# Fit a logistic regression model
+fitted<-logistic_reg(mode ="classification")%>%
+set_engine("glm")%>%
+fit(esbl~., data =out_training)
+
+# Generate predictions on the test set
+predictions<-predict(fitted, out_testing)%>%
+bind_cols(out_testing)
+
+# Evaluate predictions using standard classification metrics
+our_metrics<-metric_set(accuracy, kap, ppv, npv)
+metrics<-our_metrics(predictions, truth =esbl, estimate =.pred_class)
+
+# Show performance
+metrics
+}
+#> Loading required package: tidymodels#> ── Attaching packages ────────────────────────────────────── tidymodels 1.3.0 ──#>✔broom 1.0.8 ✔rsample 1.3.0#>✔dials 1.4.0 ✔tibble 3.3.0
@@ -135,86 +188,7 @@ may affect the computations for subsequent operations.
#>✖dplyr::filter() masks stats::filter()#>✖dplyr::lag() masks stats::lag()#>✖recipes::step() masks stats::step()
-
-# The below approach formed the basis for this paper: DOI 10.3389/fmicb.2025.1582703
-# Presence of ESBL genes was predicted based on raw MIC values.
-
-
-# example data set in the AMR package
-esbl_isolates
-#># A tibble: 500 × 19
-#> esbl genus AMC AMP TZP CXM FOX CTX CAZ GEN TOB TMP SXT
-#><lgl><chr><mic><mic><mic><mic><mic><mic><mic><mic><mic><mic><mic>
-#> 1 FALSE Esch… 32 32 4 64 64 8.00 8.00 1 1 16.0 20
-#> 2 FALSE Esch… 32 32 4 64 64 4.00 8.00 1 1 16.0 320
-#> 3 FALSE Esch… 4 2 64 8 4 8.00 0.12 16 16 0.5 20
-#> 4 FALSE Kleb… 32 32 16 64 64 8.00 8.00 1 1 0.5 20
-#> 5 FALSE Esch… 32 32 4 4 4 0.25 2.00 1 1 16.0 320
-#> 6 FALSE Citr… 32 32 16 64 64 64.00 32.00 1 1 0.5 20
-#> 7 FALSE Morg… 32 32 4 64 64 16.00 2.00 1 1 0.5 20
-#> 8 FALSE Prot… 16 32 4 1 4 8.00 0.12 1 1 16.0 320
-#> 9 FALSE Ente… 32 32 8 64 64 32.00 4.00 1 1 0.5 20
-#>10 FALSE Citr… 32 32 32 64 64 8.00 64.00 1 1 16.0 320
-#># ℹ 490 more rows
-#># ℹ 6 more variables: NIT <mic>, FOS <mic>, CIP <mic>, IPM <mic>, MEM <mic>,
-#># COL <mic>
-
-# Prepare a binary outcome and convert to ordered factor
-data<-esbl_isolates%>%
-mutate(esbl =factor(esbl, levels =c(FALSE, TRUE), ordered =TRUE))
-
-# Split into training and testing sets
-split<-initial_split(data)
-training_data<-training(split)
-testing_data<-testing(split)
-
-# Create and prep a recipe with MIC log2 transformation
-mic_recipe<-recipe(esbl~., data =training_data)%>%
-# Optionally remove non-predictive variables
-remove_role(genus, old_role ="predictor")%>%
-# Apply the log2 transformation to all MIC predictors
-step_mic_log2(all_mic_predictors())%>%
-prep()
-
-# View prepped recipe
-mic_recipe
-#>
-#>──Recipe──────────────────────────────────────────────────────────────────────
-#>
-#> ── Inputs
-#> Number of variables by role
-#> outcome: 1
-#> predictor: 17
-#> undeclared role: 1
-#>
-#> ── Training information
-#> Training data contained 375 data points and no incomplete rows.
-#>
-#> ── Operations
-#>• Log2 transformation of MIC columns: AMC, AMP, TZP, CXM, FOX, ... | Trained
-
-# Apply the recipe to training and testing data
-out_training<-bake(mic_recipe, new_data =NULL)
-out_testing<-bake(mic_recipe, new_data =testing_data)
-
-# Fit a logistic regression model
-fitted<-logistic_reg(mode ="classification")%>%
-set_engine("glm")%>%
-fit(esbl~., data =out_training)#>Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
-
-# Generate predictions on the test set
-predictions<-predict(fitted, out_testing)%>%
-bind_cols(out_testing)
-
-# Evaluate predictions using standard classification metrics
-our_metrics<-metric_set(accuracy, kap, ppv, npv)
-metrics<-our_metrics(predictions, truth =esbl, estimate =.pred_class)
-
-# Show performance:
-# - negative predictive value (NPV) of ~98%
-# - positive predictive value (PPV) of ~94%
-metrics#># A tibble: 4 × 3#> .metric .estimator .estimate#><chr><chr><dbl>
diff --git a/reference/antibiogram.html b/reference/antibiogram.html
index 7540effa9..88d095557 100644
--- a/reference/antibiogram.html
+++ b/reference/antibiogram.html
@@ -9,7 +9,7 @@ Adhering to previously described approaches (see Source) and especially the Baye
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -408,9 +408,9 @@ Adhering to previously described approaches (see Source) and especially the Baye
antibiogram(example_isolates, antimicrobials =c(aminoglycosides(), carbapenems()))
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#># An Antibiogram: 10 × 7#># Type: Non-WISCA with 95% CI#> Pathogen Amikacin Gentamicin Imipenem Kanamycin Meropenem Tobramycin
@@ -433,7 +433,7 @@ Adhering to previously described approaches (see Source) and especially the Baye
ab_transform ="atc", mo_transform ="gramstain")
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)#># An Antibiogram: 2 × 5#># Type: Non-WISCA with 95% CI
@@ -449,7 +449,7 @@ Adhering to previously described approaches (see Source) and especially the Baye
ab_transform ="name", mo_transform ="name")
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#># An Antibiogram: 5 × 3#># Type: Non-WISCA with 95% CI#> Pathogen Imipenem Meropenem
@@ -487,7 +487,7 @@ Adhering to previously described approaches (see Source) and especially the Baye
antimicrobials =ureidopenicillins()+c("", "GEN", "tobra"), mo_transform ="gramstain")
-#>ℹ For ureidopenicillins() using column 'TZP' (piperacillin/tazobactam)
+#>ℹ For `ureidopenicillins()` using column 'TZP' (piperacillin/tazobactam)#># An Antibiogram: 2 × 4#># Type: Non-WISCA with 95% CI#> Pathogen Piperacillin/tazobac…¹ Piperacillin/tazobac…² Piperacillin/tazobac…³
@@ -524,9 +524,9 @@ Adhering to previously described approaches (see Source) and especially the Baye
antimicrobials =c(aminoglycosides(), carbapenems()), syndromic_group ="ward")
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#># An Antibiogram: 14 × 8#># Type: Non-WISCA with 95% CI#> `Syndromic Group` Pathogen Amikacin Gentamicin Imipenem Kanamycin Meropenem
@@ -551,7 +551,7 @@ Adhering to previously described approaches (see Source) and especially the Baye
# now define a data set with only E. coliex1<-example_isolates[which(mo_genus()=="Escherichia"), ]
-#>ℹ Using column 'mo' as input for mo_genus()
+#>ℹ Using column 'mo' as input for `mo_genus()`# with a custom language, though this will be determined automatically# (i.e., this table will be in Spanish on Spanish systems)
@@ -563,7 +563,7 @@ Adhering to previously described approaches (see Source) and especially the Baye
), language ="es")
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)#># An Antibiogram: 2 × 5#># Type: Non-WISCA with 95% CI
@@ -603,7 +603,7 @@ Adhering to previously described approaches (see Source) and especially the Baye
syndromic_group ="ward", wisca =TRUE)
-#>ℹ For ureidopenicillins() using column 'TZP' (piperacillin/tazobactam)
+#>ℹ For `ureidopenicillins()` using column 'TZP' (piperacillin/tazobactam)# in an Rmd file, you would just need to return `ureido` in a chunk,# but to be explicit here:
diff --git a/reference/antimicrobial_selectors.html b/reference/antimicrobial_selectors.html
index 32840abdc..46a4e7854 100644
--- a/reference/antimicrobial_selectors.html
+++ b/reference/antimicrobial_selectors.html
@@ -17,7 +17,7 @@ my_data_with_all_these_columns %>%
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -284,10 +284,10 @@ my_data_with_all_these_columns %>%
# you can use the selectors separately to retrieve all possible antimicrobials:carbapenems()
-#>ℹ in carbapenems(): Imipenem/EDTA (IPE) and meropenem/nacubactam
-#> (MNC) are not included since only_treatable = TRUE.
-#>ℹ This 'ab' vector was retrieved using carbapenems(), which should
-#> normally be used inside a dplyr verb or data.frame call, e.g.:
+#>ℹ in `carbapenems()`: Imipenem/EDTA (`IPE`) and meropenem/nacubactam
+#> (`MNC`) are not included since `only_treatable = TRUE`.
+#>ℹ This 'ab' vector was retrieved using `carbapenems()`, which should
+#> normally be used inside a `dplyr` verb or `data.frame` call, e.g.:#> • your_data %>% select(carbapenems())#> • your_data %>% select(column_a, column_b, carbapenems())#> • your_data %>% filter(any(carbapenems() == "R"))
@@ -392,7 +392,7 @@ my_data_with_all_these_columns %>%
# select columns 'IPM' (imipenem) and 'MEM' (meropenem)example_isolates[, carbapenems()]
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#># A tibble: 2,000 × 2#> IPM MEM #><sir><sir>
@@ -410,7 +410,7 @@ my_data_with_all_these_columns %>%
# select columns 'mo', 'AMK', 'GEN', 'KAN' and 'TOB'example_isolates[, c("mo", aminoglycosides())]
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)#># A tibble: 2,000 × 5#> mo GEN TOB AMK KAN
@@ -429,7 +429,7 @@ my_data_with_all_these_columns %>%
# select only antimicrobials with DDDs for oral treatmentexample_isolates[, administrable_per_os()]
-#>ℹ For administrable_per_os() using columns 'OXA' (oxacillin), 'FLC'
+#>ℹ 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'
@@ -457,7 +457,7 @@ my_data_with_all_these_columns %>%
# filter using any() or all()example_isolates[any(carbapenems()=="R"), ]
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#># A tibble: 55 × 46#> date patient age gender ward mo PEN OXA FLC AMX #><date><chr><dbl><chr><chr><mo><sir><sir><sir><sir>
@@ -479,7 +479,7 @@ my_data_with_all_these_columns %>%
#># TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,#># IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …subset(example_isolates, any(carbapenems()=="R"))
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#># A tibble: 55 × 46#> date patient age gender ward mo PEN OXA FLC AMX #><date><chr><dbl><chr><chr><mo><sir><sir><sir><sir>
@@ -503,7 +503,7 @@ my_data_with_all_these_columns %>%
# filter on any or all results in the carbapenem columns (i.e., IPM, MEM):example_isolates[any(carbapenems()), ]
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#>ℹ Filtering any of columns 'IPM' and 'MEM' to contain value "S", "I" or "R"#># A tibble: 962 × 46#> date patient age gender ward mo PEN OXA FLC AMX
@@ -526,7 +526,7 @@ my_data_with_all_these_columns %>%
#># TCY <sir>, TGC <sir>, DOX <sir>, ERY <sir>, CLI <sir>, AZM <sir>,#># IPM <sir>, MEM <sir>, MTR <sir>, CHL <sir>, COL <sir>, MUP <sir>, …example_isolates[all(carbapenems()), ]
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#>ℹ Filtering all of columns 'IPM' and 'MEM' to contain value "S", "I" or "R"#># A tibble: 756 × 46#> date patient age gender ward mo PEN OXA FLC AMX
@@ -551,8 +551,8 @@ my_data_with_all_these_columns %>%
# filter with multiple antimicrobial selectors using c()example_isolates[all(c(carbapenems(), aminoglycosides())=="R"), ]
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)#># A tibble: 26 × 46#> date patient age gender ward mo PEN OXA FLC AMX
@@ -577,8 +577,8 @@ my_data_with_all_these_columns %>%
# filter + select in one go: get penicillins in carbapenem-resistant strainsexample_isolates[any(carbapenems()=="R"), penicillins()]
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
-#>ℹ For penicillins() using columns 'PEN' (benzylpenicillin), 'OXA'
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `penicillins()` using columns 'PEN' (benzylpenicillin), 'OXA'#> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC'#> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), and 'TZP'#> (piperacillin/tazobactam)
@@ -603,11 +603,11 @@ my_data_with_all_these_columns %>%
# drugs are both omitted since benzylpenicillin is not administrable per os# and erythromycin is not a penicillin:example_isolates[, penicillins()&administrable_per_os()]
-#>ℹ For penicillins() using columns 'PEN' (benzylpenicillin), 'OXA'
+#>ℹ For `penicillins()` using columns 'PEN' (benzylpenicillin), 'OXA'#> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC'#> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), and 'TZP'#> (piperacillin/tazobactam)
-#>ℹ For administrable_per_os() using columns 'OXA' (oxacillin), 'FLC'
+#>ℹ 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'
@@ -635,7 +635,7 @@ my_data_with_all_these_columns %>%
# very flexible. For instance, to select antimicrobials with an oral DDD# of at least 1 gram:example_isolates[, amr_selector(oral_ddd>1&oral_units=="g")]
-#>ℹ For amr_selector(oral_ddd > 1 & oral_units == "g") using columns 'OXA'
+#>ℹ For `amr_selector(oral_ddd > 1 & oral_units == "g")` using columns 'OXA'#> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC'#> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), 'KAN' (kanamycin), 'FOS'#> (fosfomycin), 'LNZ' (linezolid), 'VAN' (vancomycin), 'ERY' (erythromycin),
@@ -679,17 +679,17 @@ my_data_with_all_these_columns %>%
#> The following objects are masked from ‘package:AMR’:#>#> %like%, like
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#>Warning: It should never be needed to print an antimicrobial selector class. Are you
-#> using data.table? Then add the argument with = FALSE, see our examples at
-#>?amr_selector.
+#> using data.table? Then add the argument `with = FALSE`, see our examples at
+#>`?amr_selector`.#> Class 'amr_selector'#> [1] IPM MEMif(require("data.table")){# so `with = FALSE` is requireddt[, carbapenems(), with =FALSE]}
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#> IPM MEM#> <sir> <sir>#> 1: <NA> <NA>
@@ -708,7 +708,7 @@ my_data_with_all_these_columns %>%
if(require("data.table")){dt[, c("mo", aminoglycosides())]}
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)#> mo GEN TOB AMK KAN#> <mo> <sir> <sir> <sir> <sir>
@@ -726,8 +726,8 @@ my_data_with_all_these_columns %>%
if(require("data.table")){dt[, c(carbapenems(), aminoglycosides())]}
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)#> IPM MEM GEN TOB AMK KAN#> <sir> <sir> <sir> <sir> <sir> <sir>
@@ -747,7 +747,7 @@ my_data_with_all_these_columns %>%
if(require("data.table")){dt[any(carbapenems()=="S"), ]}
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#> date patient age gender ward mo PEN OXA FLC#> <Date> <char> <num> <char> <char> <mo> <sir> <sir> <sir>#> 1: 2002-01-19 738003 71 M Clinical B_ESCHR_COLI R <NA> <NA>
@@ -816,8 +816,8 @@ my_data_with_all_these_columns %>%
if(require("data.table")){dt[any(carbapenems()=="S"), penicillins(), with =FALSE]}
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
-#>ℹ For penicillins() using columns 'PEN' (benzylpenicillin), 'OXA'
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `penicillins()` using columns 'PEN' (benzylpenicillin), 'OXA'#> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC'#> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), and 'TZP'#> (piperacillin/tazobactam)
diff --git a/reference/antimicrobials.html b/reference/antimicrobials.html
index 36b2c3e54..0e2db842d 100644
--- a/reference/antimicrobials.html
+++ b/reference/antimicrobials.html
@@ -9,7 +9,7 @@ The antibiotics data set has been renamed to antimicrobials. The old name will b
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/as.ab.html b/reference/as.ab.html
index 1bbf9d171..18441c335 100644
--- a/reference/as.ab.html
+++ b/reference/as.ab.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/as.av.html b/reference/as.av.html
index b52285de8..06db8de4b 100644
--- a/reference/as.av.html
+++ b/reference/as.av.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/as.disk.html b/reference/as.disk.html
index 6282bb235..91b5a9361 100644
--- a/reference/as.disk.html
+++ b/reference/as.disk.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/as.mic.html b/reference/as.mic.html
index bb8bb0e71..f61853ccc 100644
--- a/reference/as.mic.html
+++ b/reference/as.mic.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/as.mo.html b/reference/as.mo.html
index e88757269..0a9c36231 100644
--- a/reference/as.mo.html
+++ b/reference/as.mo.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/as.sir.html b/reference/as.sir.html
index 9210fc763..0d6eed4d7 100644
--- a/reference/as.sir.html
+++ b/reference/as.sir.html
@@ -9,7 +9,7 @@ Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI 2011-2025,
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -415,10 +415,10 @@ Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI 2011-2025,
#># A tibble: 4 × 18#> datetime index method ab_given mo_given host_given input_given#><dttm><int><chr><chr><chr><chr><chr>
-#>1 2025-07-17 17:15:56 1 MIC amoxicillin Escherich… human 8
-#>2 2025-07-17 17:15:56 1 MIC cipro Escherich… human 0.256
-#>3 2025-07-17 17:15:57 1 DISK tobra Escherich… human 16
-#>4 2025-07-17 17:15:57 1 DISK genta Escherich… human 18
+#>1 2025-07-17 17:39:19 1 MIC amoxicillin Escherich… human 8
+#>2 2025-07-17 17:39:19 1 MIC cipro Escherich… human 0.256
+#>3 2025-07-17 17:39:19 1 DISK tobra Escherich… human 16
+#>4 2025-07-17 17:39:19 1 DISK genta Escherich… human 18 #># ℹ 11 more variables: ab <ab>, mo <mo>, host <chr>, input <chr>,#># outcome <sir>, notes <chr>, guideline <chr>, ref_table <chr>, uti <lgl>,#># breakpoint_S_R <chr>, site <chr>
@@ -427,7 +427,7 @@ Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI 2011-2025,
# using parallel computing, which is available in base R:as.sir(df_wide, parallel =TRUE, info =TRUE)#>ℹ Returning previously coerced values for various antimicrobials. Run
-#>ab_reset_session() to reset this. This note will be shown once per
+#>`ab_reset_session()` to reset this. This note will be shown once per#> session.#>#>Running in parallel mode using 3 out of 4 cores, on columns 'amoxicillin',
@@ -435,7 +435,7 @@ Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI 2011-2025,
#> DONE#>#>
-#>ℹ Run sir_interpretation_history() to retrieve a logbook with all details
+#>ℹ Run `sir_interpretation_history()` to retrieve a logbook with all details#> of the breakpoint interpretations.#> microorganism amoxicillin cipro tobra genta ERY#> 1 Escherichia coli S I S S R
@@ -548,7 +548,7 @@ Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI 2011-2025,
df_wide%>%mutate_at(vars(cipro:genta), as.sir, mo ="E. coli", uti =TRUE)}
-#>ℹ For aminopenicillins() using column 'amoxicillin'
+#>ℹ For `aminopenicillins()` using column 'amoxicillin'#>Warning: There was 1 warning in `mutate()`.#>ℹ In argument: `across(...)`.#> Caused by warning:
@@ -619,7 +619,7 @@ Breakpoints are currently implemented from EUCAST 2011-2025 and CLSI 2011-2025,
# For CLEANING existing SIR values -------------------------------------as.sir(c("S", "SDD", "I", "R", "NI", "A", "B", "C"))
-#>Warning: in as.sir(): 3 results in index '21' truncated (38%) that were invalid
+#>Warning: in `as.sir()`: 3 results in index '21' truncated (38%) that were invalid#> antimicrobial interpretations: "A", "B", and "C"#> Class 'sir'#> [1] S SDD I R NI <NA> <NA> <NA>
diff --git a/reference/atc_online.html b/reference/atc_online.html
index dc819ee09..90ae39507 100644
--- a/reference/atc_online.html
+++ b/reference/atc_online.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -135,10 +135,10 @@
atc_online_property("J01CA04", property ="groups")# search hierarchical groups of amoxicillin}#> Loading required namespace: rvest
-#>ℹ in atc_online_property(): no properties found for ATC QG51AA03. Please
+#>ℹ in `atc_online_property()`: no properties found for ATC QG51AA03. Please#> check#> https://atcddd.fhi.no/atcvet/atcvet_index/?code=QG51AA03&showdescription=no.
-#>ℹ in atc_online_property(): no properties found for ATC QJ01CA04. Please
+#>ℹ in `atc_online_property()`: no properties found for ATC QJ01CA04. Please#> check#> https://atcddd.fhi.no/atcvet/atcvet_index/?code=QJ01CA04&showdescription=no.#> [1] "ANTIINFECTIVES FOR SYSTEMIC USE"
diff --git a/reference/av_from_text.html b/reference/av_from_text.html
index 4951faab9..35035b819 100644
--- a/reference/av_from_text.html
+++ b/reference/av_from_text.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/av_property.html b/reference/av_property.html
index c67e2895c..2c67c9d83 100644
--- a/reference/av_property.html
+++ b/reference/av_property.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/availability.html b/reference/availability.html
index 95a43ea6c..86520cfce 100644
--- a/reference/availability.html
+++ b/reference/availability.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/bug_drug_combinations.html b/reference/bug_drug_combinations.html
index 4ab88123a..260688ea5 100644
--- a/reference/bug_drug_combinations.html
+++ b/reference/bug_drug_combinations.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/clinical_breakpoints.html b/reference/clinical_breakpoints.html
index 4b0f08324..0b44dda0c 100644
--- a/reference/clinical_breakpoints.html
+++ b/reference/clinical_breakpoints.html
@@ -21,7 +21,7 @@ Use as.sir() to transform MICs or disks measurements to SIR values.">AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/count.html b/reference/count.html
index 725e85c56..d48a6e765 100644
--- a/reference/count.html
+++ b/reference/count.html
@@ -9,7 +9,7 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -243,7 +243,7 @@ count_resistant() should be used to count resistant isolates, count_susceptible(
group_by(ward)%>%count_df(translate =FALSE)}
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)#># A tibble: 12 × 4#> ward antibiotic interpretation value
diff --git a/reference/custom_eucast_rules.html b/reference/custom_eucast_rules.html
index 32d96ec5b..dd6096039 100644
--- a/reference/custom_eucast_rules.html
+++ b/reference/custom_eucast_rules.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/custom_mdro_guideline.html b/reference/custom_mdro_guideline.html
index 301995475..80eddacd0 100644
--- a/reference/custom_mdro_guideline.html
+++ b/reference/custom_mdro_guideline.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -241,10 +241,10 @@
#> Results will be of class 'factor', with ordered levels: Negative < Custom MDRO 1 < Custom MDRO 2out<-mdro(example_isolates, guideline =my_guideline)
-#>ℹ For cephalosporins_2nd() using columns 'CXM' (cefuroxime) and 'FOX'
+#>ℹ For `cephalosporins_2nd()` using columns 'CXM' (cefuroxime) and 'FOX'#> (cefoxitin)
-#>ℹ Assuming a filter on all 2 cephalosporins_2nd. Wrap around all() or
-#>any() to prevent this note.
+#>ℹ Assuming a filter on all 2 cephalosporins_2nd. Wrap around `all()` or
+#>`any()` to prevent this note.table(out)#> out#> Negative Custom MDRO 1 Custom MDRO 2
diff --git a/reference/dosage.html b/reference/dosage.html
index 2313b79d4..965ec7b20 100644
--- a/reference/dosage.html
+++ b/reference/dosage.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/esbl_isolates.html b/reference/esbl_isolates.html
index 84b45fa03..45f74c006 100644
--- a/reference/esbl_isolates.html
+++ b/reference/esbl_isolates.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/eucast_rules.html b/reference/eucast_rules.html
index f55138adb..ed43d91a5 100644
--- a/reference/eucast_rules.html
+++ b/reference/eucast_rules.html
@@ -9,7 +9,7 @@ To improve the interpretation of the antibiogram before EUCAST rules are applied
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -215,7 +215,7 @@ Leclercq et al. EUCAST expert rules in antimicrobial susceptibility test
# apply EUCAST rules: some results wil be changedb<-eucast_rules(a, overwrite =TRUE)
-#>Warning: in eucast_rules(): not all columns with antimicrobial results are of
+#>Warning: in `eucast_rules()`: not all columns with antimicrobial results are of#> class 'sir'. Transform them on beforehand, with e.g.:#> - a %>% as.sir(CXM:AMX)#> - a %>% mutate_if(is_sir_eligible, as.sir)
@@ -233,7 +233,7 @@ Leclercq et al. EUCAST expert rules in antimicrobial susceptibility test
# do not apply EUCAST rules, but rather get a data.frame# containing all details about the transformations:c<-eucast_rules(a, overwrite =TRUE, verbose =TRUE)
-#>Warning: in eucast_rules(): not all columns with antimicrobial results are of
+#>Warning: in `eucast_rules()`: not all columns with antimicrobial results are of#> class 'sir'. Transform them on beforehand, with e.g.:#> - a %>% as.sir(CXM:AMX)#> - a %>% mutate_if(is_sir_eligible, as.sir)
diff --git a/reference/example_isolates.html b/reference/example_isolates.html
index 6bf667ef9..58fad9831 100644
--- a/reference/example_isolates.html
+++ b/reference/example_isolates.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/example_isolates_unclean.html b/reference/example_isolates_unclean.html
index ebec2825b..47b73a2fc 100644
--- a/reference/example_isolates_unclean.html
+++ b/reference/example_isolates_unclean.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/export_ncbi_biosample.html b/reference/export_ncbi_biosample.html
index f476096ee..d9548371b 100644
--- a/reference/export_ncbi_biosample.html
+++ b/reference/export_ncbi_biosample.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/first_isolate.html b/reference/first_isolate.html
index b94ea2e49..668256f32 100644
--- a/reference/first_isolate.html
+++ b/reference/first_isolate.html
@@ -9,7 +9,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -227,8 +227,8 @@
example_isolates[first_isolate(info =TRUE), ]#>ℹ Determining first isolates using an episode length of 365 days
-#>ℹ Using column 'date' as input for col_date.
-#>ℹ Using column 'patient' as input for col_patient_id.
+#>ℹ Using column 'date' as input for `col_date`.
+#>ℹ Using column 'patient' as input for `col_patient_id`.#>ℹ Basing inclusion on all antimicrobial results, using a points threshold#> of 2#>ℹ Excluding 16 isolates with a microbial ID 'UNKNOWN' (in column 'mo')
@@ -257,7 +257,7 @@
# \donttest{# get all first Gram-negativesexample_isolates[which(first_isolate(info =FALSE)&mo_is_gram_negative()), ]
-#>ℹ Using column 'mo' as input for mo_is_gram_negative()
+#>ℹ Using column 'mo' as input for `mo_is_gram_negative()`#># A tibble: 441 × 46#> date patient age gender ward mo PEN OXA FLC AMX #><date><chr><dbl><chr><chr><mo><sir><sir><sir><sir>
diff --git a/reference/g.test.html b/reference/g.test.html
index 583c367ae..2fa19e40f 100644
--- a/reference/g.test.html
+++ b/reference/g.test.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/get_episode.html b/reference/get_episode.html
index f6c213e42..03574b67b 100644
--- a/reference/get_episode.html
+++ b/reference/get_episode.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/ggplot_pca.html b/reference/ggplot_pca.html
index 4375a058a..56b993a73 100644
--- a/reference/ggplot_pca.html
+++ b/reference/ggplot_pca.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -224,7 +224,7 @@
#>ℹ In group 5: `order = "Lactobacillales"` `genus = "Enterococcus"`.#> Caused by warning:#>! Introducing NA: only 14 results available for PEN in group: order =
-#> "Lactobacillales", genus = "Enterococcus" (minimum = 30).
+#> "Lactobacillales", genus = "Enterococcus" (`minimum` = 30).#>ℹ Run `dplyr::last_dplyr_warnings()` to see the 72 remaining warnings.#>ℹ Columns selected for PCA: "AMC", "CAZ", "CTX", "CXM", "GEN", "SXT",#> "TMP", and "TOB". Total observations available: 7.
diff --git a/reference/ggplot_sir-10.png b/reference/ggplot_sir-10.png
new file mode 100644
index 000000000..eb21cafb4
Binary files /dev/null and b/reference/ggplot_sir-10.png differ
diff --git a/reference/ggplot_sir-9.png b/reference/ggplot_sir-9.png
index eb21cafb4..e30dc90e2 100644
Binary files a/reference/ggplot_sir-9.png and b/reference/ggplot_sir-9.png differ
diff --git a/reference/ggplot_sir.html b/reference/ggplot_sir.html
index c5418d5b3..1b9737b65 100644
--- a/reference/ggplot_sir.html
+++ b/reference/ggplot_sir.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -267,10 +267,7 @@
select(AMX, NIT, FOS, TMP, CIP)%>%ggplot_sir(colours =FALSE)}
-#>Error in ggplot2::geom_col(data = function(x) { sir_df(data = x, translate_ab = translate_ab, language = language, minimum = minimum, combine_SI = combine_SI)}, mapping = utils::modifyList(ggplot2::aes(), list(x = str2lang(x), y = str2lang(y), fill = str2lang(fill))), position = position, ...): Problem while converting geom to grob.
-#>ℹ Error occurred in the 1st layer.
-#>Caused by error:
-#>! Unknown colour name: FALSE
+if(require("ggplot2")&&require("dplyr")){# it also supports groups (don't forget to use the group var on `x` or `facet`):example_isolates%>%
@@ -287,8 +284,8 @@
datalabels =FALSE)}
-#>ℹ Using column 'mo' as input for mo_is_gram_negative()
-
+#>ℹ Using column 'mo' as input for `mo_is_gram_negative()`
+# }
diff --git a/reference/guess_ab_col.html b/reference/guess_ab_col.html
index e72a2aa84..1868286e9 100644
--- a/reference/guess_ab_col.html
+++ b/reference/guess_ab_col.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/index.html b/reference/index.html
index 17864ed5e..cb113fd85 100644
--- a/reference/index.html
+++ b/reference/index.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/intrinsic_resistant.html b/reference/intrinsic_resistant.html
index b6e4670f1..f9addcaad 100644
--- a/reference/intrinsic_resistant.html
+++ b/reference/intrinsic_resistant.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/italicise_taxonomy.html b/reference/italicise_taxonomy.html
index 26ddd4bc3..cee0cb02b 100644
--- a/reference/italicise_taxonomy.html
+++ b/reference/italicise_taxonomy.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/join.html b/reference/join.html
index a156ffdb7..53fec33ef 100644
--- a/reference/join.html
+++ b/reference/join.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/key_antimicrobials.html b/reference/key_antimicrobials.html
index 54176f162..27848cc2c 100644
--- a/reference/key_antimicrobials.html
+++ b/reference/key_antimicrobials.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/kurtosis.html b/reference/kurtosis.html
index 02435d10d..fe89e3aa1 100644
--- a/reference/kurtosis.html
+++ b/reference/kurtosis.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/like.html b/reference/like.html
index 32fc5dff3..f36d24282 100644
--- a/reference/like.html
+++ b/reference/like.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -133,7 +133,7 @@
# \donttest{# get isolates whose name start with 'Entero' (case-insensitive)example_isolates[which(mo_name()%like%"^entero"), ]
-#>ℹ Using column 'mo' as input for mo_name()
+#>ℹ Using column 'mo' as input for `mo_name()`#># A tibble: 106 × 46#> date patient age gender ward mo PEN OXA FLC AMX #><date><chr><dbl><chr><chr><mo><sir><sir><sir><sir>
@@ -159,7 +159,7 @@
example_isolates%>%filter(mo_name()%like%"^ent")}
-#>ℹ Using column 'mo' as input for mo_name()
+#>ℹ Using column 'mo' as input for `mo_name()`#># A tibble: 106 × 46#> date patient age gender ward mo PEN OXA FLC AMX #><date><chr><dbl><chr><chr><mo><sir><sir><sir><sir>
diff --git a/reference/mdro.html b/reference/mdro.html
index 610c53d78..0543a4ddf 100644
--- a/reference/mdro.html
+++ b/reference/mdro.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -205,8 +205,8 @@ Ordered facto
out<-mdro(example_isolates)
-#>Warning: in mdro(): NA introduced for isolates where the available percentage of
-#> antimicrobial classes was below 50% (set with pct_required_classes)
+#>Warning: in `mdro()`: NA introduced for isolates where the available percentage of
+#> antimicrobial classes was below 50% (set with `pct_required_classes`)str(out)#> Ord.factor w/ 4 levels "Negative"<"Multi-drug-resistant (MDR)"<..: NA NA 1 1 1 1 NA NA 1 1 ...table(out)
@@ -232,8 +232,8 @@ Ordered facto
#>Warning: There was 1 warning in `mutate()`.#>ℹ In argument: `MDRO = mdro()`.#> Caused by warning:
-#>! in mdro(): NA introduced for isolates where the available percentage of
-#> antimicrobial classes was below 50% (set with pct_required_classes)
+#>! in `mdro()`: NA introduced for isolates where the available percentage of
+#> antimicrobial classes was below 50% (set with `pct_required_classes`)#># A tibble: 3 × 2#> MDRO n#><ord><int>
diff --git a/reference/mean_amr_distance.html b/reference/mean_amr_distance.html
index 8272e3fd1..c11c5f9cb 100644
--- a/reference/mean_amr_distance.html
+++ b/reference/mean_amr_distance.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -204,9 +204,9 @@
mutate(dist =mean_amr_distance(.))%>%arrange(mo, dist)}
-#>ℹ Using column 'mo' as input for mo_genus()
-#>ℹ Using column 'mo' as input for mo_species()
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ Using column 'mo' as input for `mo_genus()`
+#>ℹ Using column 'mo' as input for `mo_species()`
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#>ℹ Calculating mean AMR distance based on columns "TCY", "IPM", and "MEM"#># A tibble: 63 × 5#># Groups: mo [4]
diff --git a/reference/microorganisms.codes.html b/reference/microorganisms.codes.html
index dc0f02232..e4f36b7c2 100644
--- a/reference/microorganisms.codes.html
+++ b/reference/microorganisms.codes.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/microorganisms.groups.html b/reference/microorganisms.groups.html
index 08934291b..c05a81e30 100644
--- a/reference/microorganisms.groups.html
+++ b/reference/microorganisms.groups.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/microorganisms.html b/reference/microorganisms.html
index 879c3973b..ee6a4590e 100644
--- a/reference/microorganisms.html
+++ b/reference/microorganisms.html
@@ -9,7 +9,7 @@ This data set is carefully crafted, yet made 100% reproducible from public and a
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/mo_matching_score.html b/reference/mo_matching_score.html
index 4339f84cb..55ca474d6 100644
--- a/reference/mo_matching_score.html
+++ b/reference/mo_matching_score.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -120,7 +120,7 @@
#> [1] B_ESCHR_COLImo_uncertainties()#>Matching scores are based on the resemblance between the input and the full
-#>taxonomic name, and the pathogenicity in humans. See ?mo_matching_score.
+#>taxonomic name, and the pathogenicity in humans. See `?mo_matching_score`.#>Colour keys: 0.000-0.549 0.550-0.649 0.650-0.749 0.750-1.000 #>#>--------------------------------------------------------------------------------
@@ -133,8 +133,8 @@
#> dissolvens (0.565)#>#>Only the first 10 other matches of each record are shown. Run
-#>print(mo_uncertainties(), n = ...) to view more entries, or save
-#>mo_uncertainties() to an object.
+#>`print(mo_uncertainties(), n = ...)` to view more entries, or save
+#>`mo_uncertainties()` to an object.mo_matching_score( x ="E. coli",
diff --git a/reference/mo_property.html b/reference/mo_property.html
index 9eeb2de89..1b015b684 100644
--- a/reference/mo_property.html
+++ b/reference/mo_property.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -367,9 +367,9 @@
mo_mycobank("Candida krusei")#> [1] "337013"mo_mycobank("Candida krusei", keep_synonyms =TRUE)
-#>Warning: Function as.mo() returned one old taxonomic name. Use as.mo(...,
-#>keep_synonyms = FALSE) to clean the input to currently accepted taxonomic
-#> names, or set the R option AMR_keep_synonyms to FALSE. This warning
+#>Warning: Function `as.mo()` returned one old taxonomic name. Use `as.mo(...,
+#>keep_synonyms = FALSE)` to clean the input to currently accepted taxonomic
+#> names, or set the R option `AMR_keep_synonyms` to `FALSE`. This warning#> will be shown once per session.#> [1] "268707"
@@ -462,8 +462,8 @@
filter(mo_is_gram_positive())%>%count(mo_genus(), sort =TRUE)}
-#>ℹ Using column 'mo' as input for mo_is_gram_positive()
-#>ℹ Using column 'mo' as input for mo_genus()
+#>ℹ Using column 'mo' as input for `mo_is_gram_positive()`
+#>ℹ Using column 'mo' as input for `mo_genus()`#># A tibble: 18 × 2#> `mo_genus()` n#><chr><int>
@@ -490,8 +490,8 @@
filter(mo_is_intrinsic_resistant(ab ="vanco"))%>%count(mo_genus(), sort =TRUE)}
-#>ℹ Using column 'mo' as input for mo_is_intrinsic_resistant()
-#>ℹ Using column 'mo' as input for mo_genus()
+#>ℹ Using column 'mo' as input for `mo_is_intrinsic_resistant()`
+#>ℹ Using column 'mo' as input for `mo_genus()`#># A tibble: 19 × 2#> `mo_genus()` n#><chr><int>
diff --git a/reference/mo_source.html b/reference/mo_source.html
index 7c4e0504c..33bb3e7e9 100644
--- a/reference/mo_source.html
+++ b/reference/mo_source.html
@@ -9,7 +9,7 @@ This is the fastest way to have your organisation (or analysis) specific codes p
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/pca.html b/reference/pca.html
index b23e4b01e..19113d423 100644
--- a/reference/pca.html
+++ b/reference/pca.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -152,7 +152,7 @@
#>ℹ In group 5: `order = "Lactobacillales"` `genus = "Enterococcus"`.#> Caused by warning:#>! Introducing NA: only 14 results available for PEN in group: order =
-#> "Lactobacillales", genus = "Enterococcus" (minimum = 30).
+#> "Lactobacillales", genus = "Enterococcus" (`minimum` = 30).#>ℹ Run `dplyr::last_dplyr_warnings()` to see the 72 remaining warnings.#>ℹ Columns selected for PCA: "AMC", "CAZ", "CTX", "CXM", "GEN", "SXT",#> "TMP", and "TOB". Total observations available: 7.
diff --git a/reference/plot.html b/reference/plot.html
index 1d7809858..f93f1c79e 100644
--- a/reference/plot.html
+++ b/reference/plot.html
@@ -9,7 +9,7 @@ Especially the scale_*_mic() functions are relevant wrappers to plot MIC values
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/proportion.html b/reference/proportion.html
index 39f32c550..c7ac2d1dc 100644
--- a/reference/proportion.html
+++ b/reference/proportion.html
@@ -9,7 +9,7 @@ resistance() should be used to calculate resistance, susceptibility() should be
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -306,16 +306,16 @@ resistance() should be used to calculate resistance, susceptibility() should be
resistance)}
-#>ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB'
+#>ℹ For `aminoglycosides()` using columns 'GEN' (gentamicin), 'TOB'#> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)
-#>ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)
+#>ℹ For `carbapenems()` using columns 'IPM' (imipenem) and 'MEM' (meropenem)#>Warning: There was 1 warning in `summarise()`.#>ℹ In argument: `KAN = (function (..., minimum = 30, as_percent = FALSE,#> only_all_tested = FALSE) ...`.#>ℹ In group 3: `ward = "Outpatient"`.#> Caused by warning:#>! Introducing NA: only 23 results available for KAN in group: ward =
-#> "Outpatient" (minimum = 30).
+#> "Outpatient" (`minimum` = 30).#># A tibble: 3 × 7#> ward GEN TOB AMK KAN IPM MEM#><chr><dbl><dbl><dbl><dbl><dbl><dbl>
diff --git a/reference/random.html b/reference/random.html
index e9e4226ef..4ee2d893e 100644
--- a/reference/random.html
+++ b/reference/random.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/resistance_predict.html b/reference/resistance_predict.html
index 14da47d17..6fe26dcef 100644
--- a/reference/resistance_predict.html
+++ b/reference/resistance_predict.html
@@ -9,7 +9,7 @@ NOTE: These functions are deprecated and will be removed in a future version. Us
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
@@ -179,8 +179,8 @@ NOTE: These functions are deprecated and will be removed in a future version. Us
year_min =2010, model ="binomial")
-#>Warning: The resistance_predict() function is deprecated and will be removed in a
-#> future version, see ?AMR-deprecated. Use the tidymodels framework
+#>Warning: The `resistance_predict()` function is deprecated and will be removed in a
+#> future version, see `?AMR-deprecated`. Use the tidymodels framework#> instead, for which we have written a basic and short introduction on our#> website: https://amr-for-r.org/articles/AMR_with_tidymodels.html#> This warning will be shown once per session.
diff --git a/reference/skewness.html b/reference/skewness.html
index 57be7ff27..a9d797351 100644
--- a/reference/skewness.html
+++ b/reference/skewness.html
@@ -9,7 +9,7 @@ When negative ('left-skewed'): the left tail is longer; the mass of the distribu
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/top_n_microorganisms.html b/reference/top_n_microorganisms.html
index 06d21f609..90dd4902a 100644
--- a/reference/top_n_microorganisms.html
+++ b/reference/top_n_microorganisms.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/reference/translate.html b/reference/translate.html
index 00bbac3cc..e1279d584 100644
--- a/reference/translate.html
+++ b/reference/translate.html
@@ -7,7 +7,7 @@
AMR (for R)
- 3.0.0.9010
+ 3.0.0.9011
diff --git a/search.json b/search.json
index bf0c3b8fa..659d89dec 100644
--- a/search.json
+++ b/search.json
@@ -1 +1 @@
-[{"path":"https://amr-for-r.org/articles/AMR.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"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 !) reliable data 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 SIR 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://amr-for-r.org/articles/AMR.html","id":"preparation","dir":"Articles","previous_headings":"","what":"Preparation","title":"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://amr-for-r.org/articles/AMR.html","id":"needed-r-packages","dir":"Articles","previous_headings":"Preparation","what":"Needed R packages","title":"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. AMR package contains data set example_isolates_unclean, might look data users extracted laboratory systems: AMR data analysis, like microorganism column contain valid, --date taxonomy, antibiotic columns cleaned SIR values well.","code":"library(dplyr) library(ggplot2) library(AMR) # (if not yet installed, install with:) # install.packages(c(\"dplyr\", \"ggplot2\", \"AMR\")) example_isolates_unclean #> # A tibble: 3,000 × 8 #> patient_id hospital date bacteria AMX AMC CIP GEN #> #> 1 J3 A 2012-11-21 E. coli R I S S #> 2 R7 A 2018-04-03 K. pneumoniae R I S S #> 3 P3 A 2014-09-19 E. coli R S S S #> 4 P10 A 2015-12-10 E. coli S I S S #> 5 B7 A 2015-03-02 E. coli S S S S #> 6 W3 A 2018-03-31 S. aureus R S R S #> 7 J8 A 2016-06-14 E. coli R S S S #> 8 M3 A 2015-10-25 E. coli R S S S #> 9 J3 A 2019-06-19 E. coli S S S S #> 10 G6 A 2015-04-27 S. aureus S S S S #> # ℹ 2,990 more rows # we will use 'our_data' as the data set name for this tutorial our_data <- example_isolates_unclean"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"taxonomy-of-microorganisms","dir":"Articles","previous_headings":"Preparation","what":"Taxonomy of microorganisms","title":"Conduct AMR data analysis","text":".mo(), users can transform arbitrary microorganism names codes current taxonomy. AMR package contains --date taxonomic data. specific, currently included data retrieved 24 Jun 2024. codes AMR packages come .mo() short, still human readable. importantly, .mo() supports kinds input: first character codes denote taxonomic kingdom, Bacteria (B), Fungi (F), Protozoa (P). AMR package also contain functions directly retrieve taxonomic properties, name, genus, species, family, order, even Gram-stain. start mo_ use .mo() internally, still arbitrary user input can used: Now can thus clean data: Apparently, uncertainty translation taxonomic codes. Let’s check : ’s good.","code":"as.mo(\"Klebsiella pneumoniae\") #> Class 'mo' #> [1] B_KLBSL_PNMN as.mo(\"K. pneumoniae\") #> Class 'mo' #> [1] B_KLBSL_PNMN as.mo(\"KLEPNE\") #> Class 'mo' #> [1] B_KLBSL_PNMN as.mo(\"KLPN\") #> Class 'mo' #> [1] B_KLBSL_PNMN mo_family(\"K. pneumoniae\") #> [1] \"Enterobacteriaceae\" mo_genus(\"K. pneumoniae\") #> [1] \"Klebsiella\" mo_species(\"K. pneumoniae\") #> [1] \"pneumoniae\" mo_gramstain(\"Klebsiella pneumoniae\") #> [1] \"Gram-negative\" mo_ref(\"K. pneumoniae\") #> [1] \"Trevisan, 1887\" mo_snomed(\"K. pneumoniae\") #> [[1]] #> [1] \"1098101000112102\" \"446870005\" \"1098201000112108\" \"409801009\" #> [5] \"56415008\" \"714315002\" \"713926009\" our_data$bacteria <- as.mo(our_data$bacteria, info = TRUE) #> ℹ Retrieved values from the microorganisms.codes data set for \"ESCCOL\", #> \"KLEPNE\", \"STAAUR\", and \"STRPNE\". #> ℹ Microorganism translation was uncertain for four microorganisms. Run #> mo_uncertainties() to review these uncertainties, or use #> add_custom_microorganisms() to add custom entries. mo_uncertainties() #> Matching scores are based on the resemblance between the input and the full #> taxonomic name, and the pathogenicity in humans. See ?mo_matching_score. #> Colour keys: 0.000-0.549 0.550-0.649 0.650-0.749 0.750-1.000 #> #> -------------------------------------------------------------------------------- #> \"E. coli\" -> Escherichia coli (B_ESCHR_COLI, 0.688) #> Also matched: Enterococcus crotali (0.650), Escherichia coli coli #> (0.643), Escherichia coli expressing (0.611), Enterobacter cowanii #> (0.600), Enterococcus columbae (0.595), Enterococcus camelliae (0.591), #> Enterococcus casseliflavus (0.577), Enterobacter cloacae cloacae #> (0.571), Enterobacter cloacae complex (0.571), and Enterobacter cloacae #> dissolvens (0.565) #> -------------------------------------------------------------------------------- #> \"K. pneumoniae\" -> Klebsiella pneumoniae (B_KLBSL_PNMN, 0.786) #> Also matched: Klebsiella pneumoniae complex (0.707), Klebsiella #> pneumoniae ozaenae (0.707), Klebsiella pneumoniae pneumoniae (0.688), #> Klebsiella pneumoniae rhinoscleromatis (0.658), Klebsiella pasteurii #> (0.500), Klebsiella planticola (0.500), Kingella potus (0.400), #> Kluyveromyces pseudotropicale (0.386), Kluyveromyces pseudotropicalis #> (0.363), and Kosakonia pseudosacchari (0.361) #> -------------------------------------------------------------------------------- #> \"S. aureus\" -> Staphylococcus aureus (B_STPHY_AURS, 0.690) #> Also matched: Staphylococcus aureus aureus (0.643), Staphylococcus #> argenteus (0.625), Staphylococcus aureus anaerobius (0.625), #> Staphylococcus auricularis (0.615), Salmonella Aurelianis (0.595), #> Salmonella Aarhus (0.588), Salmonella Amounderness (0.587), #> Staphylococcus argensis (0.587), Streptococcus australis (0.587), and #> Salmonella choleraesuis arizonae (0.562) #> -------------------------------------------------------------------------------- #> \"S. pneumoniae\" -> Streptococcus pneumoniae (B_STRPT_PNMN, 0.750) #> Also matched: Streptococcus pseudopneumoniae (0.700), Streptococcus #> phocae salmonis (0.552), Serratia proteamaculans quinovora (0.545), #> Streptococcus pseudoporcinus (0.536), Staphylococcus piscifermentans #> (0.533), Staphylococcus pseudintermedius (0.532), Serratia #> proteamaculans proteamaculans (0.526), Streptococcus gallolyticus #> pasteurianus (0.526), Salmonella Portanigra (0.524), and Streptococcus #> periodonticum (0.519) #> #> Only the first 10 other matches of each record are shown. Run #> print(mo_uncertainties(), n = ...) to view more entries, or save #> mo_uncertainties() to an object."},{"path":"https://amr-for-r.org/articles/AMR.html","id":"antibiotic-results","dir":"Articles","previous_headings":"Preparation","what":"Antibiotic results","title":"Conduct AMR data analysis","text":"column antibiotic test results must also cleaned. AMR package comes three new data types work test results: mic minimal inhibitory concentrations (MIC), disk disk diffusion diameters, sir SIR data interpreted already. package can also determine SIR values based MIC disk diffusion values, read .sir() page. now, just clean SIR columns data using dplyr: basically cleaning, time start data inclusion.","code":"# method 1, be explicit about the columns: our_data <- our_data %>% mutate_at(vars(AMX:GEN), as.sir) # method 2, let the AMR package determine the eligible columns our_data <- our_data %>% mutate_if(is_sir_eligible, as.sir) # result: our_data #> # A tibble: 3,000 × 8 #> patient_id hospital date bacteria AMX AMC CIP GEN #> #> 1 J3 A 2012-11-21 B_ESCHR_COLI R I S S #> 2 R7 A 2018-04-03 B_KLBSL_PNMN R I S S #> 3 P3 A 2014-09-19 B_ESCHR_COLI R S S S #> 4 P10 A 2015-12-10 B_ESCHR_COLI S I S S #> 5 B7 A 2015-03-02 B_ESCHR_COLI S S S S #> 6 W3 A 2018-03-31 B_STPHY_AURS R S R S #> 7 J8 A 2016-06-14 B_ESCHR_COLI R S S S #> 8 M3 A 2015-10-25 B_ESCHR_COLI R S S S #> 9 J3 A 2019-06-19 B_ESCHR_COLI S S S S #> 10 G6 A 2015-04-27 B_STPHY_AURS S S S S #> # ℹ 2,990 more rows"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"first-isolates","dir":"Articles","previous_headings":"Preparation","what":"First isolates","title":"Conduct AMR data analysis","text":"need know isolates can actually use analysis without repetition bias. 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. Read methods first_isolate() page. outcome function can easily added data: 91% suitable resistance analysis! can now filter filter() function, also dplyr package: future use, two syntaxes can shortened: end 2 724 isolates analysis. Now data looks like: Time analysis.","code":"our_data <- our_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 #> => Found 2,724 'phenotype-based' first isolates (90.8% of total where a #> microbial ID was available) our_data_1st <- our_data %>% filter(first == TRUE) our_data_1st <- our_data %>% filter_first_isolate() our_data_1st #> # A tibble: 2,724 × 9 #> patient_id hospital date bacteria AMX AMC CIP GEN first #> #> 1 J3 A 2012-11-21 B_ESCHR_COLI R I S S TRUE #> 2 R7 A 2018-04-03 B_KLBSL_PNMN R I S S TRUE #> 3 P3 A 2014-09-19 B_ESCHR_COLI R S S S TRUE #> 4 P10 A 2015-12-10 B_ESCHR_COLI S I S S TRUE #> 5 B7 A 2015-03-02 B_ESCHR_COLI S S S S TRUE #> 6 W3 A 2018-03-31 B_STPHY_AURS R S R S TRUE #> 7 M3 A 2015-10-25 B_ESCHR_COLI R S S S TRUE #> 8 J3 A 2019-06-19 B_ESCHR_COLI S S S S TRUE #> 9 G6 A 2015-04-27 B_STPHY_AURS S S S S TRUE #> 10 P4 A 2011-06-21 B_ESCHR_COLI S S S S TRUE #> # ℹ 2,714 more rows"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"analysing-the-data","dir":"Articles","previous_headings":"","what":"Analysing the data","title":"Conduct AMR data analysis","text":"base R summary() function gives good first impression, comes support new mo sir classes now data set:","code":"summary(our_data_1st) #> patient_id hospital date #> Length:2724 Length:2724 Min. :2011-01-01 #> Class :character Class :character 1st Qu.:2013-04-07 #> Mode :character Mode :character Median :2015-06-03 #> Mean :2015-06-09 #> 3rd Qu.:2017-08-11 #> Max. :2019-12-27 #> bacteria AMX AMC #> Class :mo Class:sir Class:sir #> :0 %S :41.6% (n=1133) %S :52.6% (n=1432) #> Unique:4 %SDD : 0.0% (n=0) %SDD : 0.0% (n=0) #> #1 :B_ESCHR_COLI %I :16.4% (n=446) %I :12.2% (n=333) #> #2 :B_STPHY_AURS %R :42.0% (n=1145) %R :35.2% (n=959) #> #3 :B_STRPT_PNMN %NI : 0.0% (n=0) %NI : 0.0% (n=0) #> CIP GEN first #> Class:sir Class:sir Mode:logical #> %S :52.5% (n=1431) %S :61.0% (n=1661) TRUE:2724 #> %SDD : 0.0% (n=0) %SDD : 0.0% (n=0) #> %I : 6.5% (n=176) %I : 3.0% (n=82) #> %R :41.0% (n=1117) %R :36.0% (n=981) #> %NI : 0.0% (n=0) %NI : 0.0% (n=0) glimpse(our_data_1st) #> Rows: 2,724 #> Columns: 9 #> $ patient_id \"J3\", \"R7\", \"P3\", \"P10\", \"B7\", \"W3\", \"M3\", \"J3\", \"G6\", \"P4\"… #> $ hospital \"A\", \"A\", \"A\", \"A\", \"A\", \"A\", \"A\", \"A\", \"A\", \"A\", \"A\", \"A\",… #> $ date 2012-11-21, 2018-04-03, 2014-09-19, 2015-12-10, 2015-03-02… #> $ bacteria \"B_ESCHR_COLI\", \"B_KLBSL_PNMN\", \"B_ESCHR_COLI\", \"B_ESCHR_COL… #> $ AMX R, R, R, S, S, R, R, S, S, S, S, R, S, S, R, R, R, R, S, R,… #> $ AMC I, I, S, I, S, S, S, S, S, S, S, S, S, S, S, S, S, R, S, S,… #> $ CIP S, S, S, S, S, R, S, S, S, S, S, S, S, S, S, S, S, S, S, S,… #> $ GEN S, S, S, S, S, S, S, S, S, S, S, R, S, S, S, S, S, S, S, S,… #> $ first TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,… # number of unique values per column: sapply(our_data_1st, n_distinct) #> patient_id hospital date bacteria AMX AMC CIP #> 260 3 1854 4 3 3 3 #> GEN first #> 3 1"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"availability-of-species","dir":"Articles","previous_headings":"Analysing the data","what":"Availability of species","title":"Conduct AMR data analysis","text":"just get idea species distributed, create frequency table count() based name microorganisms:","code":"our_data %>% count(mo_name(bacteria), sort = TRUE) #> # A tibble: 4 × 2 #> `mo_name(bacteria)` n #> #> 1 Escherichia coli 1518 #> 2 Staphylococcus aureus 730 #> 3 Streptococcus pneumoniae 426 #> 4 Klebsiella pneumoniae 326 our_data_1st %>% count(mo_name(bacteria), sort = TRUE) #> # A tibble: 4 × 2 #> `mo_name(bacteria)` n #> #> 1 Escherichia coli 1321 #> 2 Staphylococcus aureus 682 #> 3 Streptococcus pneumoniae 402 #> 4 Klebsiella pneumoniae 319"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"select-and-filter-with-antibiotic-selectors","dir":"Articles","previous_headings":"Analysing the data","what":"Select and filter with antibiotic selectors","title":"Conduct AMR data analysis","text":"Using -called antibiotic class selectors, can select filter columns based antibiotic class antibiotic results :","code":"our_data_1st %>% select(date, aminoglycosides()) #> ℹ For aminoglycosides() using column 'GEN' (gentamicin) #> # A tibble: 2,724 × 2 #> date GEN #> #> 1 2012-11-21 S #> 2 2018-04-03 S #> 3 2014-09-19 S #> 4 2015-12-10 S #> 5 2015-03-02 S #> 6 2018-03-31 S #> 7 2015-10-25 S #> 8 2019-06-19 S #> 9 2015-04-27 S #> 10 2011-06-21 S #> # ℹ 2,714 more rows our_data_1st %>% select(bacteria, betalactams()) #> ℹ For betalactams() using columns 'AMX' (amoxicillin) and 'AMC' #> (amoxicillin/clavulanic acid) #> # A tibble: 2,724 × 3 #> bacteria AMX AMC #> #> 1 B_ESCHR_COLI R I #> 2 B_KLBSL_PNMN R I #> 3 B_ESCHR_COLI R S #> 4 B_ESCHR_COLI S I #> 5 B_ESCHR_COLI S S #> 6 B_STPHY_AURS R S #> 7 B_ESCHR_COLI R S #> 8 B_ESCHR_COLI S S #> 9 B_STPHY_AURS S S #> 10 B_ESCHR_COLI S S #> # ℹ 2,714 more rows our_data_1st %>% select(bacteria, where(is.sir)) #> # A tibble: 2,724 × 5 #> bacteria AMX AMC CIP GEN #> #> 1 B_ESCHR_COLI R I S S #> 2 B_KLBSL_PNMN R I S S #> 3 B_ESCHR_COLI R S S S #> 4 B_ESCHR_COLI S I S S #> 5 B_ESCHR_COLI S S S S #> 6 B_STPHY_AURS R S R S #> 7 B_ESCHR_COLI R S S S #> 8 B_ESCHR_COLI S S S S #> 9 B_STPHY_AURS S S S S #> 10 B_ESCHR_COLI S S S S #> # ℹ 2,714 more rows # filtering using AB selectors is also possible: our_data_1st %>% filter(any(aminoglycosides() == \"R\")) #> ℹ For aminoglycosides() using column 'GEN' (gentamicin) #> # A tibble: 981 × 9 #> patient_id hospital date bacteria AMX AMC CIP GEN first #> #> 1 J5 A 2017-12-25 B_STRPT_PNMN R S S R TRUE #> 2 X1 A 2017-07-04 B_STPHY_AURS R S S R TRUE #> 3 B3 A 2016-07-24 B_ESCHR_COLI S S S R TRUE #> 4 V7 A 2012-04-03 B_ESCHR_COLI S S S R TRUE #> 5 C9 A 2017-03-23 B_ESCHR_COLI S S S R TRUE #> 6 R1 A 2018-06-10 B_STPHY_AURS S S S R TRUE #> 7 S2 A 2013-07-19 B_STRPT_PNMN S S S R TRUE #> 8 P5 A 2019-03-09 B_STPHY_AURS S S S R TRUE #> 9 Q8 A 2019-08-10 B_STPHY_AURS S S S R TRUE #> 10 K5 A 2013-03-15 B_STRPT_PNMN S S S R TRUE #> # ℹ 971 more rows our_data_1st %>% filter(all(betalactams() == \"R\")) #> ℹ For betalactams() using columns 'AMX' (amoxicillin) and 'AMC' #> (amoxicillin/clavulanic acid) #> # A tibble: 462 × 9 #> patient_id hospital date bacteria AMX AMC CIP GEN first #> #> 1 M7 A 2013-07-22 B_STRPT_PNMN R R S S TRUE #> 2 R10 A 2013-12-20 B_STPHY_AURS R R S S TRUE #> 3 R7 A 2015-10-25 B_STPHY_AURS R R S S TRUE #> 4 R8 A 2019-10-25 B_STPHY_AURS R R S S TRUE #> 5 B6 A 2016-11-20 B_ESCHR_COLI R R R R TRUE #> 6 I7 A 2015-08-19 B_ESCHR_COLI R R S S TRUE #> 7 N3 A 2014-12-29 B_STRPT_PNMN R R R S TRUE #> 8 Q2 A 2019-09-22 B_ESCHR_COLI R R S S TRUE #> 9 X7 A 2011-03-20 B_ESCHR_COLI R R S R TRUE #> 10 V1 A 2018-08-07 B_STPHY_AURS R R S S TRUE #> # ℹ 452 more rows # even works in base R (since R 3.0): our_data_1st[all(betalactams() == \"R\"), ] #> ℹ For betalactams() using columns 'AMX' (amoxicillin) and 'AMC' #> (amoxicillin/clavulanic acid) #> # A tibble: 462 × 9 #> patient_id hospital date bacteria AMX AMC CIP GEN first #> #> 1 M7 A 2013-07-22 B_STRPT_PNMN R R S S TRUE #> 2 R10 A 2013-12-20 B_STPHY_AURS R R S S TRUE #> 3 R7 A 2015-10-25 B_STPHY_AURS R R S S TRUE #> 4 R8 A 2019-10-25 B_STPHY_AURS R R S S TRUE #> 5 B6 A 2016-11-20 B_ESCHR_COLI R R R R TRUE #> 6 I7 A 2015-08-19 B_ESCHR_COLI R R S S TRUE #> 7 N3 A 2014-12-29 B_STRPT_PNMN R R R S TRUE #> 8 Q2 A 2019-09-22 B_ESCHR_COLI R R S S TRUE #> 9 X7 A 2011-03-20 B_ESCHR_COLI R R S R TRUE #> 10 V1 A 2018-08-07 B_STPHY_AURS R R S S TRUE #> # ℹ 452 more rows"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"generate-antibiograms","dir":"Articles","previous_headings":"Analysing the data","what":"Generate antibiograms","title":"Conduct AMR data analysis","text":"Since AMR v2.0 (March 2023), easy create different types antibiograms, support 20 different languages. four antibiogram types, proposed Klinker et al. (2021, DOI 10.1177/20499361211011373), supported new antibiogram() function: Traditional Antibiogram (TA) e.g, susceptibility Pseudomonas aeruginosa piperacillin/tazobactam (TZP) Combination Antibiogram (CA) e.g, sdditional susceptibility Pseudomonas aeruginosa TZP + tobramycin versus TZP alone Syndromic Antibiogram (SA) e.g, susceptibility Pseudomonas aeruginosa TZP among respiratory specimens (obtained among ICU patients ) Weighted-Incidence Syndromic Combination Antibiogram (WISCA) e.g, susceptibility Pseudomonas aeruginosa TZP among respiratory specimens (obtained among ICU patients ) male patients age >=65 years heart failure section, show use antibiogram() function create antibiogram types. starters, included example_isolates data set looks like:","code":"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 #> # ℹ 1,990 more rows #> # ℹ 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 , …"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"traditional-antibiogram","dir":"Articles","previous_headings":"Analysing the data > Generate antibiograms","what":"Traditional Antibiogram","title":"Conduct AMR data analysis","text":"create traditional antibiogram, simply state antibiotics used. antibiotics argument antibiogram() function supports (combination) previously mentioned antibiotic class selectors: Notice antibiogram() function automatically prints right format using Quarto R Markdown (page), even applies italics taxonomic names (using italicise_taxonomy() internally). also uses language OS either English, Arabic, Bengali, Chinese, Czech, Danish, Dutch, Finnish, French, German, Greek, Hindi, Indonesian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swahili, Swedish, Turkish, Ukrainian, Urdu, Vietnamese. next example, force language Spanish using language argument:","code":"antibiogram(example_isolates, antibiotics = c(aminoglycosides(), carbapenems())) #> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin) #> ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem) antibiogram(example_isolates, mo_transform = \"gramstain\", antibiotics = aminoglycosides(), ab_transform = \"name\", language = \"es\") #> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin)"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"combined-antibiogram","dir":"Articles","previous_headings":"Analysing the data > Generate antibiograms","what":"Combined Antibiogram","title":"Conduct AMR data analysis","text":"create combined antibiogram, use antibiotic codes names plus + character like :","code":"combined_ab <- antibiogram(example_isolates, antibiotics = c(\"TZP\", \"TZP+TOB\", \"TZP+GEN\"), ab_transform = NULL) combined_ab"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"syndromic-antibiogram","dir":"Articles","previous_headings":"Analysing the data > Generate antibiograms","what":"Syndromic Antibiogram","title":"Conduct AMR data analysis","text":"create syndromic antibiogram, syndromic_group argument must used. can column data, e.g. ifelse() calculations based certain columns:","code":"antibiogram(example_isolates, antibiotics = c(aminoglycosides(), carbapenems()), syndromic_group = \"ward\") #> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin) #> ℹ For carbapenems() using columns 'IPM' (imipenem) and 'MEM' (meropenem)"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"weighted-incidence-syndromic-combination-antibiogram-wisca","dir":"Articles","previous_headings":"Analysing the data > Generate antibiograms","what":"Weighted-Incidence Syndromic Combination Antibiogram (WISCA)","title":"Conduct AMR data analysis","text":"create Weighted-Incidence Syndromic Combination Antibiogram (WISCA), simply set wisca = TRUE antibiogram() function, use dedicated wisca() function. Unlike traditional antibiograms, WISCA provides syndrome-based susceptibility estimates, weighted pathogen incidence antimicrobial susceptibility patterns. WISCA uses Bayesian decision model integrate data multiple pathogens, improving empirical therapy guidance, especially low-incidence infections. pathogen-agnostic, meaning results syndrome-based rather stratified microorganism. reliable results, ensure data includes first isolates (use first_isolate()) consider filtering top n species (use top_n_microorganisms()), WISCA outcomes meaningful based robust incidence estimates. patient- syndrome-specific WISCA, run function grouped tibble, .e., using group_by() first:","code":"example_isolates %>% wisca(antibiotics = c(\"TZP\", \"TZP+TOB\", \"TZP+GEN\"), minimum = 10) # Recommended threshold: ≥30 example_isolates %>% top_n_microorganisms(n = 10) %>% group_by(age_group = age_groups(age, c(25, 50, 75)), gender) %>% wisca(antibiotics = c(\"TZP\", \"TZP+TOB\", \"TZP+GEN\"))"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"plotting-antibiograms","dir":"Articles","previous_headings":"Analysing the data > Generate antibiograms","what":"Plotting antibiograms","title":"Conduct AMR data analysis","text":"Antibiograms can plotted using autoplot() ggplot2 packages, since AMR package provides extension function: calculate antimicrobial resistance sensible way, also correcting results, use resistance() susceptibility() functions.","code":"autoplot(combined_ab)"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"resistance-percentages","dir":"Articles","previous_headings":"Analysing the data","what":"Resistance percentages","title":"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:","code":"our_data_1st %>% resistance(AMX) #> [1] 0.4203377 our_data_1st %>% group_by(hospital) %>% summarise(amoxicillin = resistance(AMX)) #> # A tibble: 3 × 2 #> hospital amoxicillin #> #> 1 A 0.340 #> 2 B 0.551 #> 3 C 0.370"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"interpreting-mic-and-disk-diffusion-values","dir":"Articles","previous_headings":"Analysing the data","what":"Interpreting MIC and Disk Diffusion Values","title":"Conduct AMR data analysis","text":"Minimal inhibitory concentration (MIC) values disk diffusion diameters can interpreted clinical breakpoints (SIR) using .sir(). ’s example randomly generated MIC values Klebsiella pneumoniae ciprofloxacin: allows direct interpretation according EUCAST CLSI breakpoints, facilitating automated AMR data processing.","code":"set.seed(123) mic_values <- random_mic(100) sir_values <- as.sir(mic_values, mo = \"K. pneumoniae\", ab = \"cipro\", guideline = \"EUCAST 2024\") my_data <- tibble(MIC = mic_values, SIR = sir_values) my_data #> # A tibble: 100 × 2 #> MIC SIR #> #> 1 <=0.0001 S #> 2 0.0160 S #> 3 >=8.0000 R #> 4 0.0320 S #> 5 0.0080 S #> 6 64.0000 R #> 7 0.0080 S #> 8 0.1250 S #> 9 0.0320 S #> 10 0.0002 S #> # ℹ 90 more rows"},{"path":"https://amr-for-r.org/articles/AMR.html","id":"plotting-mic-and-sir-interpretations","dir":"Articles","previous_headings":"Analysing the data","what":"Plotting MIC and SIR Interpretations","title":"Conduct AMR data analysis","text":"can visualise MIC distributions SIR interpretations using ggplot2, using new scale_y_mic() y-axis scale_colour_sir() colour-code SIR categories. plot provides intuitive way assess susceptibility patterns across different groups incorporating clinical breakpoints. straightforward less manual approach, ggplot2’s function autoplot() extended package directly plot MIC disk diffusion values: Author: Dr. Matthijs Berends, 23rd Feb 2025","code":"# add a group my_data$group <- rep(c(\"A\", \"B\", \"C\", \"D\"), each = 25) ggplot(my_data, aes(x = group, y = MIC, colour = SIR)) + geom_jitter(width = 0.2, size = 2) + geom_boxplot(fill = NA, colour = \"grey40\") + scale_y_mic() + scale_colour_sir() + labs(title = \"MIC Distribution and SIR Interpretation\", x = \"Sample Groups\", y = \"MIC (mg/L)\") autoplot(mic_values) # by providing `mo` and `ab`, colours will indicate the SIR interpretation: autoplot(mic_values, mo = \"K. pneumoniae\", ab = \"cipro\", guideline = \"EUCAST 2024\")"},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"AMR for Python","text":"AMR package R powerful tool antimicrobial resistance (AMR) analysis. provides extensive features handling microbial antimicrobial data. However, work primarily Python, now intuitive option available: AMR Python package. Python package wrapper around AMR R package. uses rpy2 package internally. Despite need R installed, Python users can now easily work AMR data directly Python code.","code":""},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"prerequisites","dir":"Articles","previous_headings":"","what":"Prerequisites","title":"AMR for Python","text":"package tested virtual environment (venv). can set environment running: can activate environment, venv ready work .","code":"# linux and macOS: python -m venv /path/to/new/virtual/environment # Windows: python -m venv C:\\path\\to\\new\\virtual\\environment"},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"install-amr","dir":"Articles","previous_headings":"","what":"Install AMR","title":"AMR for Python","text":"Since Python package available official Python Package Index, can just run: Make sure R installed. need install AMR R package, installed automatically. Linux: macOS (using Homebrew): Windows, visit CRAN download page download install R.","code":"pip install AMR # Ubuntu / Debian sudo apt install r-base # Fedora: sudo dnf install R # CentOS/RHEL sudo yum install R brew install r"},{"path":[]},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"cleaning-taxonomy","dir":"Articles","previous_headings":"Examples of Usage","what":"Cleaning Taxonomy","title":"AMR for Python","text":"’s example demonstrates clean microorganism drug names using AMR Python package:","code":"import pandas as pd import AMR # Sample data data = { \"MOs\": ['E. coli', 'ESCCOL', 'esco', 'Esche coli'], \"Drug\": ['Cipro', 'CIP', 'J01MA02', 'Ciproxin'] } df = pd.DataFrame(data) # Use AMR functions to clean microorganism and drug names df['MO_clean'] = AMR.mo_name(df['MOs']) df['Drug_clean'] = AMR.ab_name(df['Drug']) # Display the results print(df)"},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"explanation","dir":"Articles","previous_headings":"Examples of Usage > Cleaning Taxonomy","what":"Explanation","title":"AMR for Python","text":"mo_name: function standardises microorganism names. , different variations Escherichia coli (“E. coli”, “ESCCOL”, “esco”, “Esche coli”) converted correct, standardised form, “Escherichia coli”. ab_name: Similarly, function standardises antimicrobial names. different representations ciprofloxacin (e.g., “Cipro”, “CIP”, “J01MA02”, “Ciproxin”) converted standard name, “Ciprofloxacin”.","code":""},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"calculating-amr","dir":"Articles","previous_headings":"Examples of Usage","what":"Calculating AMR","title":"AMR for Python","text":"","code":"import AMR import pandas as pd df = AMR.example_isolates result = AMR.resistance(df[\"AMX\"]) print(result) [0.59555556]"},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"generating-antibiograms","dir":"Articles","previous_headings":"Examples of Usage","what":"Generating Antibiograms","title":"AMR for Python","text":"One core functions AMR package generating antibiogram, table summarises antimicrobial susceptibility bacterial isolates. ’s can generate antibiogram Python: example, generate antibiogram selecting various antibiotics.","code":"result2a = AMR.antibiogram(df[[\"mo\", \"AMX\", \"CIP\", \"TZP\"]]) print(result2a) result2b = AMR.antibiogram(df[[\"mo\", \"AMX\", \"CIP\", \"TZP\"]], mo_transform = \"gramstain\") print(result2b)"},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"taxonomic-data-sets-now-in-python","dir":"Articles","previous_headings":"Examples of Usage","what":"Taxonomic Data Sets Now in Python!","title":"AMR for Python","text":"Python user, might like important data sets AMR R package, microorganisms, antimicrobials, clinical_breakpoints, example_isolates, now available regular Python data frames:","code":"AMR.microorganisms AMR.antimicrobials"},{"path":"https://amr-for-r.org/articles/AMR_for_Python.html","id":"conclusion","dir":"Articles","previous_headings":"","what":"Conclusion","title":"AMR for Python","text":"AMR Python package, Python users can now effortlessly call R functions AMR R package. eliminates need complex rpy2 configurations provides clean, easy--use interface antimicrobial resistance analysis. examples provided demonstrate can applied typical workflows, standardising microorganism antimicrobial names calculating resistance. just running import AMR, users can seamlessly integrate robust features R AMR package Python workflows. Whether ’re cleaning data analysing resistance patterns, AMR Python package makes easy work AMR data Python.","code":""},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"example-1-using-antimicrobial-selectors","dir":"Articles","previous_headings":"","what":"Example 1: Using Antimicrobial Selectors","title":"AMR with tidymodels","text":"leveraging power tidymodels AMR package, ’ll build reproducible machine learning workflow predict Gramstain microorganism two important antibiotic classes: aminoglycosides beta-lactams.","code":""},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"objective","dir":"Articles","previous_headings":"Example 1: Using Antimicrobial Selectors","what":"Objective","title":"AMR with tidymodels","text":"goal build predictive model using tidymodels framework determine Gramstain microorganism based microbial data. : Preprocess data using selector functions aminoglycosides() betalactams(). Define logistic regression model prediction. Use structured tidymodels workflow preprocess, train, evaluate model.","code":""},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"data-preparation","dir":"Articles","previous_headings":"Example 1: Using Antimicrobial Selectors","what":"Data Preparation","title":"AMR with tidymodels","text":"begin loading required libraries preparing example_isolates dataset AMR package. Prepare data: Explanation: aminoglycosides() betalactams() dynamically select columns antimicrobials classes. drop_na() ensures model receives complete cases training.","code":"# Load required libraries library(AMR) # For AMR data analysis library(tidymodels) # For machine learning workflows, and data manipulation (dplyr, tidyr, ...) # Your data could look like this: 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 #> # ℹ 1,990 more rows #> # ℹ 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 , … # Select relevant columns for prediction data <- example_isolates %>% # select AB results dynamically select(mo, aminoglycosides(), betalactams()) %>% # replace NAs with NI (not-interpretable) mutate(across(where(is.sir), ~replace_na(.x, \"NI\")), # make factors of SIR columns across(where(is.sir), as.integer), # get Gramstain of microorganisms mo = as.factor(mo_gramstain(mo))) %>% # drop NAs - the ones without a Gramstain (fungi, etc.) drop_na() #> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin) #> ℹ For betalactams() using columns 'PEN' (benzylpenicillin), 'OXA' #> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC' #> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), 'TZP' #> (piperacillin/tazobactam), 'CZO' (cefazolin), 'FEP' (cefepime), 'CXM' #> (cefuroxime), 'FOX' (cefoxitin), 'CTX' (cefotaxime), 'CAZ' (ceftazidime), #> 'CRO' (ceftriaxone), 'IPM' (imipenem), and 'MEM' (meropenem)"},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"defining-the-workflow","dir":"Articles","previous_headings":"Example 1: Using Antimicrobial Selectors","what":"Defining the Workflow","title":"AMR with tidymodels","text":"now define tidymodels workflow, consists three steps: preprocessing, model specification, fitting.","code":""},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"preprocessing-with-a-recipe","dir":"Articles","previous_headings":"Example 1: Using Antimicrobial Selectors > Defining the Workflow","what":"1. Preprocessing with a Recipe","title":"AMR with tidymodels","text":"create recipe preprocess data modelling. recipe includes least one preprocessing operation, like step_corr(), necessary parameters can estimated training set using prep(): Explanation: recipe(mo ~ ., data = data) take mo column outcome columns predictors. step_corr() removes predictors (.e., antibiotic columns) higher correlation 90%. Notice recipe contains just antimicrobial selector functions - need define columns specifically. preparation (retrieved prep()) can see columns variables ‘AMX’ ‘CTX’ removed correlate much existing, variables.","code":"# Define the recipe for data preprocessing resistance_recipe <- recipe(mo ~ ., data = data) %>% step_corr(c(aminoglycosides(), betalactams()), threshold = 0.9) resistance_recipe #> #> ── Recipe ────────────────────────────────────────────────────────────────────── #> #> ── Inputs #> Number of variables by role #> outcome: 1 #> predictor: 20 #> #> ── Operations #> • Correlation filter on: c(aminoglycosides(), betalactams()) prep(resistance_recipe) #> ℹ For aminoglycosides() using columns 'GEN' (gentamicin), 'TOB' #> (tobramycin), 'AMK' (amikacin), and 'KAN' (kanamycin) #> ℹ For betalactams() using columns 'PEN' (benzylpenicillin), 'OXA' #> (oxacillin), 'FLC' (flucloxacillin), 'AMX' (amoxicillin), 'AMC' #> (amoxicillin/clavulanic acid), 'AMP' (ampicillin), 'TZP' #> (piperacillin/tazobactam), 'CZO' (cefazolin), 'FEP' (cefepime), 'CXM' #> (cefuroxime), 'FOX' (cefoxitin), 'CTX' (cefotaxime), 'CAZ' (ceftazidime), #> 'CRO' (ceftriaxone), 'IPM' (imipenem), and 'MEM' (meropenem) #> #> ── Recipe ────────────────────────────────────────────────────────────────────── #> #> ── Inputs #> Number of variables by role #> outcome: 1 #> predictor: 20 #> #> ── Training information #> Training data contained 1968 data points and no incomplete rows. #> #> ── Operations #> • Correlation filter on: AMX CTX | Trained"},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"specifying-the-model","dir":"Articles","previous_headings":"Example 1: Using Antimicrobial Selectors > Defining the Workflow","what":"2. Specifying the Model","title":"AMR with tidymodels","text":"define logistic regression model since resistance prediction binary classification task. Explanation: logistic_reg() sets logistic regression model. set_engine(\"glm\") specifies use R’s built-GLM engine.","code":"# Specify a logistic regression model logistic_model <- logistic_reg() %>% set_engine(\"glm\") # Use the Generalised Linear Model engine logistic_model #> Logistic Regression Model Specification (classification) #> #> Computational engine: glm"},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"building-the-workflow","dir":"Articles","previous_headings":"Example 1: Using Antimicrobial Selectors > Defining the Workflow","what":"3. Building the Workflow","title":"AMR with tidymodels","text":"bundle recipe model together workflow, organises entire modelling process.","code":"# Combine the recipe and model into a workflow resistance_workflow <- workflow() %>% add_recipe(resistance_recipe) %>% # Add the preprocessing recipe add_model(logistic_model) # Add the logistic regression model resistance_workflow #> ══ Workflow ════════════════════════════════════════════════════════════════════ #> Preprocessor: Recipe #> Model: logistic_reg() #> #> ── Preprocessor ──────────────────────────────────────────────────────────────── #> 1 Recipe Step #> #> • step_corr() #> #> ── Model ─────────────────────────────────────────────────────────────────────── #> Logistic Regression Model Specification (classification) #> #> Computational engine: glm"},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"training-and-evaluating-the-model","dir":"Articles","previous_headings":"Example 1: Using Antimicrobial Selectors","what":"Training and Evaluating the Model","title":"AMR with tidymodels","text":"train model, split data training testing sets. , fit workflow training set evaluate performance. Explanation: initial_split() splits data training testing sets. fit() trains workflow training set. Notice fit(), antimicrobial selector functions internally called . training, functions called since stored recipe. Next, evaluate model testing data. Explanation: predict() generates predictions testing set. metrics() computes evaluation metrics like accuracy kappa. appears can predict Gram stain 99.5% accuracy based AMR results aminoglycosides beta-lactam antibiotics. ROC curve looks like :","code":"# Split data into training and testing sets set.seed(123) # For reproducibility data_split <- initial_split(data, prop = 0.8) # 80% training, 20% testing training_data <- training(data_split) # Training set testing_data <- testing(data_split) # Testing set # Fit the workflow to the training data fitted_workflow <- resistance_workflow %>% fit(training_data) # Train the model # Make predictions on the testing set predictions <- fitted_workflow %>% predict(testing_data) # Generate predictions probabilities <- fitted_workflow %>% predict(testing_data, type = \"prob\") # Generate probabilities predictions <- predictions %>% bind_cols(probabilities) %>% bind_cols(testing_data) # Combine with true labels predictions #> # A tibble: 394 × 24 #> .pred_class `.pred_Gram-negative` `.pred_Gram-positive` mo GEN TOB #> #> 1 Gram-positive 1.07e- 1 8.93 e- 1 Gram-p… 5 5 #> 2 Gram-positive 3.17e- 8 1.000e+ 0 Gram-p… 5 1 #> 3 Gram-negative 9.99e- 1 1.42 e- 3 Gram-n… 5 5 #> 4 Gram-positive 2.22e-16 1 e+ 0 Gram-p… 5 5 #> 5 Gram-negative 9.46e- 1 5.42 e- 2 Gram-n… 5 5 #> 6 Gram-positive 1.07e- 1 8.93 e- 1 Gram-p… 5 5 #> 7 Gram-positive 2.22e-16 1 e+ 0 Gram-p… 1 5 #> 8 Gram-positive 2.22e-16 1 e+ 0 Gram-p… 4 4 #> 9 Gram-negative 1 e+ 0 2.22 e-16 Gram-n… 1 1 #> 10 Gram-positive 6.05e-11 1.000e+ 0 Gram-p… 4 4 #> # ℹ 384 more rows #> # ℹ 18 more variables: AMK , KAN , PEN , OXA , FLC , #> # AMX , AMC , AMP , TZP , CZO , FEP , #> # CXM , FOX , CTX , CAZ , CRO , IPM , MEM # Evaluate model performance metrics <- predictions %>% metrics(truth = mo, estimate = .pred_class) # Calculate performance metrics metrics #> # A tibble: 2 × 3 #> .metric .estimator .estimate #> #> 1 accuracy binary 0.995 #> 2 kap binary 0.989 # To assess some other model properties, you can make our own `metrics()` function our_metrics <- metric_set(accuracy, kap, ppv, npv) # add Positive Predictive Value and Negative Predictive Value metrics2 <- predictions %>% our_metrics(truth = mo, estimate = .pred_class) # run again on our `our_metrics()` function metrics2 #> # A tibble: 4 × 3 #> .metric .estimator .estimate #> #> 1 accuracy binary 0.995 #> 2 kap binary 0.989 #> 3 ppv binary 0.987 #> 4 npv binary 1 predictions %>% roc_curve(mo, `.pred_Gram-negative`) %>% autoplot()"},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"conclusion","dir":"Articles","previous_headings":"Example 1: Using Antimicrobial Selectors","what":"Conclusion","title":"AMR with tidymodels","text":"post, demonstrated build machine learning pipeline tidymodels framework AMR package. combining selector functions like aminoglycosides() betalactams() tidymodels, efficiently prepared data, trained model, evaluated performance. workflow extensible antimicrobial classes resistance patterns, empowering users analyse AMR data systematically reproducibly.","code":""},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"example-2-predicting-esbl-presence-using-raw-mics","dir":"Articles","previous_headings":"","what":"Example 2: Predicting ESBL Presence Using Raw MICs","title":"AMR with tidymodels","text":"second example, demonstrate use columns directly tidymodels workflows using AMR-specific recipe steps. includes transformation log2 scale using step_mic_log2(), prepares MIC values use classification models. approach idea formed basis publication DOI: 10.3389/fmicb.2025.1582703 model presence extended-spectrum beta-lactamases (ESBL).","code":""},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"objective-1","dir":"Articles","previous_headings":"Example 2: Predicting ESBL Presence Using Raw MICs","what":"Objective","title":"AMR with tidymodels","text":"goal : Use raw MIC values predict whether bacterial isolate produces ESBL. Apply AMR-aware preprocessing tidymodels recipe. Train classification model evaluate predictive performance.","code":""},{"path":"https://amr-for-r.org/articles/AMR_with_tidymodels.html","id":"data-preparation-1","dir":"Articles","previous_headings":"Example 2: Predicting ESBL Presence Using Raw MICs","what":"Data Preparation","title":"AMR with tidymodels","text":"use esbl_isolates dataset comes AMR package. Explanation: esbl_isolates: Contains MIC test results ESBL status isolate. mutate(esbl = ...): Converts target column ordered factor classification.","code":"# Load required libraries library(AMR) library(tidymodels) # View the esbl_isolates data set esbl_isolates #> # A tibble: 500 × 19 #> esbl genus AMC AMP TZP CXM FOX CTX CAZ GEN TOB TMP SXT #>