These predicates check whether R considers a number vector to be
integer-like, according to its own tolerance check (which is in
fact delegated to the C library). This function is not adapted to
data analysis, see the help for
base::is.integer() for examples
of how to check for whole numbers.
Things to consider when checking for integer-like doubles:
This check can be expensive because the whole double vector has to be traversed and checked.
Large double values may be integerish but may still not be
coercible to integer. This is because integers in R only support
values up to
2^31 - 1 while numbers stored as double can be
is_integerish(x, n = NULL, finite = NULL) is_bare_integerish(x, n = NULL, finite = NULL) is_scalar_integerish(x, finite = NULL)
Object to be tested.
Expected length of a vector.
Whether all values of the vector are finite. The
non-finite values are
is_bare_numeric() for testing whether an object is a
base numeric type (a bare double or integer vector).
is_integerish(10L)#>  TRUEis_integerish(10.0)#>  TRUEis_integerish(10.0, n = 2)#>  FALSEis_integerish(10.000001)#>  FALSEis_integerish(TRUE)#>  FALSE