From 8a603876d251bdb659afb5ad2578888456a9eb94 Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Mon, 26 Feb 2018 15:53:09 +0100 Subject: [PATCH] misc --- R/EUCAST.R | 4 ++-- R/atc.R | 6 +++--- R/data.R | 2 +- R/rsi_analysis.R | 3 ++- data/ablist.rda | Bin 10198 -> 9904 bytes man/EUCAST.Rd | 33 ++++++++++++++++----------------- man/ablist.Rd | 2 +- man/abname.Rd | 4 ++-- man/rsi_predict.Rd | 3 ++- 9 files changed, 29 insertions(+), 28 deletions(-) diff --git a/R/EUCAST.R b/R/EUCAST.R index 69ab4acf..3b6a3dfa 100644 --- a/R/EUCAST.R +++ b/R/EUCAST.R @@ -45,10 +45,10 @@ #' stringsAsFactors = FALSE) #' a #' -#' b <- EUCAST_rules(a) +#' b <- EUCAST_rules(a, "bactid") #' b EUCAST_rules <- function(tbl, - col_bactcode = 'bactid', + col_bactcode, info = TRUE, amcl = 'amcl', amik = 'amik', diff --git a/R/atc.R b/R/atc.R index 3bf2c11d..6de23383 100644 --- a/R/atc.R +++ b/R/atc.R @@ -128,7 +128,7 @@ atc_property <- function(atc_code, #' Name of an antibiotic #' #' Convert antibiotic codes (from a laboratory information system like MOLIS or GLIMS) to a (trivial) antibiotic name or ATC code, or vice versa. This uses the data from \code{\link{ablist}}. -#' @param abcode a code or name, like \code{"amox"}, \code{"cftr"} or \code{"J01CA04"} +#' @param abcode a code or name, like \code{"AMOX"}, \code{"AMCL"} or \code{"J01CA04"} #' @param from,to type to transform from and to. See \code{\link{ablist}} for its column names. #' @param textbetween text to put between multiple returned texts #' @param tolower return output as lower case with function \code{\link{tolower}}. @@ -146,7 +146,7 @@ atc_property <- function(atc_code, #' abname(c("AMCL", "GENT")) #' # "amoxicillin and enzyme inhibitor" "gentamicin" #' -#' abname("AMCL", to = "trivial") +#' abname("AMCL", to = "trivial_nl") #' # "Amoxicilline/clavulaanzuur" #' #' abname("AMCL", to = "atc") @@ -210,7 +210,7 @@ abname <- function(abcode, from = 'umcg', to = 'official', textbetween = ' + ', select(to) %>% slice(1) %>% as.character() - if (j > 1 & to %in% c('official', 'trivial')) { + if (j > 1 & to %in% c('official', 'trivial_nl')) { drug.group[j] <- drug.group[j] %>% tolower() } } diff --git a/R/data.R b/R/data.R index 5b320d35..b2af683f 100644 --- a/R/data.R +++ b/R/data.R @@ -26,7 +26,7 @@ #' \item{\code{umcg}}{UMCG code, like \code{AMCL}} #' \item{\code{official}}{Official name by the WHO, like \code{"amoxicillin and enzyme inhibitor"}} #' \item{\code{official_nl}}{Official name in the Netherlands, like \code{"Amoxicilline met enzymremmer"}} -#' \item{\code{trivial}}{Trivial name in Dutch, like \code{"Amoxicilline/clavulaanzuur"}} +#' \item{\code{trivial_nl}}{Trivial name in Dutch, like \code{"Amoxicilline/clavulaanzuur"}} #' \item{\code{oral_ddd}}{Daily Defined Dose (DDD) according to the WHO, oral treatment} #' \item{\code{oral_units}}{Units of \code{ddd_units}} #' \item{\code{iv_ddd}}{Daily Defined Dose (DDD) according to the WHO, parenteral treatment} diff --git a/R/rsi_analysis.R b/R/rsi_analysis.R index 3a39c66e..dc268de8 100644 --- a/R/rsi_analysis.R +++ b/R/rsi_analysis.R @@ -254,7 +254,8 @@ rsi <- function(ab1, ab2 = NA, interpretation = 'IR', minimum = 30, percent = FA #' @examples #' \dontrun{ #' # use it directly: -#' rsi_predict(tbl[which(first_isolate == TRUE & genus == "Haemophilus"),], col_ab = "amcl", coldate = "date") +#' rsi_predict(tbl = tbl[which(first_isolate == TRUE & genus == "Haemophilus"),], +#' col_ab = "amcl", coldate = "date") #' #' # or with dplyr so you can actually read it: #' library(dplyr) diff --git a/data/ablist.rda b/data/ablist.rda index 60fb96e83d8778ebfc499a31cb2ab1141ced7723..b30b81ffba4725c187943c679d3282c99867f7b2 100644 GIT binary patch literal 9904 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 JqRmq1{|5sTi8}xQ literal 10198 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