| allequal | R Documentation |
Utility to compare two spam objects
testing 'near equality'. Depending on the type of difference, comparison is
still made to some extent, and a report of the differences is
returned.
## S3 method for class 'spam'
all.equal(target, current, tolerance = .Machine$double.eps^0.5,
scale = NULL, check.attributes = FALSE,...)
target |
a |
current |
another |
tolerance |
numeric >= 0. Differences smaller than
|
scale |
numeric scalar > 0 (or |
check.attributes |
currently not yet implemented. |
... |
Further arguments for different methods. |
Numerical comparisons for scale = NULL (the default) are
typically on a relative difference scale unless the
target values are close to zero or infinite. Specifically,
the scale is computed as the average absolute value of target.
If this scale is finite and exceeds tolerance, differences
are expressed relative to it; otherwise, absolute differences are used.
If scale is numeric (and positive), absolute comparisons are
made after scaling (dividing) by scale. Note that if all of
scale is sufficiently close to 1 (specifically, within tolerance),
the difference is still reported as being on an absolute scale.
Do not use all.equal.spam directly in if
expressions: either use isTRUE( all.equal.spam(...)) or
identical if appropriate.
Cholesky decomposition routines use this function to test for symmetry.
A method for matrix-spam objects is defined as well.
There is the additional catch of a zero matrix being represented by one zero element, see ‘Examples’ below.
Either TRUE or a vector of 'mode' "character" describing the
differences between target and current.
Reinhard Furrer
isSymmetric.spam and cleanup.
obj <- diag.spam(2)
obj[1,2] <- .Machine$double.eps
all.equal( diag.spam(2), obj)
all.equal( t(obj), obj)
all.equal( t(obj), obj*1.1)
# We can compare a spam to a matrix
all.equal(diag(2),diag.spam(2))
# the opposite does often not make sense,
# hence, it is not implemented.
all.equal(diag.spam(2),diag(2))
# A zero matrix contains one element:
str(spam(0))
# hence
all.equal.spam(spam(0,3,3), diag.spam(0,3) )
norm(spam(0,3,3) - diag.spam(0,3) )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.