mirror of
https://github.com/msberends/AMR.git
synced 2026-03-07 12:03:10 +01:00
(v3.0.1.9026) fix ab_group(NA)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
Package: AMR
|
||||
Version: 3.0.1.9023
|
||||
Date: 2026-03-03
|
||||
Version: 3.0.1.9026
|
||||
Date: 2026-03-06
|
||||
Title: Antimicrobial Resistance Data Analysis
|
||||
Description: Functions to simplify and standardise antimicrobial resistance (AMR)
|
||||
data analysis and to work with microbial and antimicrobial properties by
|
||||
|
||||
@@ -133,8 +133,10 @@ export("%like%")
|
||||
export("%like_case%")
|
||||
export("%unlike%")
|
||||
export("%unlike_case%")
|
||||
export(NA_ab_)
|
||||
export(NA_disk_)
|
||||
export(NA_mic_)
|
||||
export(NA_mo_)
|
||||
export(NA_sir_)
|
||||
export(ab_atc)
|
||||
export(ab_atc_group1)
|
||||
|
||||
8
NEWS.md
8
NEWS.md
@@ -1,4 +1,4 @@
|
||||
# AMR 3.0.1.9023
|
||||
# AMR 3.0.1.9026
|
||||
|
||||
### New
|
||||
* Integration with the **tidymodels** framework to allow seamless use of SIR, MIC and disk data in modelling pipelines via `recipes`
|
||||
@@ -9,13 +9,13 @@
|
||||
- `all_disk()`, `all_disk_predictors()`
|
||||
* Data set `esbl_isolates` to practise with AMR modelling
|
||||
* AMR selectors `peptides()`, `phosphonics()` and `spiropyrimidinetriones()`
|
||||
* Antimicrobials in the `antimicrobials` data set: ceftibuten/avibactam (`CTA`), kasugamycin (`KAS`), ostreogrycin (`OST`), thiostrepton (`THS`), xeruborbactam (`XER`), zorbamycin (`ZOR`)
|
||||
* Support for Wildtype (WT) / Non-wildtype (NWT) in `as.sir()`, all plotting functions, and all susceptibility/resistance functions.
|
||||
- `as.sir()` gained an argument `as_wt_nwt`, which defaults to `TRUE` only when `breakpoint_type = "ECOFF"` (#254)
|
||||
- This transforms the output from S/R to WT/NWT
|
||||
- Functions such as `susceptibility()` count WT as S and NWT as R
|
||||
* `interpretive_rules()`, which allows future implementation of CLSI interpretive rules (#235)
|
||||
- `eucast_rules()` has become a wrapper around that function.
|
||||
- `eucast_rules()` has become a wrapper around that function
|
||||
* Two new `NA` objects, `NA_ab_` and `NA_mo_`, analogous to base R's `NA_character_` and `NA_integer_`, for use in pipelines that require typed missing values
|
||||
|
||||
### Fixes
|
||||
* Fixed a bug in `as.ab()` where certain AB codes containing "PH" or "TH" (such as `ETH`, `MTH`, `PHE`, `PHN`, `STH`, `THA`, `THI1`) would incorrectly return `NA` when combined in a vector with any untranslatable value (#245)
|
||||
@@ -31,7 +31,7 @@
|
||||
* `as.mic()` and `rescale_mic()` gained the argument `round_to_next_log2`, which can be set to `TRUE` to round all values up to the nearest next log2 level (#255)
|
||||
* `antimicrobials$group` is now a `list` instead of a `character`, to contain any group the drug is in (#246)
|
||||
* `ab_group()` gained an argument `all_groups` to return all groups the antimicrobial drug is in (#246)
|
||||
* Added taniborbactam (`TAN`) and cefepime/taniborbactam (`FTA`) to the `antimicrobials` data set
|
||||
* Added to the `antimicrobials` data set: cefepime/taniborbactam (`FTA`), ceftibuten/avibactam (`CTA`), kasugamycin (`KAS`), ostreogrycin (`OST`), taniborbactam (`TAN`), thiostrepton (`THS`), xeruborbactam (`XER`), and zorbamycin (`ZOR`)
|
||||
* Added explaining message to `as.sir()` when interpreting numeric values (e.g., 1 for S, 2 for I, 3 for R) (#244)
|
||||
* Updated handling of capped MIC values (`<`, `<=`, `>`, `>=`) in `as.sir()` in the argument `capped_mic_handling`: (#243)
|
||||
* Introduced four clearly defined options: `"none"`, `"conservative"` (default), `"standard"`, and `"lenient"`
|
||||
|
||||
8
R/ab.R
8
R/ab.R
@@ -514,6 +514,14 @@ ab_reset_session <- function() {
|
||||
}
|
||||
}
|
||||
|
||||
#' @rdname as.ab
|
||||
#' @details `NA_ab_` is a missing value of the new `ab` class, analogous to e.g. base \R's [`NA_character_`][base::NA].
|
||||
#' @format NULL
|
||||
#' @export
|
||||
NA_ab_ <- set_clean_class(NA_character_,
|
||||
new_class = c("ab", "character")
|
||||
)
|
||||
|
||||
# this prevents the requirement for putting the dependency in Imports:
|
||||
#' @rawNamespace if(getRversion() >= "3.0.0") S3method(pillar::pillar_shaft, ab)
|
||||
pillar_shaft.ab <- function(x, ...) {
|
||||
|
||||
@@ -172,6 +172,9 @@ ab_group <- function(x, language = get_AMR_locale(), all_groups = FALSE, ...) {
|
||||
|
||||
grps <- ab_validate(x = x, property = "group", ...)
|
||||
for (i in seq_along(grps)) {
|
||||
if (is.null(grps[[i]]) || all(is.na(grps[[i]]))) {
|
||||
grps[[i]] <- NA_character_
|
||||
}
|
||||
if (all_groups == FALSE) {
|
||||
# take the first match based on ABX_PRIORITY_LIST
|
||||
grps[[i]] <- grps[[i]][1]
|
||||
|
||||
8
R/mo.R
8
R/mo.R
@@ -623,6 +623,14 @@ mo_cleaning_regex <- function() {
|
||||
)
|
||||
}
|
||||
|
||||
#' @rdname as.mo
|
||||
#' @details `NA_mo_` is a missing value of the new `mo` class, analogous to e.g. base \R's [`NA_character_`][base::NA].
|
||||
#' @format NULL
|
||||
#' @export
|
||||
NA_mo_ <- set_clean_class(NA_character_,
|
||||
new_class = c("mo", "character")
|
||||
)
|
||||
|
||||
# UNDOCUMENTED METHODS ----------------------------------------------------
|
||||
|
||||
# this prevents the requirement for putting the dependency in Imports:
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
% Generated by roxygen2: do not edit by hand
|
||||
% Please edit documentation in R/ab.R
|
||||
\docType{data}
|
||||
\name{as.ab}
|
||||
\alias{as.ab}
|
||||
\alias{ab}
|
||||
\alias{is.ab}
|
||||
\alias{ab_reset_session}
|
||||
\alias{NA_ab_}
|
||||
\title{Transform Input to an Antibiotic ID}
|
||||
\usage{
|
||||
as.ab(x, flag_multiple_results = TRUE, language = get_AMR_locale(),
|
||||
@@ -13,6 +15,8 @@ as.ab(x, flag_multiple_results = TRUE, language = get_AMR_locale(),
|
||||
is.ab(x)
|
||||
|
||||
ab_reset_session()
|
||||
|
||||
NA_ab_
|
||||
}
|
||||
\arguments{
|
||||
\item{x}{A \link{character} vector to determine to antibiotic ID.}
|
||||
@@ -47,6 +51,8 @@ Use the \code{\link[=ab_property]{ab_*}} functions to get properties based on th
|
||||
Note: the \code{\link[=as.ab]{as.ab()}} and \code{\link[=ab_property]{ab_*}} functions may use very long regular expression to match brand names of antimicrobial drugs. This may fail on some systems.
|
||||
|
||||
You can add your own manual codes to be considered by \code{\link[=as.ab]{as.ab()}} and all \code{\link[=ab_property]{ab_*}} functions, see \code{\link[=add_custom_antimicrobials]{add_custom_antimicrobials()}}.
|
||||
|
||||
\code{NA_ab_} is a missing value of the new \code{ab} class, analogous to e.g. base \R's \code{\link[base:NA]{NA_character_}}.
|
||||
}
|
||||
\section{Source}{
|
||||
|
||||
@@ -111,3 +117,4 @@ if (require("dplyr")) {
|
||||
\item \code{\link[=ab_from_text]{ab_from_text()}} for a function to retrieve antimicrobial drugs from clinical text (from health care records)
|
||||
}
|
||||
}
|
||||
\keyword{datasets}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
% Generated by roxygen2: do not edit by hand
|
||||
% Please edit documentation in R/mo.R
|
||||
\docType{data}
|
||||
\name{as.mo}
|
||||
\alias{as.mo}
|
||||
\alias{mo}
|
||||
@@ -9,6 +10,7 @@
|
||||
\alias{mo_failures}
|
||||
\alias{mo_reset_session}
|
||||
\alias{mo_cleaning_regex}
|
||||
\alias{NA_mo_}
|
||||
\title{Transform Arbitrary Input to Valid Microbial Taxonomy}
|
||||
\usage{
|
||||
as.mo(x, Becker = FALSE, Lancefield = FALSE,
|
||||
@@ -31,6 +33,8 @@ mo_failures()
|
||||
mo_reset_session()
|
||||
|
||||
mo_cleaning_regex()
|
||||
|
||||
NA_mo_
|
||||
}
|
||||
\arguments{
|
||||
\item{x}{A \link{character} vector or a \link{data.frame} with one or two columns.}
|
||||
@@ -151,6 +155,8 @@ This is based on:
|
||||
\item Lancefield RC (1933). \strong{A serological differentiation of human and other groups of hemolytic streptococci.} \emph{J Exp Med.} 57(4): 571-95; \doi{10.1084/jem.57.4.571}
|
||||
}
|
||||
}
|
||||
|
||||
\code{NA_mo_} is a missing value of the new \code{mo} class, analogous to e.g. base \R's \code{\link[base:NA]{NA_character_}}.
|
||||
}
|
||||
\section{Source}{
|
||||
|
||||
@@ -260,3 +266,4 @@ mo_is_intrinsic_resistant("ESCCOL", ab = "vanco")
|
||||
|
||||
The \code{\link[=mo_property]{mo_*}} functions (such as \code{\link[=mo_genus]{mo_genus()}}, \code{\link[=mo_gramstain]{mo_gramstain()}}) to get properties based on the returned code.
|
||||
}
|
||||
\keyword{datasets}
|
||||
|
||||
Reference in New Issue
Block a user