approxeq {cgwtools} | R Documentation |
Do "fuzzy" equality and return a logical vector.
Description
This function compares two vectors (or arrays) of values and returns the near-equality status of corresponding elements. As with all.equal()
, the intent is primarily to get around machine limits of representation of floating-point numbers. For integer comparison, just use the base ==
operator.
Usage
approxeq(x, y, tolerance = .Machine$double.eps^0.5, ...)
Arguments
x , y |
The two input items, typically vectors or arrays of data. |
tolerance |
Set the precision to which |
... |
Not used at this time. |
Details
If x
and y
are of different lengths, the shorter one is recycled and a warning issued.
Value
A vector of the same length as the longer of x
or y
, consisting of TRUE
and FALSE
elements, depending on whether the corresponding elements of x
and y
are within the approximate equality precision desired.
Author(s)
Carl Witthoft, carl@witthoft.com
See Also
all.equal
, Comparison
, identical
Examples
x<-1:10
y<-x+runif(10)*1e-6
approxeq(x,y) #all FALSE
approxeq(x,y,tolerance=1e-5) #mostly TRUE, probably