mirror of
https://github.com/msberends/AMR.git
synced 2024-12-26 06:46:11 +01:00
keyab automatic
This commit is contained in:
parent
9478ab71be
commit
5ab7eb07bc
@ -11,7 +11,7 @@ R 3:
|
|||||||
# install dependencies for package
|
# install dependencies for package
|
||||||
- apt-get install --yes --no-install-recommends libxml2-dev libssl-dev libcurl4-openssl-dev zlib1g-dev
|
- apt-get install --yes --no-install-recommends libxml2-dev libssl-dev libcurl4-openssl-dev zlib1g-dev
|
||||||
- Rscript -e 'install.packages(c("devtools", "rlang"))'
|
- Rscript -e 'install.packages(c("devtools", "rlang"))'
|
||||||
- Rscript -e 'devtools::install_deps(dependencies = c("Depends", "Imports", "Suggests"), repos = "https://cran.rstudio.com")'
|
- Rscript -e 'devtools::install_dev_deps(repos = "https://cran.rstudio.com")'
|
||||||
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
# remove vignettes folder and get VignetteBuilder field out of DESCRIPTION file
|
||||||
- rm -rf vignettes
|
- rm -rf vignettes
|
||||||
- Rscript -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
- Rscript -e 'd <- read.dcf("DESCRIPTION"); d[, colnames(d) == "VignetteBuilder"] <- NA; write.dcf(d, "DESCRIPTION")'
|
||||||
|
3
NEWS.md
3
NEWS.md
@ -12,6 +12,9 @@
|
|||||||
* There will be looked for uncertain results at default - these results will be returned with an informative warning
|
* There will be looked for uncertain results at default - these results will be returned with an informative warning
|
||||||
* Manual now contains more info about the algorithms
|
* Manual now contains more info about the algorithms
|
||||||
* Progress bar will be shown when it takes more than 3 seconds to get results
|
* Progress bar will be shown when it takes more than 3 seconds to get results
|
||||||
|
* Function `first_isolate`:
|
||||||
|
* Will now use a column named like "patid" for the patient ID (parameter `col_patientid`), when this parameter was left blank
|
||||||
|
* Will now use a column named like "key(...)ab" or "key(...)antibiotics" for the key antibiotics (parameter `col_keyantibiotics`), when this parameter was left blank
|
||||||
* Function `first_isolate` will now use a column named like "patid" for the patient ID, when this parameter was left blank
|
* Function `first_isolate` will now use a column named like "patid" for the patient ID, when this parameter was left blank
|
||||||
* Reduce false positives for `is.rsi.eligible`
|
* Reduce false positives for `is.rsi.eligible`
|
||||||
* Summaries of class `mo` will now return the top 3 and the unique count, e.g. using `summary(mo)`
|
* Summaries of class `mo` will now return the top 3 and the unique count, e.g. using `summary(mo)`
|
||||||
|
@ -21,12 +21,12 @@
|
|||||||
#' Determine first (weighted) isolates of all microorganisms of every patient per episode and (if needed) per specimen type.
|
#' Determine first (weighted) isolates of all microorganisms of every patient per episode and (if needed) per specimen type.
|
||||||
#' @param tbl a \code{data.frame} containing isolates.
|
#' @param tbl a \code{data.frame} containing isolates.
|
||||||
#' @param col_date column name of the result date (or date that is was received on the lab), defaults to the first column of class \code{Date}
|
#' @param col_date column name of the result date (or date that is was received on the lab), defaults to the first column of class \code{Date}
|
||||||
#' @param col_patient_id column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' (case insensitive)
|
#' @param col_patient_id column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' or 'patid' (case insensitive)
|
||||||
#' @param col_mo column name of the unique IDs of the microorganisms (see \code{\link{mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.
|
#' @param col_mo column name of the unique IDs of the microorganisms (see \code{\link{mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.
|
||||||
#' @param col_testcode column name of the test codes. Use \code{col_testcode = NA} to \strong{not} exclude certain test codes (like test codes for screening). In that case \code{testcodes_exclude} will be ignored. Supports tidyverse-like quotation.
|
#' @param col_testcode column name of the test codes. Use \code{col_testcode = NA} to \strong{not} exclude certain test codes (like test codes for screening). In that case \code{testcodes_exclude} will be ignored. Supports tidyverse-like quotation.
|
||||||
#' @param col_specimen column name of the specimen type or group
|
#' @param col_specimen column name of the specimen type or group
|
||||||
#' @param col_icu column name of the logicals (\code{TRUE}/\code{FALSE}) whether a ward or department is an Intensive Care Unit (ICU)
|
#' @param col_icu column name of the logicals (\code{TRUE}/\code{FALSE}) whether a ward or department is an Intensive Care Unit (ICU)
|
||||||
#' @param col_keyantibiotics column name of the key antibiotics to determine first \emph{weighted} isolates, see \code{\link{key_antibiotics}}. Supports tidyverse-like quotation.
|
#' @param col_keyantibiotics column name of the key antibiotics to determine first \emph{weighted} isolates, see \code{\link{key_antibiotics}}. Supports tidyverse-like quotation. Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use \code{col_keyantibiotics = FALSE} to prevent this.
|
||||||
#' @param episode_days episode in days after which a genus/species combination will be determined as 'first isolate' again
|
#' @param episode_days episode in days after which a genus/species combination will be determined as 'first isolate' again
|
||||||
#' @param testcodes_exclude character vector with test codes that should be excluded (case-insensitive)
|
#' @param testcodes_exclude character vector with test codes that should be excluded (case-insensitive)
|
||||||
#' @param icu_exclude logical whether ICU isolates should be excluded
|
#' @param icu_exclude logical whether ICU isolates should be excluded
|
||||||
@ -158,20 +158,44 @@ first_isolate <- function(tbl,
|
|||||||
col_mo <- colnames(tbl)[lapply(tbl, class) == "mo"][1]
|
col_mo <- colnames(tbl)[lapply(tbl, class) == "mo"][1]
|
||||||
message("NOTE: Using column `", col_mo, "` as input for `col_mo`.")
|
message("NOTE: Using column `", col_mo, "` as input for `col_mo`.")
|
||||||
}
|
}
|
||||||
|
|
||||||
# -- date
|
# -- date
|
||||||
if (is.null(col_date) & "Date" %in% lapply(tbl, class)) {
|
if (is.null(col_date)) {
|
||||||
col_date <- colnames(tbl)[lapply(tbl, class) == "Date"][1]
|
for (i in 1:ncol(tbl)) {
|
||||||
|
if ("Date" %in% class(tbl %>% pull(i)) | "POSIXct" %in% class(tbl %>% pull(i))) {
|
||||||
|
col_date <- colnames(tbl)[i]
|
||||||
message("NOTE: Using column `", col_date, "` as input for `col_date`.")
|
message("NOTE: Using column `", col_date, "` as input for `col_date`.")
|
||||||
|
break
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (is.null(col_date)) {
|
||||||
|
stop("`col_date` must be set.", call. = FALSE)
|
||||||
|
}
|
||||||
|
# convert to Date
|
||||||
|
tbl[, col_date] <- as.Date(tbl[, col_date])
|
||||||
|
|
||||||
# -- patient id
|
# -- patient id
|
||||||
if (is.null(col_patient_id) & any(colnames(tbl) %like% "^(patient|patid)")) {
|
if (is.null(col_patient_id) & any(colnames(tbl) %like% "^(patient|patid)")) {
|
||||||
col_patient_id <- colnames(tbl)[colnames(tbl) %like% "^(patient|patid)"][1]
|
col_patient_id <- colnames(tbl)[colnames(tbl) %like% "^(patient|patid)"][1]
|
||||||
message("NOTE: Using column `", col_patient_id, "` as input for `col_patient_id`.")
|
message("NOTE: Using column `", col_patient_id, "` as input for `col_patient_id`.")
|
||||||
}
|
}
|
||||||
|
if (is.null(col_patient_id)) {
|
||||||
|
stop("`col_patient_id` must be set.", call. = FALSE)
|
||||||
|
}
|
||||||
|
|
||||||
# bactid OR genus+species must be available
|
# -- key antibiotics
|
||||||
|
if (is.null(col_keyantibiotics) & any(colnames(tbl) %like% "^key.*(ab|antibiotics)")) {
|
||||||
|
col_keyantibiotics <- colnames(tbl)[colnames(tbl) %like% "^key.*(ab|antibiotics)"][1]
|
||||||
|
message("NOTE: Using column `", col_keyantibiotics, "` as input for `col_keyantibiotics`.")
|
||||||
|
}
|
||||||
|
if (isFALSE(col_keyantibiotics)) {
|
||||||
|
col_keyantibiotics <- NULL
|
||||||
|
}
|
||||||
|
|
||||||
|
# col_mo OR col_genus+col_species must be available
|
||||||
if (is.null(col_mo) & (is.null(col_genus) | is.null(col_species))) {
|
if (is.null(col_mo) & (is.null(col_genus) | is.null(col_species))) {
|
||||||
stop('`col_mo` or both `col_genus` and `col_species` must be available.')
|
stop("`col_mo` or both `col_genus` and `col_species` must be set.", call. = FALSE)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ first_isolate(tbl, col_date = NULL, col_patient_id = NULL,
|
|||||||
|
|
||||||
\item{col_date}{column name of the result date (or date that is was received on the lab), defaults to the first column of class \code{Date}}
|
\item{col_date}{column name of the result date (or date that is was received on the lab), defaults to the first column of class \code{Date}}
|
||||||
|
|
||||||
\item{col_patient_id}{column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' (case insensitive)}
|
\item{col_patient_id}{column name of the unique IDs of the patients, defaults to the first column that starts with 'patient' or 'patid' (case insensitive)}
|
||||||
|
|
||||||
\item{col_mo}{column name of the unique IDs of the microorganisms (see \code{\link{mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.}
|
\item{col_mo}{column name of the unique IDs of the microorganisms (see \code{\link{mo}}), defaults to the first column of class \code{mo}. Values will be coerced using \code{\link{as.mo}}.}
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ first_isolate(tbl, col_date = NULL, col_patient_id = NULL,
|
|||||||
|
|
||||||
\item{col_icu}{column name of the logicals (\code{TRUE}/\code{FALSE}) whether a ward or department is an Intensive Care Unit (ICU)}
|
\item{col_icu}{column name of the logicals (\code{TRUE}/\code{FALSE}) whether a ward or department is an Intensive Care Unit (ICU)}
|
||||||
|
|
||||||
\item{col_keyantibiotics}{column name of the key antibiotics to determine first \emph{weighted} isolates, see \code{\link{key_antibiotics}}. Supports tidyverse-like quotation.}
|
\item{col_keyantibiotics}{column name of the key antibiotics to determine first \emph{weighted} isolates, see \code{\link{key_antibiotics}}. Supports tidyverse-like quotation. Defaults to the first column that starts with 'key' followed by 'ab' or 'antibiotics' (case insensitive). Use \code{col_keyantibiotics = FALSE} to prevent this.}
|
||||||
|
|
||||||
\item{episode_days}{episode in days after which a genus/species combination will be determined as 'first isolate' again}
|
\item{episode_days}{episode in days after which a genus/species combination will be determined as 'first isolate' again}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user