The comparison operators >
, <
, >=
, <=
, ==
, and !=
for hyperSpec
objects.
all.equal()
checks the equality of two hyperSpec
objects.
The comparison operators >
, <
, >=
, <=
, ==
, and !=
work on the
spectra matrix of the hyperSpec
object. They have their usual meaning
(see base::Comparison()
).
The operators work also with one hyperSpec
object and a numeric
(scalar) object or a matrices of the same size as the spectra matrix of the
hyperSpec
object.
With numeric vectors sweep()
might be more appropriate.
If you want to calculate on the data.frame
hyperSpec@data
,
you have to do this directly on hyperSpec@data
.
# S4 method for hyperSpec,hyperSpec
Compare(e1, e2)
# S4 method for hyperSpec,numeric
Compare(e1, e2)
# S4 method for hyperSpec,matrix
Compare(e1, e2)
# S4 method for numeric,hyperSpec
Compare(e1, e2)
# S4 method for matrix,hyperSpec
Compare(e1, e2)
# S4 method for hyperSpec,hyperSpec
all.equal(
target,
current,
...,
check.attributes = FALSE,
check.names = FALSE,
check.column.order = FALSE,
check.label = FALSE,
tolerance = hy_get_option("tolerance"),
wl.tolerance = hy_get_option("wl.tolerance")
)
Either two hyperSpec
objects or one hyperSpec
object and
matrix of same size as hyperSpec[[]]
or a scalar
(numeric of length 1).
As hyperSpec
objects must have numeric spectra matrices, the
resulting matrix of the comparison is returned directly.
two hyperSpec
objects that are tested for
equality.
handed to base::all.equal()
when testing the slots of the
hyperSpec
objects
If two objects have the same data, but the order of the columns (determined by the names) differs, should they be regarded as different?
Should the slot label
be checked?
If the labels differ only in the order of their entries, they are
considered equal.
tolerances for checking wavelengths and data, respectively
A logical matrix
for the comparison operators.
all.equal
returns either TRUE
, or a character vector describing
the differences. In conditions, the result must therefore be tested
with base::isTRUE()
.
sweep-methods()
for calculations involving a vector and
the spectral matrix.
methods::S4groupGeneric()
for group generic methods.
base::Comparison()
for the base comparison functions.
Arith()
for arithmetic operators,
Math()
for mathematical group generic functions
(groups Math and Math2) working on hyperSpec
objects.
flu[, , 445 ~ 450] > 300
#> 445 445.5 446 446.5 447 447.5 448 448.5 449 449.5 450
#> [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#> [3,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#> [4,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#> [5,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#> [6,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
all(flu == flu[[]])
#> [1] TRUE