are_int_ish()
is a vectorized predicate function that checks
whether each element of its input can be safely coerced to an integer
vector.
is_int_ish()
is a scalar predicate function that checks if all elements
of its input can be safely coerced to an integer vector.
Usage
are_int_ish(x, ...)
is_int_ish(x, ...)
# S3 method for class 'character'
are_int_ish(x, ..., coerce_character = TRUE)
# S3 method for class 'factor'
are_int_ish(x, ..., coerce_factor = TRUE)
# Default S3 method
are_int_ish(x, ..., depth = 1)
Arguments
- x
The object to check.
- ...
Arguments passed to methods.
- coerce_character
(length-1 logical)
Should character vectors such as "1" and "2.0" be considered numeric-ish?- coerce_factor
(length-1 logical)
Should factors with values such as "1" and "2.0" be considered numeric-ish? Note that this package uses the character value from the factor, whileas.integer()
andas.double()
use the integer index of the factor.- depth
(length-1 integer)
Current recursion depth. Do not manually set this parameter.
Value
are_int_ish()
returns a logical vector with the same length as the
input. is_int_ish()
returns a length-1 logical
(TRUE
or FALSE
) for
the entire vector.
Examples
are_int_ish(1:4)
#> [1] TRUE TRUE TRUE TRUE
is_int_ish(1:4)
#> [1] TRUE
are_int_ish(c(1.0, 2.0, 3.00000))
#> [1] TRUE TRUE TRUE
is_int_ish(c(1.0, 2.0, 3.00000))
#> [1] TRUE
are_int_ish(c("1.0", "2.0", "3.00000"))
#> [1] TRUE TRUE TRUE
is_int_ish(c("1.0", "2.0", "3.00000"))
#> [1] TRUE
are_int_ish(c(1, 2.2, NA))
#> [1] TRUE FALSE TRUE
is_int_ish(c(1, 2.2, NA))
#> [1] FALSE
are_int_ish(c("1", "1.0", "1.1", "a"))
#> [1] TRUE TRUE FALSE FALSE
is_int_ish(c("1", "1.0", "1.1", "a"))
#> [1] FALSE
are_int_ish(factor(c("1", "a")))
#> [1] TRUE FALSE
is_int_ish(factor(c("1", "a")))
#> [1] FALSE