Checks if an argument is a numeric vector
assert_numeric_vector(
arg,
length = NULL,
optional = FALSE,
arg_name = rlang::caller_arg(arg),
message = NULL,
class = "assert_numeric_vector",
call = parent.frame()
)
A function argument to be checked
none
Expected length
If the argument is not specified or set to NULL
, any length is accepted.
NULL
Is the checked argument optional? If set to FALSE
and arg
is NULL
then an error is thrown
FALSE
string indicating the label/symbol of the object being checked.
rlang::caller_arg(arg)
string passed to cli::cli_abort(message)
.
When NULL
, default messaging is used (see examples for default messages).
"{arg_name}"
can be used in messaging.
NULL
Subclass of the condition.
The execution environment of a currently running
function, e.g. call = caller_env()
. The corresponding function
call is retrieved and mentioned in error messages as the source
of the error.
You only need to supply call
when throwing a condition from a
helper function which wouldn't be relevant to mention in the
message.
Can also be NULL
or a defused function call to
respectively not display any call or hard-code a code to display.
For more information about error calls, see Including function calls in error messages.
The function throws an error if arg
is not a numeric vector.
Otherwise, the input is returned invisibly.
Checks for valid input and returns warning or errors messages:
assert_atomic_vector()
,
assert_character_scalar()
,
assert_character_vector()
,
assert_data_frame()
,
assert_date_vector()
,
assert_expr()
,
assert_expr_list()
,
assert_filter_cond()
,
assert_function()
,
assert_integer_scalar()
,
assert_list_element()
,
assert_list_of()
,
assert_logical_scalar()
,
assert_named()
,
assert_one_to_one()
,
assert_param_does_not_exist()
,
assert_s3_class()
,
assert_same_type()
,
assert_symbol()
,
assert_unit()
,
assert_vars()
,
assert_varval_list()
example_fun <- function(num) {
assert_numeric_vector(num)
}
example_fun(1:10)
try(example_fun(letters))
#> Error in example_fun(letters) :
#> Argument `num` must be a numeric vector, but it is a character vector.
example_fun <- function(num) {
assert_numeric_vector(num, length = 2)
}
try(example_fun(1:10))
#> Error in example_fun(1:10) :
#> Argument `num` must be a vector of length 2, but has length 10.