all.equal {base} | R Documentation |
Test if Two Objects are (Nearly) Equal
Usage
all.equal(target, current, ...)
all.equal.numeric(target, current,
tolerance= .Machine$double.eps ^ 0.5, scale=NULL)
Arguments
target |
R object. |
current |
other R object, to be compared with |
... |
Further arguments for different methods, notably the following two, for numerical comparison: |
tolerance |
numeric |
scale |
numeric scalar > 0 (or |
all.equal(x,y)
is a utility to compare R objects x
and y
testing “near equality”. If they are different,
comparison is still made to some extent, and a report of the
differences is returned.
There are several methods available, most of which are dispatched by
the default method, see methods("all.equal")
.
all.equal.list
and all.equal.language
provide
comparison of recursive objects.
Numerical comparison is done using averge (mean
)
relative error, unless scale
is used or when the
absolute difference is less than tolerance
.
For complex arguments, Mod
of difference is used.
attr.all.equal
is used for comparing
attributes
, returning NULL
or character
.
Either TRUE
or a vector of mode
"character"
describing the differences between target
and current
.
Numerical differences are reported by relative error
==
, and all
for exact equality testing.
all.equal(pi, 355/113) # not precise enough (default tol) > relative error
stopifnot( all.equal(gamma(2:14), cumprod(1:13))) # TRUE, but
all (gamma(2:14) == cumprod(1:13)) # FALSE, since not exactly all.equal(gamma(2:14), cumprod(1:13), tol=0) # to see difference
all.equal(options(), .Options) all.equal(options(), as.list(.Options))# TRUE .Options $ myopt <- TRUE all.equal(options(), as.list(.Options)) rm(.Options) utilities logic arith