From bd252a29847b75fe03b2b2131bb413201042e304 Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Mon, 12 Aug 2019 14:48:09 +0200 Subject: [PATCH] (v0.7.1.9036) preserve ab/mo classes in subsetting --- DESCRIPTION | 4 +- NAMESPACE | 11 +- NEWS.md | 19 ++- R/ab.R | 9 +- R/disk.R | 14 +++ R/filter_ab_class.R | 119 +++++++++++------- R/mic.R | 2 +- R/mo.R | 23 +++- R/rsi.R | 4 +- docs/LICENSE-text.html | 2 +- docs/articles/benchmarks.html | 74 +++++------ .../figure-html/unnamed-chunk-5-1.png | Bin 84171 -> 85974 bytes docs/articles/index.html | 2 +- docs/authors.html | 2 +- docs/index.html | 2 +- docs/news/index.html | 49 ++++---- docs/reference/as.rsi.html | 2 +- docs/reference/filter_ab_class.html | 34 ++--- docs/reference/index.html | 4 +- docs/reference/like.html | 2 +- docs/reference/translate.html | 2 +- man/filter_ab_class.Rd | 33 ++--- tests/testthat/test-mo.R | 5 +- 23 files changed, 237 insertions(+), 181 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5cf924b4..72421288 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR -Version: 0.7.1.9035 -Date: 2019-08-11 +Version: 0.7.1.9036 +Date: 2019-08-12 Title: Antimicrobial Resistance Analysis Authors@R: c( person(role = c("aut", "cre"), diff --git a/NAMESPACE b/NAMESPACE index 98bd9feb..7cafc1af 100755 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,5 +1,7 @@ # Generated by roxygen2: do not edit by hand +S3method("[",ab) +S3method("[",mo) S3method(as.data.frame,ab) S3method(as.data.frame,mo) S3method(as.double,mic) @@ -19,6 +21,7 @@ S3method(kurtosis,data.frame) S3method(kurtosis,default) S3method(kurtosis,matrix) S3method(pillar_shaft,ab) +S3method(pillar_shaft,disk) S3method(pillar_shaft,mic) S3method(pillar_shaft,mo) S3method(pillar_shaft,rsi) @@ -33,8 +36,6 @@ S3method(print,mo) S3method(print,mo_renamed) S3method(print,mo_uncertainties) S3method(print,rsi) -S3method(pull,ab) -S3method(pull,mo) S3method(skewness,data.frame) S3method(skewness,default) S3method(skewness,matrix) @@ -42,6 +43,7 @@ S3method(summary,mic) S3method(summary,mo) S3method(summary,rsi) S3method(type_sum,ab) +S3method(type_sum,disk) S3method(type_sum,mic) S3method(type_sum,mo) S3method(type_sum,rsi) @@ -86,6 +88,7 @@ export(filter_1st_cephalosporins) export(filter_2nd_cephalosporins) export(filter_3rd_cephalosporins) export(filter_4th_cephalosporins) +export(filter_5th_cephalosporins) export(filter_ab_class) export(filter_aminoglycosides) export(filter_carbapenems) @@ -167,6 +170,8 @@ export(semi_join_microorganisms) export(set_mo_source) export(skewness) export(theme_rsi) +exportMethods("[.ab") +exportMethods("[.mo") exportMethods(as.data.frame.ab) exportMethods(as.data.frame.mo) exportMethods(as.double.mic) @@ -192,8 +197,6 @@ exportMethods(print.mo) exportMethods(print.mo_renamed) exportMethods(print.mo_uncertainties) exportMethods(print.rsi) -exportMethods(pull.ab) -exportMethods(pull.mo) exportMethods(scale_type.ab) exportMethods(scale_type.mo) exportMethods(skewness) diff --git a/NEWS.md b/NEWS.md index 59a8373a..e73741c2 100755 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# AMR 0.7.1.9035 +# AMR 0.7.1.9036 ### Breaking * Function `freq()` has moved to a new package, [`clean`](https://github.com/msberends/clean) ([CRAN link](https://cran.r-project.org/package=clean)). Creating frequency tables is actually not the scope of this package (never was) and this function has matured a lot over the last two years. Therefore, a new package was created for data cleaning and checking and it perfectly fits the `freq()` function. The [`clean`](https://github.com/msberends/clean) package is available on CRAN and will be installed automatically when updating the `AMR` package, that now imports it. In a later stage, the `skewness()` and `kurtosis()` functions will be moved to the `clean` package too. @@ -46,16 +46,13 @@ * Printed info now distinguishes between added and changes values * Using Verbose mode (i.e. `eucast_rules(..., verbose = TRUE)`) returns more informative and readable output * Using factors as input now adds missing factors levels when the function changes antibiotic results -* Added tibble printing support for classes `rsi`, `mic`, `ab` and `mo`. When using tibbles containing antibiotic columns, values `S` will print in green, values `I` will print in yellow and values `R` will print in red: +* Added tibble printing support for classes `rsi`, `mic`, `disk`, `ab` `mo`. When using tibbles containing antibiotic columns, values `S` will print in green, values `I` will print in yellow and values `R` will print in red. Microbial IDs (class `mo`) will emphasise on the genus and species, not on the kingdom. ```r # (run this on your own console, as this page does not support colour printing) - tibble(mo = sample(AMR::microorganisms$fullname, 10), - drug1 = as.rsi(sample(c("S", "I", "R"), 10, replace = TRUE, - prob = c(0.6, 0.1, 0.3))), - drug2 = as.rsi(sample(c("S", "I", "R"), 10, replace = TRUE, - prob = c(0.6, 0.1, 0.3))), - drug3 = as.rsi(sample(c("S", "I", "R"), 10, replace = TRUE, - prob = c(0.6, 0.1, 0.3)))) + library(dplyr) + septic_patients %>% + select(mo:AMC) %>% + as_tibble() ``` * Removed class `atc` - using `as.atc()` is now deprecated in favour of `ab_atc()` and this will return a character, not the `atc` class anymore * Removed deprecated functions `abname()`, `ab_official()`, `atc_name()`, `atc_official()`, `atc_property()`, `atc_tradenames()`, `atc_trivial_nl()` @@ -69,8 +66,10 @@ * Fix for using `mo_*` functions where the coercion uncertainties and failures would not be available through `mo_uncertainties()` and `mo_failures()` anymore * Deprecated the `country` parameter of `mdro()` in favour of the already existing `guideline` parameter to support multiple guidelines within one country * The `name` of `RIF` is now Rifampicin instead of Rifampin -* The `antibiotics` data set is now sorted by name and all cephalosporines now have their generation between brackets +* The `antibiotics` data set is now sorted by name and all cephalosporins now have their generation between brackets * Speed improvement for `guess_ab_col()` which is now 30 times faster for antibiotic abbreviations +* Improved `filter_ab_class()` to be more reliable and to support 5th generation cephalosporins +* Classes `ab` and `mo` will now be preserved in any subsetting #### Other * Added Dr Bart Meijer, Dr Dennis Souverein and Annick Lenglet as contributors diff --git a/R/ab.R b/R/ab.R index 3fbc5929..19864eb3 100755 --- a/R/ab.R +++ b/R/ab.R @@ -279,12 +279,13 @@ as.data.frame.ab <- function (x, ...) { } } -#' @exportMethod pull.ab +#' @exportMethod [.ab #' @export -#' @importFrom dplyr pull #' @noRd -pull.ab <- function(.data, ...) { - pull(as.data.frame(.data), ...) +"[.ab" <- function (x, ...) { + # this function is needed to preserve the "ab" class for any subsetting, like df %>% filter(...) + y <- NextMethod() + structure(y, class = "ab") } #' @importFrom pillar type_sum diff --git a/R/disk.R b/R/disk.R index efe84d8a..7effc3a6 100644 --- a/R/disk.R +++ b/R/disk.R @@ -90,3 +90,17 @@ print.disk <- function(x, ...) { cat("Class 'disk'\n") print(as.integer(x), quote = FALSE) } + +#' @importFrom pillar type_sum +#' @export +type_sum.disk <- function(x) { + "disk" +} + +#' @importFrom pillar pillar_shaft +#' @export +pillar_shaft.disk <- function(x, ...) { + out <- trimws(format(x)) + out[is.na(x)] <- pillar::style_na(NA) + pillar::new_pillar_shaft_simple(out, align = "right", min_width = 3) +} diff --git a/R/filter_ab_class.R b/R/filter_ab_class.R index 50dc4438..1f5ea37d 100644 --- a/R/filter_ab_class.R +++ b/R/filter_ab_class.R @@ -22,12 +22,12 @@ #' Filter isolates on result in antibiotic class #' #' Filter isolates on results in specific antibiotic variables based on their class (ATC groups). This makes it easy to get a list of isolates that were tested for e.g. any aminoglycoside. -#' @param tbl a data set -#' @param ab_class an antimicrobial class, like \code{"carbapenems"}. More specifically, this should be a text that can be found in a 4th level ATC group (chemical subgroup) or a 5th level ATC group (chemical substance), please see \href{https://www.whocc.no/atc/structure_and_principles/}{this explanation on the WHOCC website}. +#' @param x a data set +#' @param ab_class an antimicrobial class, like \code{"carbapenems"}, as can be found in \code{AMR::antibiotics$group} #' @param result an antibiotic result: S, I or R (or a combination of more of them) #' @param scope the scope to check which variables to check, can be \code{"any"} (default) or \code{"all"} #' @param ... parameters passed on to \code{\link[dplyr]{filter_at}} -#' @details The \code{\link{antibiotics}} data set will be searched for \code{ab_class} in the columns \code{atc_group1} and \code{atc_group2} (case-insensitive). Next, \code{tbl} will be checked for column names with a value in any abbreviations, codes or official names found in the \code{antibiotics} data set. +#' @details The \code{group} column in \code{\link{antibiotics}} data set will be searched for \code{ab_class} (case-insensitive). If no results are found, the \code{atc_group1} and \code{atc_group2} columns will be searched. Next, \code{x} will be checked for column names with a value in any abbreviations, codes or official names found in the \code{antibiotics} data set. #' @rdname filter_ab_class #' @keywords filter fillter_class #' @importFrom dplyr filter_at %>% select vars any_vars all_vars @@ -62,7 +62,7 @@ #' septic_patients %>% #' filter_aminoglycosides("R", "all") %>% #' filter_fluoroquinolones("R", "all") -filter_ab_class <- function(tbl, +filter_ab_class <- function(x, ab_class, result = NULL, scope = "any", @@ -71,7 +71,7 @@ filter_ab_class <- function(tbl, if (is.null(result)) { result <- c("S", "I", "R") } - # make result = "IR" work too: + # make result = "SI" work too: result <- unlist(strsplit(result, "")) if (!all(result %in% c("S", "I", "R"))) { @@ -81,8 +81,8 @@ filter_ab_class <- function(tbl, stop("`scope` must be one of: any, all", call. = FALSE) } - vars_df <- colnames(tbl)[tolower(colnames(tbl)) %in% tolower(ab_class_vars(ab_class))] - atc_groups <- ab_class_atcgroups(ab_class) + vars_df <- colnames(x)[tolower(colnames(x)) %in% tolower(ab_class_vars(ab_class))] + ab_group <- find_ab_group(ab_class) if (length(vars_df) > 0) { if (length(result) == 1) { @@ -101,29 +101,29 @@ filter_ab_class <- function(tbl, } } if (length(vars_df) > 1) { - scope <- paste(scope, "of ") + scope <- paste(scope, "of columns ") } else { - scope <- "" + scope <- "column " } - message(blue(paste0("Filtering on ", atc_groups, ": ", scope, + message(blue(paste0("Filtering on ", ab_group, ": ", scope, paste(bold(paste0("`", vars_df, "`")), collapse = scope_txt), operator, toString(result)))) - tbl %>% + x %>% filter_at(vars(vars_df), scope_fn(. %in% result), ...) } else { - warning(paste0("no antibiotics of class ", atc_groups, " found, leaving data unchanged"), call. = FALSE) - tbl + warning(paste0("no antibiotics of class ", ab_group, " found, leaving data unchanged"), call. = FALSE) + x } } #' @rdname filter_ab_class #' @export -filter_aminoglycosides <- function(tbl, +filter_aminoglycosides <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, + filter_ab_class(x = x, ab_class = "aminoglycoside", result = result, scope = scope, @@ -132,11 +132,11 @@ filter_aminoglycosides <- function(tbl, #' @rdname filter_ab_class #' @export -filter_carbapenems <- function(tbl, +filter_carbapenems <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, + filter_ab_class(x = x, ab_class = "carbapenem", result = result, scope = scope, @@ -145,11 +145,11 @@ filter_carbapenems <- function(tbl, #' @rdname filter_ab_class #' @export -filter_cephalosporins <- function(tbl, +filter_cephalosporins <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, + filter_ab_class(x = x, ab_class = "cephalosporin", result = result, scope = scope, @@ -158,12 +158,12 @@ filter_cephalosporins <- function(tbl, #' @rdname filter_ab_class #' @export -filter_1st_cephalosporins <- function(tbl, +filter_1st_cephalosporins <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, - ab_class = "first-generation cephalosporin", + filter_ab_class(x = x, + ab_class = "cephalosporins (1st gen.)", result = result, scope = scope, ...) @@ -171,12 +171,12 @@ filter_1st_cephalosporins <- function(tbl, #' @rdname filter_ab_class #' @export -filter_2nd_cephalosporins <- function(tbl, +filter_2nd_cephalosporins <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, - ab_class = "second-generation cephalosporin", + filter_ab_class(x = x, + ab_class = "cephalosporins (2nd gen.)", result = result, scope = scope, ...) @@ -184,12 +184,12 @@ filter_2nd_cephalosporins <- function(tbl, #' @rdname filter_ab_class #' @export -filter_3rd_cephalosporins <- function(tbl, +filter_3rd_cephalosporins <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, - ab_class = "third-generation cephalosporin", + filter_ab_class(x = x, + ab_class = "cephalosporins (3rd gen.)", result = result, scope = scope, ...) @@ -197,12 +197,12 @@ filter_3rd_cephalosporins <- function(tbl, #' @rdname filter_ab_class #' @export -filter_4th_cephalosporins <- function(tbl, +filter_4th_cephalosporins <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, - ab_class = "fourth-generation cephalosporin", + filter_ab_class(x = x, + ab_class = "cephalosporins (4th gen.)", result = result, scope = scope, ...) @@ -210,11 +210,24 @@ filter_4th_cephalosporins <- function(tbl, #' @rdname filter_ab_class #' @export -filter_fluoroquinolones <- function(tbl, +filter_5th_cephalosporins <- function(x, + result = NULL, + scope = "any", + ...) { + filter_ab_class(x = x, + ab_class = "cephalosporins (5th gen.)", + result = result, + scope = scope, + ...) +} + +#' @rdname filter_ab_class +#' @export +filter_fluoroquinolones <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, + filter_ab_class(x = x, ab_class = "fluoroquinolone", result = result, scope = scope, @@ -223,11 +236,11 @@ filter_fluoroquinolones <- function(tbl, #' @rdname filter_ab_class #' @export -filter_glycopeptides <- function(tbl, +filter_glycopeptides <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, + filter_ab_class(x = x, ab_class = "glycopeptide", result = result, scope = scope, @@ -236,11 +249,11 @@ filter_glycopeptides <- function(tbl, #' @rdname filter_ab_class #' @export -filter_macrolides <- function(tbl, +filter_macrolides <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, + filter_ab_class(x = x, ab_class = "macrolide", result = result, scope = scope, @@ -249,11 +262,11 @@ filter_macrolides <- function(tbl, #' @rdname filter_ab_class #' @export -filter_tetracyclines <- function(tbl, +filter_tetracyclines <- function(x, result = NULL, scope = "any", ...) { - filter_ab_class(tbl = tbl, + filter_ab_class(x = x, ab_class = "tetracycline", result = result, scope = scope, @@ -262,8 +275,9 @@ filter_tetracyclines <- function(tbl, #' @importFrom dplyr %>% filter_at vars any_vars select ab_class_vars <- function(ab_class) { + ab_class <- gsub("[^a-z0-9]+", ".*", ab_class) ab_vars <- AMR::antibiotics %>% - filter_at(vars(c("atc_group1", "atc_group2")), any_vars(. %like% ab_class)) %>% + filter(group %like% ab_class) %>% select(ab:name, abbreviations, synonyms) %>% unlist() %>% as.matrix() %>% @@ -272,18 +286,29 @@ ab_class_vars <- function(ab_class) { strsplit("|", fixed = TRUE) %>% unlist() %>% unique() - ab_vars[!is.na(ab_vars)] + ab_vars <- ab_vars[!ab_vars %in% c(NA, "", "NA") & nchar(ab_vars) > 2] + if (length(ab_vars) == 0) { + # try again, searching atc_group1 and atc_group2 columns + ab_vars <- AMR::antibiotics %>% + filter_at(vars(c("atc_group1", "atc_group2")), any_vars(. %like% ab_class)) %>% + select(ab:name, abbreviations, synonyms) %>% + unlist() %>% + as.matrix() %>% + as.character() %>% + paste(collapse = "|") %>% + strsplit("|", fixed = TRUE) %>% + unlist() %>% + unique() + ab_vars <- ab_vars[!ab_vars %in% c(NA, "", "NA") & nchar(ab_vars) > 2] + } + ab_vars } #' @importFrom dplyr %>% filter pull -ab_class_atcgroups <- function(ab_class) { +find_ab_group <- function(ab_class) { ifelse(ab_class %in% c("aminoglycoside", "carbapenem", "cephalosporin", - "first-generation cephalosporin", - "second-generation cephalosporin", - "third-generation cephalosporin", - "fourth-generation cephalosporin", "fluoroquinolone", "glycopeptide", "macrolide", @@ -291,7 +316,7 @@ ab_class_atcgroups <- function(ab_class) { paste0(ab_class, "s"), AMR::antibiotics %>% filter(ab %in% ab_class_vars(ab_class)) %>% - pull("atc_group2") %>% + pull(group) %>% unique() %>% tolower() %>% paste(collapse = "/") diff --git a/R/mic.R b/R/mic.R index 291f7224..2b0d36d2 100755 --- a/R/mic.R +++ b/R/mic.R @@ -289,6 +289,6 @@ type_sum.mic <- function(x) { #' @export pillar_shaft.mic <- function(x, ...) { out <- trimws(format(x)) - out[is.na(x)] <- NA + out[is.na(x)] <- pillar::style_na(NA) pillar::new_pillar_shaft_simple(out, align = "right", min_width = 4) } diff --git a/R/mo.R b/R/mo.R index ed3307f0..657de9cc 100755 --- a/R/mo.R +++ b/R/mo.R @@ -1521,8 +1521,18 @@ type_sum.mo <- function(x) { #' @export pillar_shaft.mo <- function(x, ...) { out <- format(x) - out[is.na(x)] <- pillar::style_na("NA") - pillar::new_pillar_shaft_simple(out, align = "left", min_width = 11) + # grey out the kingdom (part before first "_") + first_parts <- unlist(lapply(gregexpr(pattern = '_', x[!is.na(x)], fixed = TRUE), min)) + first_parts[first_parts < 0] <- 0 + out[!is.na(x)] <- paste0(pillar::style_subtle(substr(x[!is.na(x)], 0, first_parts)), + substr(x[!is.na(x)], first_parts + 1, nchar(x))) + + out[is.na(x)] <- pillar::style_na(" NA") + out[x == "UNKNOWN"] <- pillar::style_na(" UNKNOWN") + + out <- gsub("_", pillar::style_subtle("_"), out) + + pillar::new_pillar_shaft_simple(out, align = "left", min_width = 12) } #' @exportMethod summary.mo @@ -1556,12 +1566,13 @@ as.data.frame.mo <- function(x, ...) { } } -#' @exportMethod pull.mo +#' @exportMethod [.mo #' @export -#' @importFrom dplyr pull #' @noRd -pull.mo <- function(.data, ...) { - pull(as.data.frame(.data), ...) +"[.mo" <- function (x, ...) { + # this function is needed to preserve the "mo" class for any subsetting, like df %>% filter(...) + y <- NextMethod() + to_class_mo(y) } #' @rdname as.mo diff --git a/R/rsi.R b/R/rsi.R index 0274ee29..d8938c45 100755 --- a/R/rsi.R +++ b/R/rsi.R @@ -486,9 +486,9 @@ type_sum.rsi <- function(x) { #' @export pillar_shaft.rsi <- function(x, ...) { out <- trimws(format(x)) - out[is.na(x)] <- pillar::style_subtle("NA") + out[is.na(x)] <- pillar::style_subtle(" NA") out[x == "S"] <- bgGreen(white(" S ")) out[x == "I"] <- bgYellow(black(" I ")) out[x == "R"] <- bgRed(white(" R ")) - pillar::new_pillar_shaft_simple(out, align = "left", min_width = 4) + pillar::new_pillar_shaft_simple(out, align = "left", min_width = 3) } diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 80b7586d..37a2ca89 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 diff --git a/docs/articles/benchmarks.html b/docs/articles/benchmarks.html index 7214e2c2..b1d4470e 100644 --- a/docs/articles/benchmarks.html +++ b/docs/articles/benchmarks.html @@ -40,7 +40,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 @@ -185,7 +185,7 @@

Benchmarks

Matthijs S. Berends

-

11 August 2019

+

12 August 2019

@@ -210,14 +210,14 @@ times = 10) print(S.aureus, unit = "ms", signif = 2) # Unit: milliseconds -# expr min lq mean median uq max neval -# as.mo("sau") 8.3 8.5 14.0 9.1 9.2 39.0 10 -# as.mo("stau") 31.0 32.0 38.0 32.0 47.0 53.0 10 -# as.mo("staaur") 8.2 8.4 20.0 8.7 40.0 55.0 10 -# as.mo("STAAUR") 8.2 8.4 10.0 8.9 9.4 24.0 10 -# as.mo("S. aureus") 23.0 24.0 33.0 24.0 24.0 99.0 10 -# as.mo("S. aureus") 23.0 23.0 29.0 24.0 40.0 42.0 10 -# as.mo("Staphylococcus aureus") 3.7 3.9 4.1 4.1 4.2 4.6 10 +# expr min lq mean median uq max neval +# as.mo("sau") 8.6 9.2 9.9 9.7 11.0 12 10 +# as.mo("stau") 32.0 33.0 33.0 33.0 34.0 35 10 +# as.mo("staaur") 8.7 9.0 13.0 9.6 11.0 26 10 +# as.mo("STAAUR") 8.6 9.1 13.0 9.5 9.7 28 10 +# as.mo("S. aureus") 24.0 24.0 28.0 25.0 26.0 41 10 +# as.mo("S. aureus") 24.0 24.0 37.0 24.0 39.0 120 10 +# as.mo("Staphylococcus aureus") 4.0 4.2 6.0 4.3 4.6 21 10

In the table above, all measurements are shown in milliseconds (thousands of seconds). A value of 5 milliseconds means it can determine 200 input values per second. It case of 100 milliseconds, this is only 10 input values per second. The second input is the only one that has to be looked up thoroughly. All the others are known codes (the first one is a WHONET code) or common laboratory codes, or common full organism names like the last one. Full organism names are always preferred.

To achieve this speed, the as.mo function also takes into account the prevalence of human pathogenic microorganisms. The downside is of course that less prevalent microorganisms will be determined less fast. See this example for the ID of Thermus islandicus (B_THERMS_ISL), a bug probably never found before in humans:

T.islandicus <- microbenchmark(as.mo("theisl"),
@@ -229,12 +229,12 @@
 print(T.islandicus, unit = "ms", signif = 2)
 # Unit: milliseconds
 #                         expr min  lq mean median  uq max neval
-#              as.mo("theisl") 270 270  280    290 290 300    10
-#              as.mo("THEISL") 280 290  290    290 300 300    10
-#       as.mo("T. islandicus") 130 130  150    150 160 160    10
-#      as.mo("T.  islandicus") 130 130  150    150 150 160    10
-#  as.mo("Thermus islandicus")  46  48   54     50  63  71    10
-

That takes 8.8 times as much time on average. A value of 100 milliseconds means it can only determine ~10 different input values per second. We can conclude that looking up arbitrary codes of less prevalent microorganisms is the worst way to go, in terms of calculation performance. Full names (like Thermus islandicus) are almost fast - these are the most probable input from most data sets.

+# as.mo("theisl") 270 280 290 290 310 320 10 +# as.mo("THEISL") 280 290 300 290 300 310 10 +# as.mo("T. islandicus") 140 140 150 140 160 170 10 +# as.mo("T. islandicus") 140 150 160 160 160 170 10 +# as.mo("Thermus islandicus") 48 49 60 60 68 77 10 +

That takes 9.5 times as much time on average. A value of 100 milliseconds means it can only determine ~10 different input values per second. We can conclude that looking up arbitrary codes of less prevalent microorganisms is the worst way to go, in terms of calculation performance. Full names (like Thermus islandicus) are almost fast - these are the most probable input from most data sets.

In the figure below, we compare Escherichia coli (which is very common) with Prevotella brevis (which is moderately common) and with Thermus islandicus (which is very uncommon):

par(mar = c(5, 16, 4, 2)) # set more space for left margin text (16)
 
@@ -280,8 +280,8 @@
 print(run_it, unit = "ms", signif = 3)
 # Unit: milliseconds
 #        expr min  lq mean median  uq max neval
-#  mo_name(x) 623 631  659    637 697 729    10
-

So transforming 500,000 values (!!) of 50 unique values only takes 0.64 seconds (637 ms). You only lose time on your unique input values.

+# mo_name(x) 596 622 635 626 635 704 10 +

So transforming 500,000 values (!!) of 50 unique values only takes 0.63 seconds (626 ms). You only lose time on your unique input values.

@@ -294,10 +294,10 @@ print(run_it, unit = "ms", signif = 3) # Unit: milliseconds # expr min lq mean median uq max neval -# A 6.290 6.730 7.170 7.010 7.760 8.09 10 -# B 22.600 22.700 26.200 23.000 25.400 44.30 10 -# C 0.798 0.806 0.874 0.844 0.891 1.05 10

-

So going from mo_name("Staphylococcus aureus") to "Staphylococcus aureus" takes 0.0008 seconds - it doesn’t even start calculating if the result would be the same as the expected resulting value. That goes for all helper functions:

+# A 6.700 6.950 7.410 7.600 7.730 8.06 10 +# B 22.900 23.900 27.000 24.100 24.200 46.00 10 +# C 0.772 0.833 0.876 0.874 0.918 1.03 10 +

So going from mo_name("Staphylococcus aureus") to "Staphylococcus aureus" takes 0.0009 seconds - it doesn’t even start calculating if the result would be the same as the expected resulting value. That goes for all helper functions:

run_it <- microbenchmark(A = mo_species("aureus"),
                          B = mo_genus("Staphylococcus"),
                          C = mo_name("Staphylococcus aureus"),
@@ -310,14 +310,14 @@
 print(run_it, unit = "ms", signif = 3)
 # Unit: milliseconds
 #  expr   min    lq  mean median    uq   max neval
-#     A 0.455 0.458 0.471  0.465 0.482 0.504    10
-#     B 0.480 0.482 0.497  0.491 0.497 0.554    10
-#     C 0.662 0.687 0.754  0.750 0.788 0.964    10
-#     D 0.484 0.484 0.496  0.488 0.501 0.544    10
-#     E 0.442 0.450 0.459  0.456 0.462 0.492    10
-#     F 0.440 0.447 0.456  0.452 0.463 0.486    10
-#     G 0.450 0.452 0.462  0.459 0.463 0.485    10
-#     H 0.455 0.461 0.467  0.467 0.471 0.492    10
+# A 0.472 0.475 0.553 0.562 0.607 0.675 10 +# B 0.474 0.482 0.560 0.493 0.577 0.973 10 +# C 0.766 0.820 0.899 0.881 0.941 1.070 10 +# D 0.459 0.485 0.539 0.503 0.569 0.744 10 +# E 0.421 0.448 0.470 0.456 0.488 0.543 10 +# F 0.430 0.457 0.534 0.495 0.592 0.738 10 +# G 0.420 0.450 0.477 0.463 0.491 0.586 10 +# H 0.426 0.437 0.500 0.447 0.461 0.776 10

Of course, when running mo_phylum("Firmicutes") the function has zero knowledge about the actual microorganism, namely S. aureus. But since the result would be "Firmicutes" too, there is no point in calculating the result. And because this package ‘knows’ all phyla of all known bacteria (according to the Catalogue of Life), it can just return the initial value immediately.

@@ -344,13 +344,13 @@ print(run_it, unit = "ms", signif = 4) # Unit: milliseconds # expr min lq mean median uq max neval -# en 17.66 17.86 18.50 18.49 19.14 19.36 10 -# de 19.03 19.38 19.64 19.49 20.01 20.42 10 -# nl 24.40 25.23 30.77 25.78 41.94 44.93 10 -# es 19.18 19.22 23.30 19.53 21.34 39.20 10 -# it 19.02 19.24 23.53 19.57 20.35 50.89 10 -# fr 19.28 19.33 19.87 19.57 20.19 21.25 10 -# pt 18.89 19.14 19.77 19.67 20.21 20.99 10
+# en 18.77 19.83 25.36 20.44 28.51 45.88 10 +# de 20.37 20.86 23.19 21.45 22.23 39.08 10 +# nl 26.50 27.09 27.74 27.58 28.10 29.74 10 +# es 20.82 21.18 21.66 21.27 22.04 23.64 10 +# it 19.82 20.65 25.98 21.22 22.13 50.42 10 +# fr 20.07 21.20 21.68 21.47 21.89 23.76 10 +# pt 19.87 20.63 22.76 21.07 21.68 38.11 10

Currently supported are German, Dutch, Spanish, Italian, French and Portuguese.

diff --git a/docs/articles/benchmarks_files/figure-html/unnamed-chunk-5-1.png b/docs/articles/benchmarks_files/figure-html/unnamed-chunk-5-1.png index 938b62bf4a5bb803366c527c9d8b0ec60bfb7090..e58bb316a4afd89a308f275fc8efc936ecebe7dd 100644 GIT binary patch literal 85974 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 Nw1m8P>Ls0r{|CCjWTyZC literal 84171 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

jg-+>@Ud(F zw^Jd9Z-zMNT7`iW#vdAa^TkM$4#q#67--cC!;`^$qC(Jp07z}efyiPgAV?P!=y{O= zm&pOAkwb?QVOqi(a~e&F+ORd!Rpz)VjWoApD@evUjYUBAWTxFLH3Vd#LyiPqE1Vr~ zsac(X;s68uAS+UujT$$@2T=RKtv3$!Pax~83s7EbOFfwOru1`A1dvRzBjBehA?rkr zVMc)4rpiEe~=?L!6ZIAcft`7nfDN`?5T@V=!%G+4hMAT)Dso2s{KNfad z?mLdWobK%3?dA37>#n=SmreXc1|xzufwUTUZ}qeqn5FN_Zo79Q6KZeo zg*B-)J197x?P!%3bzoZsjbf!FM4uRPKaXAxORxNn5&Uh zx5;a-KNprfD0gEBw=YQd`zu%oFd}+{@%WJC%rOIzNO~kjoy%MJi$~IWPB_IJ*0sN&hVr`bw z$kWYoQ}T|1+_rMCiV_30_&d12CS)bMl9~Z5*IIR-PxJ%aL%(Suvy#km2o#kHtQI%S zKei$dxk)yO0t}rj6f~BxQ?T?korAA_HESlam?d3@(U!E4XDuc~)iK`Z$}0>Kca-F5l|iTF18R0uLX%(LhGhZ^ zaU^#R;0Pk7{upUD2!1KyqTkHT1)8c@TFj?l@RT;d6xwS+5EdBYV5nMazOWb*s9j#x z3$wGlu!)q-x~2-*EB&}utK89}MudG^N}CpID;=r^n$3wIj92_fU$2yKl;ySoaQ zP!mrQ$7_QxaGT7j)RVN<5{8C2~?i8_XlLy_{t=K70$sNe90sdSaw4B-6_HonN$pFEkY*Ta* z-Vzjm(z-S|Mawg4eYR+*yumuKvtz{rlV~=N6U#bwbtU#2O9WN2ljsOrTaR;V3N0CR zMf!VBvP>1EriYs7KAQ>=}>k} z|GHuY5X~#CY*NeHh{km2`=UtZ_!AMMt|o(FJ-Cy6>|!Rr=<&xDb4d%PR(R%SkUkQE zscLfA;98HXm0($9HiYw=`L_)Z~hMdELfpt6_VejAPkg;Awh!&3$?t52I8yXv}-*NxvyyKGUMiimvaxQZ@Q zNwfBt3nV+DIVLCmB?}xInFe~(@Az4OF((Gkq;%igj@mQF)M3DRV1E*S8_A7lpHy=Z zt;?g$>8lcycbgfxSC#QmhS~HN5-B2q&W|={&C$A3&kXw1+kC$AU|$Q|hG@v!{d0ZFtx{5>xcc^lc+TzPuCmy>zeNC4+_QA#Bl@{2< zuEu7hf}WD{wN$p^Iqq#&j|M=y=AgNc!TD=#g&rP-GX5Dh0v(yV_}-Jj{e#tU@wxDo zme`JO>U#)GTNsEQVh!mQEZcIv#Ks9A7J^QoBQzxY^Y-y3Cij>438CpodcyHe(ZRs% zQIXD!X_?Z}Q=h6Sca5%K?l%QsQZ#K^sGbuoB!X`{(^m2XIOzC{XJuLW_?O;A4GH&h z$iaBXX$*g7Iq+&^7d0u;fJ94{dj~9Nf5sLb)r8)h@lVz=4->uDMyVbItUUk|IeR<$ zFLYLFy0zv;VI3z)4`p`T=Wc!V1*ukWC3|69$Qy9f<)Rm}>#~ly+&^$MzLA;4TtG4^ z-Z-VKsrKc32jXbnSsjLr03H7T<&KVav4H9d(e;m@=3X6>c?-^%2TuFPoQd;%uVBZl}ZH(Aw;;&(XZa4#SK=->u60hN+=Hi6e z<_~$5$gl~}B&rKq#)gz-?XzO+P6ZT37F%JHUriw#H^qtV2JYQRfr^VGOMhbHuJiL@ z&}ly3td9G`Rr+{UlvTn9i_tLCc4hYU3#RM^hj2GW-e04#^;O2ManNMmhUFlsCtFRP zE6zGg9`7}y3mO~-%&SONW(bDfB2JMgJ3oL?M~BuB#BglFiI)qGkm1<|v5H;M-Y$!K z&q7D3EnAcUwLeFZJjTXHH9jq8_9PzLCPA)mm&0`v7S#<{7Nf?G?eCoL0E((2(EZ!n z3zVb|vaaX7<$$f@t0?@Hrhm`z-7{$*TWj+;GXY=~+9}CGR@$#~afTTfxo#j>D9~?j zJVPDuuJ85TN$YWF<6%n=;gGJ`aWew6ci&@<##Gh%+6{WW2D{0}WF8e|sZ}qx__ueQ z;Uw1XG@##c)rTPfTE(e7*N#u>%6q|?9t_RDx+bJy#JwppU_Pc@&8++CU0pEVff%&n zMr9)>wC5j*`WScQt30SW2$H4nr`5jrq^ros8EJh4W%q%|S;AEjT!-xrNWL@iz>8CE zj}Iw^G%XwtU0&U>9R{ax(GVdfpw>7>kRYiKJAnb0-?R+5vm#V_a^^UXVd5-j0P;^5 zS~fv?-GCqxaJm+G@yayFk=^e<%6`VqxqujWKseaeS9u(YlYOG&x&g{kUP{&?hPl9Pjq|a?GDsjJ{2Cf&t_93X|jJV8YmY2~B4I zlGCMH1P_A;xy5uA6JdS*r0?ls2DC@ZWz7E;L|xBF&YkK(B6|*HUj<9q_NpD*$DvI> zE(x|4MPmpp#XD?ry)piB3O;m#o$$KP>^;mr3g3a4p7)@-rd|`29io#T>b2QGwTmx6 zA%2(6$scYONPSL);JRAa44dHVqEvg_D;pn2fXWnQFBSr$^RE^28HdOPU!m$PO;GB9 zWyU#fw=DWgNQ4kGJ5qO@kjbb4=}L548+WKu#H@S?K)npPtDah#b-%TfX4{Nn9~VSK zN#%>!@ZYOO$!*)&PSz43j-=2cr*q~LHy+mUHbeH)RCNP<)A%5C;lS&HiE>bqcH8R4 zx%TwYWQjQ_RLqB7-?hw{N{D-HdZ)`yQ)rNqWl!PL%DT?>v4&@-$4Mm*Ezhm0;!4|tb9dobUso3*;=*jxSH(I@X^H#f!& zm*Q(y@ie_1#db2Ty#0#x*Izwjf|_e=PswoE-MbOfpL49Xx{<^76gZHg@*HO{_P1|e zl6WW7B7TUtyu2LWAvVQ+=g_cJNdHRDCr_L5q>v5vZf*pcX8aSHwb2t7gY2G+x1`$B zbI9=e&rCEY>*#T`Vv^)fPk;FE;l!0(!h^1^Ei$kUnT1Bw>alBvU6b{&-Kai$VGB-LGvqd|YW zw}FZpy%4~-m-=%AiGK$8$asP4YJ1GMr~#g&XL(Ods{RXkda$DRid$2ErJU>Bn7Td4 ziSK!GRIa+^^XIc$FL`6r_V3?cAvIDF#P60<3cT7oqr6|++qvE6>gq0U9ohSNXvo9Z z*f@G2u0ou>Ow6*ANxDV$+qSJTvDR2#O^dbpcItan{~tXTp?Me zc53+ALKusp#WHpYhL=>-1jbsbRkOoWe}7o`)b4^?{%oyu9_|dbx_R?v;}?nT5kY~0 zgeNq0qeoT6Y$amdq%g+Dc`d01 zL2}Y_qq4I34~TQ$zNOjPQ5Ki1DUydze{^78n{H=69A4*&Hsn3=gcBCz=m~!SLC>?yME)mpnl);XW}vZ6hWk zGDoO+Rx`|E)9~5L%WHb6aq1#lTwL6sJ=aX4keH-i=YHuD^{~e&n{RmeS6}!TZ;cbzD2Vo^N)k~EMw~D*PqpIYZ5)Ca%$?4@}9uMzyF8d z|Ct;Qd{cwlBI2JvwSEopya(^4{BOMJl@F{`8#d4gDxE!b^*^uVf9(SPebe8zHhTL1 k-!H0vpXvYgXZnr9SAjl>zo|cc1N>5wS3R3@+R)>F03|P_NB{r; diff --git a/docs/articles/index.html b/docs/articles/index.html index b8b53703..4b572158 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 diff --git a/docs/authors.html b/docs/authors.html index c4e81532..38ef6d49 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 diff --git a/docs/index.html b/docs/index.html index a5a1bb68..67083bd3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -42,7 +42,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 diff --git a/docs/news/index.html b/docs/news/index.html index 9575cea0..b1435014 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 @@ -225,9 +225,9 @@ -

+

-AMR 0.7.1.9035 Unreleased +AMR 0.7.1.9036 Unreleased

@@ -289,15 +289,12 @@
  • -

    Added tibble printing support for classes rsi, mic, ab and mo. When using tibbles containing antibiotic columns, values S will print in green, values I will print in yellow and values R will print in red:

    +

    Added tibble printing support for classes rsi, mic, disk, ab mo. When using tibbles containing antibiotic columns, values S will print in green, values I will print in yellow and values R will print in red. Microbial IDs (class mo) will emphasise on the genus and species, not on the kingdom.

    # (run this on your own console, as this page does not support colour printing)
    -tibble(mo = sample(AMR::microorganisms$fullname, 10),
    -       drug1 = as.rsi(sample(c("S", "I", "R"), 10, replace = TRUE, 
    -                             prob = c(0.6, 0.1, 0.3))),
    -       drug2 = as.rsi(sample(c("S", "I", "R"), 10, replace = TRUE,
    -                             prob = c(0.6, 0.1, 0.3))),
    -       drug3 = as.rsi(sample(c("S", "I", "R"), 10, replace = TRUE,
    -                             prob = c(0.6, 0.1, 0.3))))
    +library(dplyr) +septic_patients %>% + select(mo:AMC) %>% + as_tibble()
  • Removed class atc - using as.atc() is now deprecated in favour of ab_atc() and this will return a character, not the atc class anymore
  • Removed deprecated functions abname(), ab_official(), atc_name(), atc_official(), atc_property(), atc_tradenames(), atc_trivial_nl() @@ -316,8 +313,10 @@
  • Fix for using mo_* functions where the coercion uncertainties and failures would not be available through mo_uncertainties() and mo_failures() anymore
  • Deprecated the country parameter of mdro() in favour of the already existing guideline parameter to support multiple guidelines within one country
  • The name of RIF is now Rifampicin instead of Rifampin
  • -
  • The antibiotics data set is now sorted by name and all cephalosporines now have their generation between brackets
  • -
  • Speed improvement for guess_ab_col() which is now 30 times faster for antibiotic abbreviations

  • +
  • The antibiotics data set is now sorted by name and all cephalosporins now have their generation between brackets
  • +
  • Speed improvement for guess_ab_col() which is now 30 times faster for antibiotic abbreviations
  • +
  • Improved filter_ab_class() to be more reliable and to support 5th generation cephalosporins
  • +
  • Classes ab and mo will now be preserved in any subsetting

  • @@ -339,7 +338,7 @@
  • Function rsi_df() to transform a data.frame to a data set containing only the microbial interpretation (S, I, R), the antibiotic, the percentage of S/I/R and the number of available isolates. This is a convenient combination of the existing functions count_df() and portion_df() to immediately show resistance percentages and number of available isolates:

  • @@ -607,9 +606,9 @@ These functions use as.atc()filter_first_isolate(septic_patients, ...)

    is equal to:

    septic_patients %>%
    -  mutate(only_firsts = first_isolate(septic_patients, ...)) %>%
    -  filter(only_firsts == TRUE) %>%
    -  select(-only_firsts)
    + mutate(only_firsts = first_isolate(septic_patients, ...)) %>% + filter(only_firsts == TRUE) %>% + select(-only_firsts)
  • New function availability() to check the number of available (non-empty) results in a data.frame
  • @@ -713,7 +712,7 @@ Using as.mo(..., allow_uncertain = 3)
    # Determine genus of microorganisms (mo) in `septic_patients` data set:
     # OLD WAY
     septic_patients %>%
    -  mutate(genus = mo_genus(mo)) %>%
    +  mutate(genus = mo_genus(mo)) %>%
       freq(genus)
     # NEW WAY
     septic_patients %>% 
    @@ -721,7 +720,7 @@ Using as.mo(..., allow_uncertain = 3)
     # Even supports grouping variables:
     septic_patients %>%
    -  group_by(gender) %>% 
    +  group_by(gender) %>% 
       freq(mo_genus(mo))
  • Header info is now available as a list, with the header function
  • @@ -734,7 +733,7 @@ Using as.mo(..., allow_uncertain = 3)
  • New parameter droplevels to exclude empty factor levels when input is a factor
  • Factor levels will be in header when present in input data (maximum of 5)
  • -
  • Fix for using select() on frequency tables
  • +
  • Fix for using select() on frequency tables
  • Function scale_y_percent() now contains the limits parameter
  • @@ -814,14 +813,14 @@ Using as.mo(..., allow_uncertain = 3)

    Support for grouping variables, test with:

  • Support for (un)selecting columns:

    + select(-count, -cum_count) # only get item, percent, cum_percent
  • Check for hms::is.hms
  • @@ -978,7 +977,7 @@ Using as.mo(..., allow_uncertain = 3)
  • Support for quasiquotation in the functions series count_* and portions_*, and n_rsi. This allows to check for more than 2 vectors or columns.

    -
    septic_patients %>% select(amox, cipr) %>% count_IR()
    +
    septic_patients %>% select(amox, cipr) %>% count_IR()
     # which is the same as:
     septic_patients %>% count_IR(amox, cipr)
     
    @@ -1237,7 +1236,7 @@ Using as.mo(..., allow_uncertain = 3)
           

    Contents

    diff --git a/docs/reference/filter_ab_class.html b/docs/reference/filter_ab_class.html index 3a558c84..bc5e04dc 100644 --- a/docs/reference/filter_ab_class.html +++ b/docs/reference/filter_ab_class.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9029 + 0.7.1.9036
    @@ -234,40 +234,42 @@ -
    filter_ab_class(tbl, ab_class, result = NULL, scope = "any", ...)
    +    
    filter_ab_class(x, ab_class, result = NULL, scope = "any", ...)
     
    -filter_aminoglycosides(tbl, result = NULL, scope = "any", ...)
    +filter_aminoglycosides(x, result = NULL, scope = "any", ...)
     
    -filter_carbapenems(tbl, result = NULL, scope = "any", ...)
    +filter_carbapenems(x, result = NULL, scope = "any", ...)
     
    -filter_cephalosporins(tbl, result = NULL, scope = "any", ...)
    +filter_cephalosporins(x, result = NULL, scope = "any", ...)
     
    -filter_1st_cephalosporins(tbl, result = NULL, scope = "any", ...)
    +filter_1st_cephalosporins(x, result = NULL, scope = "any", ...)
     
    -filter_2nd_cephalosporins(tbl, result = NULL, scope = "any", ...)
    +filter_2nd_cephalosporins(x, result = NULL, scope = "any", ...)
     
    -filter_3rd_cephalosporins(tbl, result = NULL, scope = "any", ...)
    +filter_3rd_cephalosporins(x, result = NULL, scope = "any", ...)
     
    -filter_4th_cephalosporins(tbl, result = NULL, scope = "any", ...)
    +filter_4th_cephalosporins(x, result = NULL, scope = "any", ...)
     
    -filter_fluoroquinolones(tbl, result = NULL, scope = "any", ...)
    +filter_5th_cephalosporins(x, result = NULL, scope = "any", ...)
     
    -filter_glycopeptides(tbl, result = NULL, scope = "any", ...)
    +filter_fluoroquinolones(x, result = NULL, scope = "any", ...)
     
    -filter_macrolides(tbl, result = NULL, scope = "any", ...)
    +filter_glycopeptides(x, result = NULL, scope = "any", ...)
     
    -filter_tetracyclines(tbl, result = NULL, scope = "any", ...)
    +filter_macrolides(x, result = NULL, scope = "any", ...) + +filter_tetracyclines(x, result = NULL, scope = "any", ...)

    Arguments

    - + - + @@ -285,7 +287,7 @@

    Details

    -

    The antibiotics data set will be searched for ab_class in the columns atc_group1 and atc_group2 (case-insensitive). Next, tbl will be checked for column names with a value in any abbreviations, codes or official names found in the antibiotics data set.

    +

    The group column in antibiotics data set will be searched for ab_class (case-insensitive). If no results are found, the atc_group1 and atc_group2 columns will be searched. Next, x will be checked for column names with a value in any abbreviations, codes or official names found in the antibiotics data set.

    Examples

    diff --git a/docs/reference/index.html b/docs/reference/index.html index de5910f1..18ece678 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -78,7 +78,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 @@ -428,7 +428,7 @@ diff --git a/docs/reference/like.html b/docs/reference/like.html index b5d0978f..74fb7a39 100644 --- a/docs/reference/like.html +++ b/docs/reference/like.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 diff --git a/docs/reference/translate.html b/docs/reference/translate.html index 083b5d6f..e97f7a94 100644 --- a/docs/reference/translate.html +++ b/docs/reference/translate.html @@ -80,7 +80,7 @@ AMR (for R) - 0.7.1.9035 + 0.7.1.9036 diff --git a/man/filter_ab_class.Rd b/man/filter_ab_class.Rd index 31859f4b..55101198 100644 --- a/man/filter_ab_class.Rd +++ b/man/filter_ab_class.Rd @@ -9,40 +9,43 @@ \alias{filter_2nd_cephalosporins} \alias{filter_3rd_cephalosporins} \alias{filter_4th_cephalosporins} +\alias{filter_5th_cephalosporins} \alias{filter_fluoroquinolones} \alias{filter_glycopeptides} \alias{filter_macrolides} \alias{filter_tetracyclines} \title{Filter isolates on result in antibiotic class} \usage{ -filter_ab_class(tbl, ab_class, result = NULL, scope = "any", ...) +filter_ab_class(x, ab_class, result = NULL, scope = "any", ...) -filter_aminoglycosides(tbl, result = NULL, scope = "any", ...) +filter_aminoglycosides(x, result = NULL, scope = "any", ...) -filter_carbapenems(tbl, result = NULL, scope = "any", ...) +filter_carbapenems(x, result = NULL, scope = "any", ...) -filter_cephalosporins(tbl, result = NULL, scope = "any", ...) +filter_cephalosporins(x, result = NULL, scope = "any", ...) -filter_1st_cephalosporins(tbl, result = NULL, scope = "any", ...) +filter_1st_cephalosporins(x, result = NULL, scope = "any", ...) -filter_2nd_cephalosporins(tbl, result = NULL, scope = "any", ...) +filter_2nd_cephalosporins(x, result = NULL, scope = "any", ...) -filter_3rd_cephalosporins(tbl, result = NULL, scope = "any", ...) +filter_3rd_cephalosporins(x, result = NULL, scope = "any", ...) -filter_4th_cephalosporins(tbl, result = NULL, scope = "any", ...) +filter_4th_cephalosporins(x, result = NULL, scope = "any", ...) -filter_fluoroquinolones(tbl, result = NULL, scope = "any", ...) +filter_5th_cephalosporins(x, result = NULL, scope = "any", ...) -filter_glycopeptides(tbl, result = NULL, scope = "any", ...) +filter_fluoroquinolones(x, result = NULL, scope = "any", ...) -filter_macrolides(tbl, result = NULL, scope = "any", ...) +filter_glycopeptides(x, result = NULL, scope = "any", ...) -filter_tetracyclines(tbl, result = NULL, scope = "any", ...) +filter_macrolides(x, result = NULL, scope = "any", ...) + +filter_tetracyclines(x, result = NULL, scope = "any", ...) } \arguments{ -\item{tbl}{a data set} +\item{x}{a data set} -\item{ab_class}{an antimicrobial class, like \code{"carbapenems"}. More specifically, this should be a text that can be found in a 4th level ATC group (chemical subgroup) or a 5th level ATC group (chemical substance), please see \href{https://www.whocc.no/atc/structure_and_principles/}{this explanation on the WHOCC website}.} +\item{ab_class}{an antimicrobial class, like \code{"carbapenems"}, as can be found in \code{AMR::antibiotics$group}} \item{result}{an antibiotic result: S, I or R (or a combination of more of them)} @@ -54,7 +57,7 @@ filter_tetracyclines(tbl, result = NULL, scope = "any", ...) Filter isolates on results in specific antibiotic variables based on their class (ATC groups). This makes it easy to get a list of isolates that were tested for e.g. any aminoglycoside. } \details{ -The \code{\link{antibiotics}} data set will be searched for \code{ab_class} in the columns \code{atc_group1} and \code{atc_group2} (case-insensitive). Next, \code{tbl} will be checked for column names with a value in any abbreviations, codes or official names found in the \code{antibiotics} data set. +The \code{group} column in \code{\link{antibiotics}} data set will be searched for \code{ab_class} (case-insensitive). If no results are found, the \code{atc_group1} and \code{atc_group2} columns will be searched. Next, \code{x} will be checked for column names with a value in any abbreviations, codes or official names found in the \code{antibiotics} data set. } \examples{ library(dplyr) diff --git a/tests/testthat/test-mo.R b/tests/testthat/test-mo.R index 85a07fe6..8340ed48 100644 --- a/tests/testthat/test-mo.R +++ b/tests/testthat/test-mo.R @@ -159,8 +159,7 @@ test_that("as.mo works", { septic_patients[1:10,] %>% left_join_microorganisms() %>% select(genus, species) %>% - as.mo() %>% - as.character()) + as.mo()) # unknown results expect_warning(as.mo(c("INVALID", "Yeah, unknown"))) @@ -271,7 +270,7 @@ test_that("as.mo works", { expect_equal(as.character(as.mo("F_CANDD_GLB")), "F_CANDD_GLA") # debug mode - expect_warning(as.mo("kshgcjkhsdgkshjdfsfvsdfv", debug = TRUE, allow_uncertain = 3)) + expect_output(print(suppressWarnings(as.mo("kshgcjkhsdgkshjdfsfvsdfv", debug = TRUE, allow_uncertain = 3)))) # ..coccus expect_equal(as.character(as.mo(c("meningococ", "gonococ", "pneumococ"))),
    tblx

    a data set

    ab_class

    an antimicrobial class, like "carbapenems". More specifically, this should be a text that can be found in a 4th level ATC group (chemical subgroup) or a 5th level ATC group (chemical substance), please see this explanation on the WHOCC website.

    an antimicrobial class, like "carbapenems", as can be found in AMR::antibiotics$group

    result
    -

    filter_ab_class() filter_aminoglycosides() filter_carbapenems() filter_cephalosporins() filter_1st_cephalosporins() filter_2nd_cephalosporins() filter_3rd_cephalosporins() filter_4th_cephalosporins() filter_fluoroquinolones() filter_glycopeptides() filter_macrolides() filter_tetracyclines()

    +

    filter_ab_class() filter_aminoglycosides() filter_carbapenems() filter_cephalosporins() filter_1st_cephalosporins() filter_2nd_cephalosporins() filter_3rd_cephalosporins() filter_4th_cephalosporins() filter_5th_cephalosporins() filter_fluoroquinolones() filter_glycopeptides() filter_macrolides() filter_tetracyclines()

    Filter isolates on result in antibiotic class