mirror of
https://github.com/msberends/AMR.git
synced 2024-12-26 06:46:11 +01:00
(v1.1.0.9013) lose dependencies
This commit is contained in:
parent
19703eb5d3
commit
cb1814f5ff
@ -1,5 +1,5 @@
|
|||||||
Package: AMR
|
Package: AMR
|
||||||
Version: 1.1.0.9012
|
Version: 1.1.0.9013
|
||||||
Date: 2020-05-19
|
Date: 2020-05-19
|
||||||
Title: Antimicrobial Resistance Analysis
|
Title: Antimicrobial Resistance Analysis
|
||||||
Authors@R: c(
|
Authors@R: c(
|
||||||
|
@ -37,8 +37,6 @@ S3method(c,rsi)
|
|||||||
S3method(droplevels,mic)
|
S3method(droplevels,mic)
|
||||||
S3method(droplevels,rsi)
|
S3method(droplevels,rsi)
|
||||||
S3method(format,bug_drug_combinations)
|
S3method(format,bug_drug_combinations)
|
||||||
S3method(freq,mo)
|
|
||||||
S3method(freq,rsi)
|
|
||||||
S3method(kurtosis,data.frame)
|
S3method(kurtosis,data.frame)
|
||||||
S3method(kurtosis,default)
|
S3method(kurtosis,default)
|
||||||
S3method(kurtosis,matrix)
|
S3method(kurtosis,matrix)
|
||||||
|
5
NEWS.md
5
NEWS.md
@ -1,9 +1,8 @@
|
|||||||
# AMR 1.1.0.9012
|
# AMR 1.1.0.9013
|
||||||
## <small>Last updated: 19-May-2020</small>
|
## <small>Last updated: 19-May-2020</small>
|
||||||
|
|
||||||
### Breaking
|
### Breaking
|
||||||
|
* Removed code dependency on **all** R packages that this `AMR` package required: `cleaner`, `crayon`, `data.table`, `dplyr`, `ggplot2`, `knitr`, `microbenchmark`, `pillar`, `R6`, `rlang`, `tidyr` and `vctrs`. This is a major code change, but will probably not be noticeable by most users.
|
||||||
* Removed code dependency on **all** R packages that this `AMR` package relied upon: `cleaner`, `crayon`, `data.table`, `dplyr`, `ggplot2`, `knitr`, `microbenchmark`, `pillar`, `R6`, `rlang`, `tidyr` and `vctrs`. This is a major code change, but will probably not be noticeable by most users.
|
|
||||||
|
|
||||||
Making this package independent on especially the tidyverse tremendously increases sustainability on the long term, since tidyverse functions change quite often. Most of our functions are replaced with versions that only rely on base R, which keeps this package fully functional for many years to come, without requiring a lot of maintenance to keep up with other packages anymore. Another upside it that this package can now be used with all versions of R since R-3.0.0 (April 2013). Our package is being used in settings where the resources are very limited. Fewer dependencies on newer software is helpful for such settings.
|
Making this package independent on especially the tidyverse tremendously increases sustainability on the long term, since tidyverse functions change quite often. Most of our functions are replaced with versions that only rely on base R, which keeps this package fully functional for many years to come, without requiring a lot of maintenance to keep up with other packages anymore. Another upside it that this package can now be used with all versions of R since R-3.0.0 (April 2013). Our package is being used in settings where the resources are very limited. Fewer dependencies on newer software is helpful for such settings.
|
||||||
|
|
||||||
|
@ -429,8 +429,8 @@ percentage <- function(x, digits = NULL, ...) {
|
|||||||
# prevent dependency on package 'backports'
|
# prevent dependency on package 'backports'
|
||||||
# these functions were not available in previous versions of R (last checked: R 4.0.0)
|
# these functions were not available in previous versions of R (last checked: R 4.0.0)
|
||||||
# see here for the full list: https://github.com/r-lib/backports
|
# see here for the full list: https://github.com/r-lib/backports
|
||||||
strrep = function(x, times) {
|
strrep <- function(x, times) {
|
||||||
x = as.character(x)
|
x <- as.character(x)
|
||||||
if (length(x) == 0L)
|
if (length(x) == 0L)
|
||||||
return(x)
|
return(x)
|
||||||
unlist(.mapply(function(x, times) {
|
unlist(.mapply(function(x, times) {
|
||||||
@ -441,18 +441,18 @@ strrep = function(x, times) {
|
|||||||
paste0(replicate(times, x), collapse = "")
|
paste0(replicate(times, x), collapse = "")
|
||||||
}, list(x = x, times = times), MoreArgs = list()), use.names = FALSE)
|
}, list(x = x, times = times), MoreArgs = list()), use.names = FALSE)
|
||||||
}
|
}
|
||||||
trimws <- function (x, which = c("both", "left", "right")) {
|
trimws <- function(x, which = c("both", "left", "right")) {
|
||||||
which = match.arg(which)
|
which <- match.arg(which)
|
||||||
mysub = function(re, x) sub(re, "", x, perl = TRUE)
|
mysub <- function(re, x) sub(re, "", x, perl = TRUE)
|
||||||
if (which == "left")
|
if (which == "left")
|
||||||
return(mysub("^[ \t\r\n]+", x))
|
return(mysub("^[ \t\r\n]+", x))
|
||||||
if (which == "right")
|
if (which == "right")
|
||||||
return(mysub("[ \t\r\n]+$", x))
|
return(mysub("[ \t\r\n]+$", x))
|
||||||
mysub("[ \t\r\n]+$", mysub("^[ \t\r\n]+", x))
|
mysub("[ \t\r\n]+$", mysub("^[ \t\r\n]+", x))
|
||||||
}
|
}
|
||||||
isFALSE <- function (x) {
|
isFALSE <- function(x) {
|
||||||
is.logical(x) && length(x) == 1L && !is.na(x) && !x
|
is.logical(x) && length(x) == 1L && !is.na(x) && !x
|
||||||
}
|
}
|
||||||
deparse1 = function (expr, collapse = " ", width.cutoff = 500L, ...) {
|
deparse1 <- function(expr, collapse = " ", width.cutoff = 500L, ...) {
|
||||||
paste(deparse(expr, width.cutoff, ...), collapse = collapse)
|
paste(deparse(expr, width.cutoff, ...), collapse = collapse)
|
||||||
}
|
}
|
||||||
|
2
R/ab.R
2
R/ab.R
@ -352,7 +352,7 @@ print.ab <- function(x, ...) {
|
|||||||
#' @exportMethod as.data.frame.ab
|
#' @exportMethod as.data.frame.ab
|
||||||
#' @export
|
#' @export
|
||||||
#' @noRd
|
#' @noRd
|
||||||
as.data.frame.ab <- function (x, ...) {
|
as.data.frame.ab <- function(x, ...) {
|
||||||
nm <- deparse1(substitute(x))
|
nm <- deparse1(substitute(x))
|
||||||
if (!"nm" %in% names(list(...))) {
|
if (!"nm" %in% names(list(...))) {
|
||||||
as.data.frame.vector(as.ab(x), ..., nm = nm)
|
as.data.frame.vector(as.ab(x), ..., nm = nm)
|
||||||
|
72
R/freq.R
72
R/freq.R
@ -1,72 +0,0 @@
|
|||||||
# ==================================================================== #
|
|
||||||
# TITLE #
|
|
||||||
# Antimicrobial Resistance (AMR) Analysis #
|
|
||||||
# #
|
|
||||||
# SOURCE #
|
|
||||||
# https://gitlab.com/msberends/AMR #
|
|
||||||
# #
|
|
||||||
# LICENCE #
|
|
||||||
# (c) 2018-2020 Berends MS, Luz CF et al. #
|
|
||||||
# #
|
|
||||||
# This R package is free software; you can freely use and distribute #
|
|
||||||
# it for both personal and commercial purposes under the terms of the #
|
|
||||||
# GNU General Public License version 2.0 (GNU GPL-2), as published by #
|
|
||||||
# the Free Software Foundation. #
|
|
||||||
# #
|
|
||||||
# We created this package for both routine data analysis and academic #
|
|
||||||
# research and it was publicly released in the hope that it will be #
|
|
||||||
# useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. #
|
|
||||||
# Visit our website for more info: https://msberends.gitlab.io/AMR. #
|
|
||||||
# ==================================================================== #
|
|
||||||
|
|
||||||
if ("cleaner" %in% rownames(utils::installed.packages())) {
|
|
||||||
freq <- get("freq", envir = asNamespace("cleaner"))
|
|
||||||
freq.default <- get("freq.default", envir = asNamespace("cleaner"))
|
|
||||||
} else {
|
|
||||||
freq <- ""
|
|
||||||
freq.default <- ""
|
|
||||||
}
|
|
||||||
|
|
||||||
#' @method freq mo
|
|
||||||
#' @export
|
|
||||||
#' @noRd
|
|
||||||
freq.mo <- function(x, ...) {
|
|
||||||
x_noNA <- as.mo(x[!is.na(x)]) # as.mo() to get the newest mo codes
|
|
||||||
grams <- mo_gramstain(x_noNA, language = NULL)
|
|
||||||
digits <- list(...)$digits
|
|
||||||
if (is.null(digits)) {
|
|
||||||
digits <- 2
|
|
||||||
}
|
|
||||||
freq.default(x = x, ...,
|
|
||||||
.add_header = list(`Gram-negative` = paste0(format(sum(grams == "Gram-negative", na.rm = TRUE),
|
|
||||||
big.mark = ",",
|
|
||||||
decimal.mark = "."),
|
|
||||||
" (", percentage(sum(grams == "Gram-negative", na.rm = TRUE) / length(grams), digits = digits),
|
|
||||||
")"),
|
|
||||||
`Gram-positive` = paste0(format(sum(grams == "Gram-positive", na.rm = TRUE),
|
|
||||||
big.mark = ",",
|
|
||||||
decimal.mark = "."),
|
|
||||||
" (", percentage(sum(grams == "Gram-positive", na.rm = TRUE) / length(grams), digits = digits),
|
|
||||||
")"),
|
|
||||||
`No of genera` = n_distinct(mo_genus(x_noNA, language = NULL)),
|
|
||||||
`No of species` = n_distinct(paste(mo_genus(x_noNA, language = NULL),
|
|
||||||
mo_species(x_noNA, language = NULL)))))
|
|
||||||
}
|
|
||||||
|
|
||||||
#' @method freq rsi
|
|
||||||
#' @export
|
|
||||||
#' @noRd
|
|
||||||
freq.rsi <- function(x, ...) {
|
|
||||||
x_name <- deparse(substitute(x))
|
|
||||||
x_name <- gsub(".*[$]", "", x_name)
|
|
||||||
ab <- suppressMessages(suppressWarnings(as.ab(x_name)))
|
|
||||||
if (!is.na(ab)) {
|
|
||||||
freq.default(x = x, ...,
|
|
||||||
.add_header = list(Drug = paste0(ab_name(ab), " (", ab, ", ", ab_atc(ab), ")"),
|
|
||||||
group = ab_group(ab),
|
|
||||||
`%SI` = susceptibility(x, minimum = 0, as_percent = TRUE)))
|
|
||||||
} else {
|
|
||||||
freq.default(x = x, ...,
|
|
||||||
.add_header = list(`%SI` = susceptibility(x, minimum = 0, as_percent = TRUE)))
|
|
||||||
}
|
|
||||||
}
|
|
2
R/mo.R
2
R/mo.R
@ -1578,7 +1578,7 @@ summary.mo <- function(object, ...) {
|
|||||||
#' @exportMethod as.data.frame.mo
|
#' @exportMethod as.data.frame.mo
|
||||||
#' @export
|
#' @export
|
||||||
#' @noRd
|
#' @noRd
|
||||||
as.data.frame.mo <- function (x, ...) {
|
as.data.frame.mo <- function(x, ...) {
|
||||||
nm <- deparse1(substitute(x))
|
nm <- deparse1(substitute(x))
|
||||||
if (!"nm" %in% names(list(...))) {
|
if (!"nm" %in% names(list(...))) {
|
||||||
as.data.frame.vector(as.mo(x), ..., nm = nm)
|
as.data.frame.vector(as.mo(x), ..., nm = nm)
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<span class="navbar-brand">
|
<span class="navbar-brand">
|
||||||
<a class="navbar-link" href="https://msberends.gitlab.io/AMR/index.html">AMR (for R)</a>
|
<a class="navbar-link" href="https://msberends.gitlab.io/AMR/index.html">AMR (for R)</a>
|
||||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9012</span>
|
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9013</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<span class="navbar-brand">
|
<span class="navbar-brand">
|
||||||
<a class="navbar-link" href="index.html">AMR (for R)</a>
|
<a class="navbar-link" href="index.html">AMR (for R)</a>
|
||||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9012</span>
|
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9013</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<span class="navbar-brand">
|
<span class="navbar-brand">
|
||||||
<a class="navbar-link" href="../index.html">AMR (for R)</a>
|
<a class="navbar-link" href="../index.html">AMR (for R)</a>
|
||||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9012</span>
|
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9013</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<span class="navbar-brand">
|
<span class="navbar-brand">
|
||||||
<a class="navbar-link" href="index.html">AMR (for R)</a>
|
<a class="navbar-link" href="index.html">AMR (for R)</a>
|
||||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9012</span>
|
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9013</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<span class="navbar-brand">
|
<span class="navbar-brand">
|
||||||
<a class="navbar-link" href="index.html">AMR (for R)</a>
|
<a class="navbar-link" href="index.html">AMR (for R)</a>
|
||||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9012</span>
|
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9013</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<span class="navbar-brand">
|
<span class="navbar-brand">
|
||||||
<a class="navbar-link" href="../index.html">AMR (for R)</a>
|
<a class="navbar-link" href="../index.html">AMR (for R)</a>
|
||||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9012</span>
|
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9013</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -229,9 +229,9 @@
|
|||||||
<small>Source: <a href='https://gitlab.com/msberends/AMR/blob/master/NEWS.md'><code>NEWS.md</code></a></small>
|
<small>Source: <a href='https://gitlab.com/msberends/AMR/blob/master/NEWS.md'><code>NEWS.md</code></a></small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="amr-1-1-0-9012" class="section level1">
|
<div id="amr-1-1-0-9013" class="section level1">
|
||||||
<h1 class="page-header" data-toc-text="1.1.0.9012">
|
<h1 class="page-header" data-toc-text="1.1.0.9013">
|
||||||
<a href="#amr-1-1-0-9012" class="anchor"></a>AMR 1.1.0.9012<small> Unreleased </small>
|
<a href="#amr-1-1-0-9013" class="anchor"></a>AMR 1.1.0.9013<small> Unreleased </small>
|
||||||
</h1>
|
</h1>
|
||||||
<div id="last-updated-19-may-2020" class="section level2">
|
<div id="last-updated-19-may-2020" class="section level2">
|
||||||
<h2 class="hasAnchor">
|
<h2 class="hasAnchor">
|
||||||
@ -242,7 +242,7 @@
|
|||||||
<a href="#breaking" class="anchor"></a>Breaking</h3>
|
<a href="#breaking" class="anchor"></a>Breaking</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<p>Removed code dependency on <strong>all</strong> R packages that this <code>AMR</code> package relied upon: <code>cleaner</code>, <code>crayon</code>, <code>data.table</code>, <code>dplyr</code>, <code>ggplot2</code>, <code>knitr</code>, <code>microbenchmark</code>, <code>pillar</code>, <code>R6</code>, <code>rlang</code>, <code>tidyr</code> and <code>vctrs</code>. This is a major code change, but will probably not be noticeable by most users.</p>
|
<p>Removed code dependency on <strong>all</strong> R packages that this <code>AMR</code> package required: <code>cleaner</code>, <code>crayon</code>, <code>data.table</code>, <code>dplyr</code>, <code>ggplot2</code>, <code>knitr</code>, <code>microbenchmark</code>, <code>pillar</code>, <code>R6</code>, <code>rlang</code>, <code>tidyr</code> and <code>vctrs</code>. This is a major code change, but will probably not be noticeable by most users.</p>
|
||||||
<p>Making this package independent on especially the tidyverse tremendously increases sustainability on the long term, since tidyverse functions change quite often. Most of our functions are replaced with versions that only rely on base R, which keeps this package fully functional for many years to come, without requiring a lot of maintenance to keep up with other packages anymore. Another upside it that this package can now be used with all versions of R since R-3.0.0 (April 2013). Our package is being used in settings where the resources are very limited. Fewer dependencies on newer software is helpful for such settings.</p>
|
<p>Making this package independent on especially the tidyverse tremendously increases sustainability on the long term, since tidyverse functions change quite often. Most of our functions are replaced with versions that only rely on base R, which keeps this package fully functional for many years to come, without requiring a lot of maintenance to keep up with other packages anymore. Another upside it that this package can now be used with all versions of R since R-3.0.0 (April 2013). Our package is being used in settings where the resources are very limited. Fewer dependencies on newer software is helpful for such settings.</p>
|
||||||
Negative effects of this change are:
|
Negative effects of this change are:
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -10,7 +10,7 @@ articles:
|
|||||||
WHONET: WHONET.html
|
WHONET: WHONET.html
|
||||||
benchmarks: benchmarks.html
|
benchmarks: benchmarks.html
|
||||||
resistance_predict: resistance_predict.html
|
resistance_predict: resistance_predict.html
|
||||||
last_built: 2020-05-19T10:08Z
|
last_built: 2020-05-19T11:17Z
|
||||||
urls:
|
urls:
|
||||||
reference: https://msberends.gitlab.io/AMR/reference
|
reference: https://msberends.gitlab.io/AMR/reference
|
||||||
article: https://msberends.gitlab.io/AMR/articles
|
article: https://msberends.gitlab.io/AMR/articles
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<span class="navbar-brand">
|
<span class="navbar-brand">
|
||||||
<a class="navbar-link" href="../index.html">AMR (for R)</a>
|
<a class="navbar-link" href="../index.html">AMR (for R)</a>
|
||||||
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9012</span>
|
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Latest development version">1.1.0.9013</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
# ==================================================================== #
|
|
||||||
# TITLE #
|
|
||||||
# Antimicrobial Resistance (AMR) Analysis #
|
|
||||||
# #
|
|
||||||
# SOURCE #
|
|
||||||
# https://gitlab.com/msberends/AMR #
|
|
||||||
# #
|
|
||||||
# LICENCE #
|
|
||||||
# (c) 2018-2020 Berends MS, Luz CF et al. #
|
|
||||||
# #
|
|
||||||
# This R package is free software; you can freely use and distribute #
|
|
||||||
# it for both personal and commercial purposes under the terms of the #
|
|
||||||
# GNU General Public License version 2.0 (GNU GPL-2), as published by #
|
|
||||||
# the Free Software Foundation. #
|
|
||||||
# #
|
|
||||||
# We created this package for both routine data analysis and academic #
|
|
||||||
# research and it was publicly released in the hope that it will be #
|
|
||||||
# useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. #
|
|
||||||
# Visit our website for more info: https://msberends.gitlab.io/AMR. #
|
|
||||||
# ==================================================================== #
|
|
||||||
|
|
||||||
context("freq.R")
|
|
||||||
|
|
||||||
test_that("frequency table works", {
|
|
||||||
library(cleaner)
|
|
||||||
# mo
|
|
||||||
expect_true(is.freq(freq(example_isolates$mo)))
|
|
||||||
# for this to work, the output of mo_gramstain() is to be expected as follows:
|
|
||||||
expect_equal(mo_gramstain("B_ESCHR_COLI", language = NULL), "Gram-negative")
|
|
||||||
expect_equal(mo_gramstain("B_STPHY_AURS", language = NULL), "Gram-positive")
|
|
||||||
|
|
||||||
# rsi
|
|
||||||
expect_true(is.freq(freq(example_isolates$AMX)))
|
|
||||||
library(dplyr)
|
|
||||||
expect_true(is.freq(example_isolates %>% freq(AMX)))
|
|
||||||
})
|
|
Loading…
Reference in New Issue
Block a user