
Last chance! 50% off unlimited learning
Sale ends in
Test if x contains only integer numbers, or if is numeric or if it is zero.
IsWhole(x, all = FALSE, tol = sqrt(.Machine$double.eps), na.rm = FALSE)
IsZero(x, tol = sqrt(.Machine$double.eps), na.rm = FALSE)
IsNumeric(x, length.arg = Inf, integer.valued = FALSE, positive = FALSE, na.rm = FALSE)
a (non-empty) numeric vector of data values.
logical, specifying if the whole vector should be checked. If set to TRUE
the function will
return the result of all(IsWhole(x))
.
tolerance to be used
integer, the length of the vector to be checked for.
logical, should x be checked as integer?
logical, is x supposed to be positive?
logical, indicating whether NA
values should be stripped before the computation proceeds. Defaults to FALSE
.
logical vector of the same dimension as x.
IsWhole is the suggested solution for checking for an integer value, as is.integer
tests for class(x) == "integer"
and does NOT test whether x (which might be of class "numeric") contains only integer numbers.
(Why not simply implement it in base?)
IsZero tests float numeric values for being zero.
IsNumeric combines a test for numeric and integers.
# NOT RUN {
(x <- seq(1,5, by=0.5))
IsWhole( x ) #--> \code{TRUE} \code{FALSE} \code{TRUE} ...
# ... These are people who live in ignorance of the Floating Point Gods.
# These pagans expect ... (Burns, 2011)" the following to be TRUE:
(.1 - .3 / 3) == 0
# they might be helped by
IsZero(.1 - .3 / 3)
# }
Run the code above in your browser using DataLab