approxeq: Do "fuzzy" equality and return a logical vector.

Description Usage Arguments Details Value Author(s) See Also Examples

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

1
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 abs(x[j] - y[j]) will be compared. The default argument provided is the R-standard value for floats.

...

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

1
2
3
4
x<-1:10
y<-x+runif(10)*1e-6
approxeq(x,y) #all FALSE
approxeq(x,y,tolerance=1e-5) #mostly TRUE, probably


Search within the cgwtools package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.