Checks if an argument is an object inheriting from the S3 class specified.
Arguments
- arg
A function argument to be checked
- class
The S3 class to check for
- optional
Is the checked argument optional? If set to
FALSE
andarg
isNULL
then an error is thrown
Value
The function throws an error if arg
is an object which does not inherit from class
.
Otherwise, the input is returned invisibly.
See also
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_list()
,
assert_expr()
,
assert_filter_cond()
,
assert_function_param()
,
assert_function()
,
assert_has_variables()
,
assert_integer_scalar()
,
assert_list_element()
,
assert_list_of()
,
assert_logical_scalar()
,
assert_named_exprs()
,
assert_named()
,
assert_numeric_vector()
,
assert_one_to_one()
,
assert_param_does_not_exist()
,
assert_same_type()
,
assert_symbol()
,
assert_unit()
,
assert_vars()
,
assert_varval_list()
Examples
example_fun <- function(obj) {
assert_s3_class(obj, "factor")
}
example_fun(as.factor(letters))
try(example_fun(letters))
#> Error in assert_s3_class(obj, "factor") :
#> `obj` must be an object of class 'factor' but is a character vector
try(example_fun(1:10))
#> Error in assert_s3_class(obj, "factor") :
#> `obj` must be an object of class 'factor' but is an integer vector