These type predicates aim to make type testing in R more
consistent. They are wrappers around base::typeof(), so operate
at a level beneath S3/S4 etc.
is_list(x, n = NULL) is_atomic(x, n = NULL) is_vector(x, n = NULL) is_integer(x, n = NULL) is_double(x, n = NULL, finite = NULL) is_character(x, n = NULL, encoding = NULL) is_logical(x, n = NULL) is_raw(x, n = NULL) is_bytes(x, n = NULL) is_null(x)
| x | Object to be tested. |
|---|---|
| n | Expected length of a vector. |
| finite | Whether all values of the vector are finite. The
non-finite values are |
| encoding | Defunct as of rlang 0.4.0. |
Compared to base R functions:
The predicates for vectors include the n argument for
pattern-matching on the vector length.
Unlike is.atomic(), is_atomic() does not return TRUE for
NULL.
Unlike is.vector(), is_vector() tests if an object is an
atomic vector or a list. is.vector checks for the presence of
attributes (other than name).