Check class inheritance
check_inherits.RdCheck if arg inherits from any of the classes in class.
Arguments
- arg
(object)
The argument to check.- class
(Character)
A character vector of class names.argpasses if it inherits from at least one of these classes, followingbase::inherits()semantics.- signal
(string:
c("error", "warning", "message"))
Must be one of"error","warning", or"message"."error"(default) callsbase::stop()to signal an error message."warning"callsbase::warning()to signal a warning message."message"callsbase::message()to signal a message.- msg
(string or
NULL:NULL)
A string that replaces the default message. Set asNULLto use the default message.- call.
(Scalar logical:
c(FALSE, TRUE))
Passed tostop()orwarning(). The defaultmsgincludes it's own formatted call, hencecall.should beFALSE(default). If you insert your ownmsg, then you may wantcall. = TRUE.
See also
Other check_type:
check_atomic(),
check_character(),
check_data_frame(),
check_data_frame_or_matrix(),
check_date(),
check_date_or_datetime(),
check_datetime(),
check_double(),
check_factor(),
check_flag(),
check_formula(),
check_function(),
check_function_or_numeric(),
check_integer(),
check_list(),
check_logical(),
check_matrix(),
check_named(),
check_nonempty_string(),
check_nonmissing(),
check_numeric(),
check_numeric_or_logical(),
check_probability(),
check_real(),
check_scalar_character(),
check_scalar_date(),
check_scalar_datetime(),
check_scalar_double(),
check_scalar_factor(),
check_scalar_integer(),
check_scalar_logical(),
check_scalar_numeric(),
check_scalar_probability(),
check_scalar_whole_number(),
check_scalar_whole_numeric(),
check_string(),
check_table(),
check_valid(),
check_valid_numeric(),
check_whole_number(),
check_whole_numeric()
Examples
#----------------------------------------------------------------------------
# check_inherits() examples
#----------------------------------------------------------------------------
library(bkcheck)
f <- function(x) {
x |>
check_inherits("data.frame")
}
f(data.frame(a = 1))
try(f(1:2))
#> Error : Argument `x` must be an object of class 'data.frame'.
#>
#> class(x) = 'integer'
#> length(x) = 2
#>
#> Call: f(x = 1:2)
# Pass if `arg` inherits from any one of several classes
g <- function(x) {
x |>
check_inherits(c("Date", "POSIXct"))
}
g(Sys.Date())
g(Sys.time())
try(g(1:2))
#> Error : Argument `x` must be an object of class 'Date' or 'POSIXct'.
#>
#> class(x) = 'integer'
#> length(x) = 2
#>
#> Call: g(x = 1:2)