Nothing
#' Is an input an integer valued numeric (needed to validate inputs)
#'
#' This internal function is a small helper used to validate inputs in functions
#'
#' @param .x An input that is checked to see whether it is an interger valued numeric
#' @return A logical
#' @noRd
is_integer_valued <- function(.x) {
# Check if the input is numeric
if (is.numeric(.x)) {
# Further check if the numeric input is effectively an integer
if (.x == as.integer(.x)) {
return(TRUE)
} else {
return(FALSE)
}
} else {
return(FALSE)
}
}
#' Validate Input Conditions for R Functions
#'
#' This internal function validates specified conditions for function inputs and stops the function execution if any condition is not met. It uses a named vector of predicates where each name is the error message associated with the predicate condition.
#'
#' @param .predicates A named vector where each element is a logical condition and the name of each element is the corresponding error message to be displayed if the condition is FALSE.
#' @return None; the function will stop execution and throw an error if a validation fails.
#' @examples
#' validate_inputs(c(
#' "Input must be numeric" = is.numeric(5),
#' "Input must be integer" = 5 == as.integer(5)
#' ))
#' @noRd
validate_inputs <- function(.predicates) {
# Use lapply to iterate over predicates and stop on the first failure
results <- lapply(names(.predicates), function(error_msg) {
if (!.predicates[[error_msg]]) {
stop(error_msg)
}
})
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.