mirror of
https://github.com/msberends/AMR.git
synced 2024-12-26 04:06:12 +01:00
improve as.mo()
This commit is contained in:
parent
3018fb87a9
commit
0bcf55d3b6
@ -30,6 +30,7 @@
|
||||
^vignettes/datasets\.Rmd$
|
||||
^vignettes/EUCAST\.Rmd$
|
||||
^vignettes/MDR\.Rmd$
|
||||
^vignettes/other_pkg.*\.Rmd$
|
||||
^vignettes/PCA\.Rmd$
|
||||
^vignettes/resistance_predict\.Rmd$
|
||||
^vignettes/SPSS\.Rmd$
|
||||
|
6
.github/workflows/website.yaml
vendored
6
.github/workflows/website.yaml
vendored
@ -65,7 +65,11 @@ jobs:
|
||||
- name: Set up R dependencies
|
||||
uses: r-lib/actions/setup-r-dependencies@v2
|
||||
with:
|
||||
extra-packages: any::pkgdown
|
||||
# add extra packages for website articles:
|
||||
extra-packages: |
|
||||
any::pkgdown
|
||||
any::tidymodels
|
||||
any::data.table
|
||||
|
||||
# Send updates to repo using GH Actions bot
|
||||
- name: Create website in separate branch
|
||||
|
@ -1,6 +1,6 @@
|
||||
Package: AMR
|
||||
Version: 2.0.0.9018
|
||||
Date: 2023-05-17
|
||||
Version: 2.0.0.9019
|
||||
Date: 2023-05-24
|
||||
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
|
||||
|
3
NEWS.md
3
NEWS.md
@ -1,4 +1,4 @@
|
||||
# AMR 2.0.0.9018
|
||||
# AMR 2.0.0.9019
|
||||
|
||||
## Changed
|
||||
* Added oxygen tolerance to over 25,000 bacteria in the `microorganisms` data set
|
||||
@ -12,6 +12,7 @@
|
||||
* Fixed some WHONET codes for microorganisms and consequently a couple of entries in `clinical_breakpoints`
|
||||
* Fixed a bug for `as.mo()` that led to coercion of `NA` values when using custom microorganism codes
|
||||
* Fixed usage of `icu_exclude` in `first_isolates()`
|
||||
* Improved `as.mo()` algorithm for searching on only species names
|
||||
|
||||
|
||||
# AMR 2.0.0
|
||||
|
@ -69,7 +69,7 @@
|
||||
#' ab_atc_group2("AMX")
|
||||
#' ab_url("AMX")
|
||||
#'
|
||||
#' # smart lowercase tranformation
|
||||
#' # smart lowercase transformation
|
||||
#' ab_name(x = c("AMC", "PLB"))
|
||||
#' ab_name(x = c("AMC", "PLB"), tolower = TRUE)
|
||||
#'
|
||||
|
@ -61,7 +61,7 @@
|
||||
#' av_group("ACI")
|
||||
#' av_url("ACI")
|
||||
#'
|
||||
#' # smart lowercase tranformation
|
||||
#' # lowercase transformation
|
||||
#' av_name(x = c("ACI", "VALA"))
|
||||
#' av_name(x = c("ACI", "VALA"), tolower = TRUE)
|
||||
#'
|
||||
|
@ -191,13 +191,14 @@ first_isolate <- function(x = NULL,
|
||||
}
|
||||
meet_criteria(col_specimen, allow_class = "character", has_length = 1, allow_NULL = TRUE, is_in = colnames(x))
|
||||
if (is.logical(col_icu)) {
|
||||
meet_criteria(col_icu, allow_class = "logical", has_length = c(1, nrow(x)), allow_NA = TRUE)
|
||||
meet_criteria(col_icu, allow_class = "logical", has_length = c(1, nrow(x)), allow_NA = TRUE, allow_NULL = TRUE)
|
||||
x$newvar_is_icu <- col_icu
|
||||
} else if (!is.null(col_icu)) {
|
||||
# add "logical" to the allowed classes here, since it may give an error in certain user input, and should then also say that logicals can be used too
|
||||
meet_criteria(col_icu, allow_class = c("character", "logical"), has_length = 1, allow_NULL = TRUE, is_in = colnames(x))
|
||||
x$newvar_is_icu <- x[, col_icu, drop = TRUE]
|
||||
} else {
|
||||
x$newvar_is_icu <- NA_real_
|
||||
x$newvar_is_icu <- NA
|
||||
}
|
||||
# method
|
||||
method <- coerce_method(method)
|
||||
|
11
R/mo.R
11
R/mo.R
@ -281,9 +281,16 @@ as.mo <- function(x,
|
||||
x_parts <- strsplit(gsub("-", " ", x_out, fixed = TRUE), " ", fixed = TRUE)[[1]]
|
||||
|
||||
# do a pre-match on first character (and if it contains a space, first chars of first two terms)
|
||||
if (length(x_parts) %in% c(2, 3)) {
|
||||
if (length(x_parts) == 1) {
|
||||
# for genus or species or subspecies
|
||||
filtr <- which(AMR_env$MO_lookup$full_first == substr(x_parts, 1, 1) |
|
||||
AMR_env$MO_lookup$species_first == substr(x_parts, 1, 1) |
|
||||
AMR_env$MO_lookup$subspecies_first == substr(x_parts, 1, 1))
|
||||
} else if (length(x_parts) %in% c(2, 3)) {
|
||||
# for genus + species + subspecies
|
||||
filtr <- which(AMR_env$MO_lookup$full_first == substr(x_parts[1], 1, 1) & (AMR_env$MO_lookup$species_first == substr(x_parts[2], 1, 1) | AMR_env$MO_lookup$subspecies_first == substr(x_parts[2], 1, 1)))
|
||||
filtr <- which(AMR_env$MO_lookup$full_first == substr(x_parts[1], 1, 1) &
|
||||
(AMR_env$MO_lookup$species_first == substr(x_parts[2], 1, 1) |
|
||||
AMR_env$MO_lookup$subspecies_first == substr(x_parts[2], 1, 1)))
|
||||
} else if (length(x_parts) > 3) {
|
||||
first_chars <- paste0("(^| )", "[", paste(substr(x_parts, 1, 1), collapse = ""), "]")
|
||||
filtr <- which(AMR_env$MO_lookup$full_first %like_case% first_chars)
|
||||
|
2
R/sir.R
2
R/sir.R
@ -759,7 +759,7 @@ as_sir_method <- function(method_short,
|
||||
if (is.null(mo)) {
|
||||
stop_("No information was supplied about the microorganisms (missing argument `mo` and no column of class 'mo' found). See ?as.sir.\n\n",
|
||||
"To transform certain columns with e.g. mutate(), use `data %>% mutate(across(..., as.sir, mo = x))`, where x is your column with microorganisms.\n",
|
||||
"To tranform all ", method_long, " in a data set, use `data %>% as.sir()` or `data %>% mutate_if(is.", method_short, ", as.sir)`.",
|
||||
"To transform all ", method_long, " in a data set, use `data %>% as.sir()` or `data %>% mutate_if(is.", method_short, ", as.sir)`.",
|
||||
call = FALSE
|
||||
)
|
||||
}
|
||||
|
29
_pkgdown.yml
29
_pkgdown.yml
@ -70,9 +70,9 @@ home:
|
||||
navbar:
|
||||
title: "AMR (for R)"
|
||||
left:
|
||||
- text: "Home"
|
||||
icon: "fa-home"
|
||||
href: "index.html"
|
||||
# - text: "Home"
|
||||
# icon: "fa-home"
|
||||
# href: "index.html"
|
||||
- text: "How to"
|
||||
icon: "fa-question-circle"
|
||||
menu:
|
||||
@ -100,9 +100,9 @@ navbar:
|
||||
- text: "Work with WHONET Data"
|
||||
icon: "fa-globe-americas"
|
||||
href: "articles/WHONET.html"
|
||||
- text: "Import Data From SPSS/SAS/Stata"
|
||||
icon: "fa-file-upload"
|
||||
href: "articles/SPSS.html"
|
||||
# - text: "Import Data From SPSS/SAS/Stata"
|
||||
# icon: "fa-file-upload"
|
||||
# href: "articles/SPSS.html"
|
||||
- text: "Apply Eucast Rules"
|
||||
icon: "fa-exchange-alt"
|
||||
href: "articles/EUCAST.html"
|
||||
@ -115,16 +115,31 @@ navbar:
|
||||
- text: "Get Properties of an Antiviral Drug"
|
||||
icon: "fa-capsules"
|
||||
href: "reference/av_property.html" # reference instead of an article
|
||||
- text: "With other pkgs"
|
||||
icon: "fa-circles-overlap"
|
||||
menu:
|
||||
- text: "AMR & dplyr/tidyverse"
|
||||
icon: "fa-circles-overlap"
|
||||
href: "articles/other_pkg.html"
|
||||
- text: "AMR & data.table"
|
||||
icon: "fa-circles-overlap"
|
||||
href: "articles/other_pkg.html"
|
||||
- text: "AMR & tidymodels"
|
||||
icon: "fa-circles-overlap"
|
||||
href: "articles/other_pkg.html"
|
||||
- text: "AMR & base R"
|
||||
icon: "fa-circles-overlap"
|
||||
href: "articles/other_pkg.html"
|
||||
- text: "Manual"
|
||||
icon: "fa-book-open"
|
||||
href: "reference/index.html"
|
||||
- text: "Authors"
|
||||
icon: "fa-users"
|
||||
href: "authors.html"
|
||||
right:
|
||||
- text: "Changelog"
|
||||
icon: "far fa-newspaper"
|
||||
href: "news/index.html"
|
||||
right:
|
||||
- text: "Source Code"
|
||||
icon: "fab fa-github"
|
||||
href: "https://github.com/msberends/AMR"
|
||||
|
@ -119,7 +119,7 @@ ab_atc_group1("AMX")
|
||||
ab_atc_group2("AMX")
|
||||
ab_url("AMX")
|
||||
|
||||
# smart lowercase tranformation
|
||||
# smart lowercase transformation
|
||||
ab_name(x = c("AMC", "PLB"))
|
||||
ab_name(x = c("AMC", "PLB"), tolower = TRUE)
|
||||
|
||||
|
@ -92,7 +92,7 @@ av_tradenames("ACI")
|
||||
av_group("ACI")
|
||||
av_url("ACI")
|
||||
|
||||
# smart lowercase tranformation
|
||||
# lowercase transformation
|
||||
av_name(x = c("ACI", "VALA"))
|
||||
av_name(x = c("ACI", "VALA"), tolower = TRUE)
|
||||
|
||||
|
@ -101,13 +101,13 @@ To work with R, probably the best option is to use [RStudio](https://www.rstudio
|
||||
|
||||
To import a data file, just click *Import Dataset* in the Environment tab:
|
||||
|
||||
![](https://github.com/msberends/AMR/raw/main/docs/import1.png)
|
||||
![](https://msberends.github.io/AMR/import1.png)
|
||||
|
||||
If additional packages are needed, RStudio will ask you if they should be installed on beforehand.
|
||||
|
||||
In the the window that opens, you can define all options (parameters) that should be used for import and you're ready to go:
|
||||
|
||||
![](https://github.com/msberends/AMR/raw/main/docs/import2.png)
|
||||
![](https://msberends.github.io/AMR/import2.png)
|
||||
|
||||
If you want named variables to be imported as factors so it resembles SPSS more, use `as_factor()`.
|
||||
|
25
vignettes/other_pkg.Rmd
Executable file
25
vignettes/other_pkg.Rmd
Executable file
@ -0,0 +1,25 @@
|
||||
---
|
||||
title: "Using AMR with other packages: AMR & dplyr/tidyverse"
|
||||
output:
|
||||
rmarkdown::html_vignette:
|
||||
toc: true
|
||||
toc_depth: 3
|
||||
vignette: >
|
||||
%\VignetteIndexEntry{How to conduct AMR data analysis}
|
||||
%\VignetteEncoding{UTF-8}
|
||||
%\VignetteEngine{knitr::rmarkdown}
|
||||
editor_options:
|
||||
chunk_output_type: console
|
||||
---
|
||||
|
||||
```{r setup, include = FALSE, results = 'markup'}
|
||||
knitr::opts_chunk$set(
|
||||
warning = FALSE,
|
||||
collapse = TRUE,
|
||||
comment = "#>",
|
||||
fig.width = 7.5,
|
||||
fig.height = 5
|
||||
)
|
||||
```
|
||||
|
||||
This page will be updated shortly, to give explicit examples of how to work ideally with the `AMR` package, for those who are used to working in `dplyr` or other tidyverse packages.
|
Loading…
Reference in New Issue
Block a user