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")
)
```

- e1, e2
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.- target, current
two

`hyperSpec`

objects that are tested for equality.- ...
handed to

`base::all.equal()`

when testing the slots of the`hyperSpec`

objects- check.attributes, check.names
- check.column.order
If two objects have the same data, but the order of the columns (determined by the names) differs, should they be regarded as different?

- check.label
Should the slot

`label`

be checked?

If the labels differ only in the order of their entries, they are considered equal.- tolerance, wl.tolerance
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
```