DescTools (version 0.99.13)

Some numeric checks: Check a Vector For Being Numeric, Zero Or a Whole Number

Description

Test if x contains only integer numbers, or if is numeric or if it is zero.

Usage

IsWhole(x, tol = .Machine$double.eps^0.5, na.rm = FALSE)
IsZero(x, tol = .Machine$double.eps^0.5, na.rm = FALSE) 
IsNumeric(x, length.arg = Inf, integer.valued = FALSE, positive = FALSE, na.rm = FALSE)

Arguments

x
a (non-empty) numeric vector of data values.
tol
tolerance to be used
length.arg
integer, the length of the vector to be checked for.
integer.valued
logical, should x be checked as integer?
positive
logical, is x supposed to be positive?
na.rm
logical, indicating whether NA values should be stripped before the computation proceeds. Defaults to FALSE.

Value

  • logical vector of the same dimension as x.

Details

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.

See Also

is.integer

Examples

Run this code
(x <- seq(1,5, by=0.5))
IsWhole( x ) #-->  TRUE FALSE 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