diff --git a/DESCRIPTION b/DESCRIPTION index d9a52063b..5ce798a5c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -223,3 +223,4 @@ Config/testthat/edition: 3 Config/testthat/parallel: true Config/Needs/website: easystats/easystatstemplate Config/rcmdcheck/ignore-inconsequential-notes: true +Remotes: easystats/insight#938 diff --git a/R/2_ci.R b/R/2_ci.R index c010dcf37..9a6da89f1 100644 --- a/R/2_ci.R +++ b/R/2_ci.R @@ -73,7 +73,7 @@ ci.glm <- function(x, vcov_args = NULL, verbose = TRUE, ...) { - method <- match.arg(method, choices = c("profile", "wald", "normal", "residual")) + method <- insight::validate_argument(method, c("profile", "wald", "normal", "residual")) # No robust vcov for profile method if (method == "profile") { diff --git a/R/bootstrap_model.R b/R/bootstrap_model.R index cdfc66109..71d0d11a6 100644 --- a/R/bootstrap_model.R +++ b/R/bootstrap_model.R @@ -75,7 +75,7 @@ bootstrap_model.default <- function(model, insight::check_if_installed("boot") - type <- match.arg(type, choices = c("ordinary", "parametric", "balanced", "permutation", "antithetic")) + type <- insight::validate_argument(type, c("ordinary", "parametric", "balanced", "permutation", "antithetic")) parallel <- match.arg(parallel) model_data <- data <- insight::get_data(model, verbose = FALSE) # nolint @@ -156,7 +156,7 @@ bootstrap_model.merMod <- function(model, ...) { insight::check_if_installed("lme4") - type <- match.arg(type, choices = c("parametric", "semiparametric")) + type <- insight::validate_argument(type, c("parametric", "semiparametric")) parallel <- match.arg(parallel) boot_function <- function(model) { @@ -228,7 +228,7 @@ bootstrap_model.nestedLogit <- function(model, ...) { insight::check_if_installed("boot") - type <- match.arg(type, choices = c("ordinary", "balanced", "permutation", "antithetic")) + type <- insight::validate_argument(type, c("ordinary", "balanced", "permutation", "antithetic")) parallel <- match.arg(parallel) model_data <- data <- insight::get_data(model, verbose = FALSE) # nolint diff --git a/R/ci_generic.R b/R/ci_generic.R index 1bfad93e3..1b7b49f82 100644 --- a/R/ci_generic.R +++ b/R/ci_generic.R @@ -17,11 +17,14 @@ if (is.null(method)) { method <- "wald" } - method <- match.arg(tolower(method), choices = c( - "wald", "ml1", "betwithin", "kr", - "satterthwaite", "kenward", "boot", - "profile", "residual", "normal" - )) + method <- tolower(method) + method <- insight::validate_argument( + method, + c( + "wald", "ml1", "betwithin", "kr", "satterthwaite", "kenward", "boot", + "profile", "residual", "normal" + ) + ) effects <- match.arg(effects) component <- match.arg(component) diff --git a/R/extract_random_variances.R b/R/extract_random_variances.R index 9b042a79e..368779fe8 100644 --- a/R/extract_random_variances.R +++ b/R/extract_random_variances.R @@ -28,7 +28,7 @@ # check for errors if (is.null(out) && isTRUE(verbose)) { - insight::format_warning("Something went wrong when calculating random effects parameters. Only showing model's fixed effects now. You may use `effects=\"fixed\"` to speed up the call to `model_parameters()`.") + insight::format_warning("Something went wrong when calculating random effects parameters. Only showing model's fixed effects now. You may use `effects=\"fixed\"` to speed up the call to `model_parameters()`.") # nolint } out @@ -45,7 +45,7 @@ ci_random = NULL, verbose = FALSE, ...) { - component <- match.arg(component, choices = c("all", "conditional", "zero_inflated", "zi", "dispersion")) + component <- insight::validate_argument(component, c("all", "conditional", "zero_inflated", "zi", "dispersion")) out <- suppressWarnings( .extract_random_variances_helper( @@ -208,7 +208,7 @@ ) # fix names for uncorrelated slope-intercepts - pattern <- paste0("(", paste0(insight::find_random(model, flatten = TRUE), collapse = "|"), ")\\.\\d+$") + pattern <- paste0("(", paste(insight::find_random(model, flatten = TRUE), collapse = "|"), ")\\.\\d+$") out$Group <- gsub(pattern, "\\1", out$Group) # remove non-used columns diff --git a/R/methods_glmmTMB.R b/R/methods_glmmTMB.R index 26ad72dd1..fde221f10 100644 --- a/R/methods_glmmTMB.R +++ b/R/methods_glmmTMB.R @@ -47,8 +47,8 @@ model_parameters.glmmTMB <- function(model, ci_method <- .check_df_method(ci_method) # which components to return? - effects <- match.arg(effects, choices = c("fixed", "random", "all")) - component <- match.arg(component, choices = c("all", "conditional", "zi", "zero_inflated", "dispersion")) + effects <- insight::validate_argument(effects, c("fixed", "random", "all")) + component <- insight::validate_argument(component, c("all", "conditional", "zi", "zero_inflated", "dispersion")) # standardize only works for fixed effects... if (!is.null(standardize) && standardize != "refit") { @@ -268,8 +268,8 @@ ci.glmmTMB <- function(x, verbose = TRUE, ...) { method <- tolower(method) - method <- match.arg(method, choices = c("wald", "normal", "ml1", "betwithin", "profile", "uniroot", "robust")) - component <- match.arg(component, choices = c("all", "conditional", "zi", "zero_inflated", "dispersion")) + method <- insight::validate_argument(method, c("wald", "normal", "ml1", "betwithin", "profile", "uniroot", "robust")) + component <- insight::validate_argument(component, c("all", "conditional", "zi", "zero_inflated", "dispersion")) if (is.null(.check_component(x, component, verbose = verbose))) { return(NULL) @@ -315,8 +315,8 @@ standard_error.glmmTMB <- function(model, component = "all", verbose = TRUE, ...) { - component <- match.arg(component, choices = c("all", "conditional", "zi", "zero_inflated", "dispersion")) - effects <- match.arg(effects, choices = c("fixed", "random")) + component <- insight::validate_argument(component, c("all", "conditional", "zi", "zero_inflated", "dispersion")) + effects <- insight::validate_argument(effects, c("fixed", "random")) dot_args <- .check_dots( dots = list(...), @@ -374,10 +374,10 @@ standard_error.glmmTMB <- function(model, #' @export simulate_model.glmmTMB <- function(model, iterations = 1000, - component = c("all", "conditional", "zi", "zero_inflated", "dispersion"), + component = "all", verbose = FALSE, ...) { - component <- match.arg(component) + component <- insight::validate_argument(component, c("all", "conditional", "zi", "zero_inflated", "dispersion")) info <- insight::model_info(model, verbose = FALSE) ## TODO remove is.list() when insight 0.8.3 on CRAN diff --git a/R/methods_lme4.R b/R/methods_lme4.R index 4d55dac15..cc08a27e5 100644 --- a/R/methods_lme4.R +++ b/R/methods_lme4.R @@ -193,14 +193,14 @@ model_parameters.merMod <- function(model, ci_method <- tolower(ci_method) if (isTRUE(bootstrap)) { - ci_method <- match.arg( + ci_method <- insight::validate_argument( ci_method, - choices = c("hdi", "quantile", "ci", "eti", "si", "bci", "bcai") + c("hdi", "quantile", "ci", "eti", "si", "bci", "bcai") ) } else { - ci_method <- match.arg( + ci_method <- insight::validate_argument( ci_method, - choices = c( + c( "wald", "normal", "residual", "ml1", "betwithin", "satterthwaite", "kenward", "kr", "boot", "profile", "uniroot" ) @@ -208,7 +208,7 @@ model_parameters.merMod <- function(model, } # which component to return? - effects <- match.arg(effects, choices = c("fixed", "random", "all")) + effects <- insight::validate_argument(effects, c("fixed", "random", "all")) params <- params_random <- params_variance <- NULL # post hoc standardize only works for fixed effects... @@ -343,7 +343,7 @@ ci.merMod <- function(x, iterations = 500, ...) { method <- tolower(method) - method <- match.arg(method, choices = c( + method <- insight::validate_argument(method, c( "wald", "ml1", "betwithin", "kr", "satterthwaite", "kenward", "boot", "profile", "residual", "normal" @@ -379,7 +379,7 @@ standard_error.merMod <- function(model, vcov_args = NULL, ...) { dots <- list(...) - effects <- match.arg(effects, choices = c("fixed", "random")) + effects <- insight::validate_argument(effects, c("fixed", "random")) if (effects == "random") { out <- .standard_errors_random(model) diff --git a/R/utils.R b/R/utils.R index 4725b710e..cb58d4e3e 100644 --- a/R/utils.R +++ b/R/utils.R @@ -220,6 +220,7 @@ ifnotfound } + .deprecated_warning <- function(old, new, verbose = TRUE) { if (verbose) { insight::format_warning(paste0( diff --git a/man/simulate_model.Rd b/man/simulate_model.Rd index e0a6a25a3..239417538 100644 --- a/man/simulate_model.Rd +++ b/man/simulate_model.Rd @@ -10,7 +10,7 @@ simulate_model(model, iterations = 1000, ...) \method{simulate_model}{glmmTMB}( model, iterations = 1000, - component = c("all", "conditional", "zi", "zero_inflated", "dispersion"), + component = "all", verbose = FALSE, ... )