2023-01-21 23:47:20 +01:00
# ==================================================================== #
2023-07-08 17:30:05 +02:00
# TITLE: #
2023-01-21 23:47:20 +01:00
# AMR: An R Package for Working with Antimicrobial Resistance Data #
# #
2023-07-08 17:30:05 +02:00
# SOURCE CODE: #
2023-01-21 23:47:20 +01:00
# https://github.com/msberends/AMR #
# #
2023-07-08 17:30:05 +02:00
# PLEASE CITE THIS SOFTWARE AS: #
2023-01-21 23:47:20 +01:00
# Berends MS, Luz CF, Friedrich AW, Sinha BNM, Albers CJ, Glasner C #
# (2022). AMR: An R Package for Working with Antimicrobial Resistance #
# Data. Journal of Statistical Software, 104(3), 1-31. #
2023-05-27 10:39:22 +02:00
# https://doi.org/10.18637/jss.v104.i03 #
2023-01-21 23:47:20 +01:00
# #
# Developed at the University of Groningen and the University Medical #
# Center Groningen in The Netherlands, in collaboration with many #
# colleagues from around the world, see our website. #
# #
# 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 the full manual and a complete tutorial about #
# how to conduct AMR data analysis: https://msberends.github.io/AMR/ #
# ==================================================================== #
#' Deprecated Functions
#'
#' These functions are so-called '[Deprecated]'. **They will be removed in a future release.** Using the functions will give a warning with the name of the function it has been replaced by (if there is one).
#' @keywords internal
#' @name AMR-deprecated
#' @rdname AMR-deprecated
#' @export
NA_rsi_ <- set_clean_class ( factor ( NA_character_ , levels = c ( " S" , " I" , " R" ) , ordered = TRUE ) ,
2023-01-23 15:01:21 +01:00
new_class = c ( " rsi" , " ordered" , " factor" )
)
2023-01-21 23:47:20 +01:00
#' @rdname AMR-deprecated
#' @export
as.rsi <- function ( x , ... ) {
deprecation_warning ( " as.rsi" , " as.sir" )
UseMethod ( " as.rsi" )
}
#' @noRd
#' @export
as.rsi.default <- function ( ... ) {
as.sir.default ( ... )
}
#' @noRd
#' @export
as.rsi.mic <- function ( ... ) {
as.sir.mic ( ... )
}
#' @noRd
#' @export
as.rsi.disk <- function ( ... ) {
as.sir.disk ( ... )
}
#' @noRd
#' @export
as.rsi.data.frame <- function ( ... ) {
as.sir.data.frame ( ... )
}
#' @rdname AMR-deprecated
#' @export
facet_rsi <- function ( ... ) {
deprecation_warning ( " facet_rsi" , " facet_sir" )
facet_sir ( ... )
}
#' @rdname AMR-deprecated
#' @export
geom_rsi <- function ( ... ) {
deprecation_warning ( " geom_rsi" , " geom_sir" )
geom_sir ( ... )
}
#' @rdname AMR-deprecated
#' @export
ggplot_rsi <- function ( ... ) {
deprecation_warning ( " ggplot_rsi" , " ggplot_sir" )
ggplot_sir ( ... )
}
#' @rdname AMR-deprecated
#' @export
ggplot_rsi_predict <- function ( ... ) {
deprecation_warning ( " ggplot_rsi_predict" , " ggplot_sir_predict" )
ggplot_sir_predict ( ... )
}
#' @rdname AMR-deprecated
#' @export
2023-02-22 14:38:57 +01:00
is.rsi <- function ( ... ) {
# REMINDER: change as.sir() to remove the deprecation warning there
2023-02-22 15:40:05 +01:00
suppressWarnings ( is.sir ( ... ) )
2023-01-21 23:47:20 +01:00
}
#' @rdname AMR-deprecated
#' @export
is.rsi.eligible <- function ( ... ) {
deprecation_warning ( " is.rsi.eligible" , " is_sir_eligible" )
is_sir_eligible ( ... )
}
#' @rdname AMR-deprecated
#' @export
labels_rsi_count <- function ( ... ) {
deprecation_warning ( " labels_rsi_count" , " labels_sir_count" )
labels_sir_count ( ... )
}
#' @rdname AMR-deprecated
#' @export
n_rsi <- function ( ... ) {
deprecation_warning ( " n_rsi" , " n_sir" )
n_sir ( ... )
}
#' @rdname AMR-deprecated
#' @export
random_rsi <- function ( ... ) {
deprecation_warning ( " random_rsi" , " random_sir" )
random_sir ( ... )
}
#' @rdname AMR-deprecated
#' @export
rsi_df <- function ( ... ) {
deprecation_warning ( " rsi_df" , " sir_df" )
sir_df ( ... )
}
#' @rdname AMR-deprecated
#' @export
rsi_predict <- function ( ... ) {
deprecation_warning ( " rsi_predict" , " sir_predict" )
sir_predict ( ... )
}
#' @rdname AMR-deprecated
#' @export
scale_rsi_colours <- function ( ... ) {
deprecation_warning ( " scale_rsi_colours" , " scale_sir_colours" )
scale_sir_colours ( ... )
}
#' @rdname AMR-deprecated
#' @export
theme_rsi <- function ( ... ) {
deprecation_warning ( " theme_rsi" , " theme_sir" )
theme_sir ( ... )
}
# will be exported using s3_register() in R/zzz.R
pillar_shaft.rsi <- pillar_shaft.sir
type_sum.rsi <- function ( x , ... ) {
2023-02-22 14:38:57 +01:00
if ( message_not_thrown_before ( " type_sum.rsi" ) ) {
deprecation_warning ( extra_msg = " The 'rsi' class has been replaced with 'sir'. Transform your 'rsi' columns to 'sir' with `as.sir()`, e.g.:\n your_data %>% mutate_if(is.rsi, as.sir)" )
}
" rsi"
2023-01-21 23:47:20 +01:00
}
#' @method print rsi
#' @export
#' @noRd
print.rsi <- function ( x , ... ) {
2023-01-24 10:20:27 +01:00
deprecation_warning ( extra_msg = " The 'rsi' class has been replaced with 'sir' - transform your 'rsi' data with `as.sir()`" )
2023-01-21 23:47:20 +01:00
cat ( " Class 'rsi'" , font_bold ( font_red ( " [!]\n" ) ) )
print ( as.character ( x ) , quote = FALSE )
}
#' @noRd
#' @export
`[<-.rsi` <- `[<-.sir`
#' @noRd
#' @export
`[[<-.rsi` <- `[[<-.sir`
#' @noRd
#' @export
barplot.rsi <- barplot.sir
#' @noRd
#' @export
c.rsi <- c.sir
#' @noRd
#' @export
droplevels.rsi <- droplevels.sir
#' @noRd
#' @export
plot.rsi <- plot.sir
#' @noRd
#' @export
rep.rsi <- rep.sir
#' @noRd
#' @export
summary.rsi <- summary.sir
#' @noRd
#' @export
unique.rsi <- unique.sir
2023-03-11 14:24:34 +01:00
# WHEN REMOVING RSI, DON'T FORGET TO REMOVE :
# - THE "rsi_df" CLASS FROM R/sir_calc.R
# - CODE CONTAINING only_rsi_columns, colours_RSI, include_untested_rsi, prob_RSI
2023-01-24 10:20:27 +01:00
2023-03-11 14:24:34 +01:00
deprecation_warning <- function ( old = NULL , new = NULL , extra_msg = NULL , is_function = TRUE ) {
2023-01-21 23:47:20 +01:00
if ( is.null ( old ) ) {
warning_ ( extra_msg )
} else {
env <- paste0 ( " deprecated_" , old )
if ( ! env %in% names ( AMR_env ) ) {
AMR_env [ [paste0 ( " deprecated_" , old ) ] ] <- 1
2023-03-11 14:24:34 +01:00
if ( isTRUE ( is_function ) ) {
old <- paste0 ( old , " ()" )
new <- paste0 ( new , " ()" )
type <- " function"
} else {
type <- " argument"
}
2023-01-23 15:01:21 +01:00
warning_ (
ifelse ( is.null ( new ) ,
2023-03-11 14:24:34 +01:00
paste0 ( " The `" , old , " ` " , type , " is no longer in use" ) ,
paste0 ( " The `" , old , " ` " , type , " has been replaced with `" , new , " `" )
) ,
ifelse ( type == " argument" ,
" . While the old argument still works, it will be removed in a future version, so please update your code." ,
" , see `?AMR-deprecated`."
2023-01-23 15:01:21 +01:00
) ,
ifelse ( ! is.null ( extra_msg ) ,
paste0 ( " " , extra_msg ) ,
" "
) ,
" \nThis warning will be shown once per session."
)
2023-01-21 23:47:20 +01:00
}
}
}