These type predicates aim to make type testing in R more
consistent. They are wrappers around typeof, so
operate at a level beneath S3/S4 etc.
is_list(x)is_atomic(x)
is_vector(x)
is_numeric(x)
is_integer(x)
is_double(x)
is_character(x)
is_logical(x)
is_null(x)
is_function(x)
object to be tested.
Compare to base R functions:
Unlike is.atomic(), is_atomic() does not
return TRUE for NULL.
Unlike is.vector(), is_vector() test if an
object is an atomic vector or a list. is.vector
checks for the presence of attributes (other than name).
is_numeric() is not generic so, (e.g.) dates and date times
are TRUE, not FALSE.
is_function() returns TRUE only for regular
functions, not special or primitive functions.