Arith: Arithmetical Operators for hyperSpec objects

ArithR Documentation

Arithmetical Operators for hyperSpec objects

Description

Arithmetical Operators: +, -, *, /, ^, %%, %/%, %*% for hyperSpec objects

Usage

## S4 method for signature 'hyperSpec,hyperSpec'
Arith(e1, e2)

## S4 method for signature 'hyperSpec,numeric'
Arith(e1, e2)

## S4 method for signature 'hyperSpec,matrix'
Arith(e1, e2)

## S4 method for signature 'hyperSpec,missing'
Arith(e1, e2)

## S4 method for signature 'numeric,hyperSpec'
Arith(e1, e2)

## S4 method for signature 'matrix,hyperSpec'
Arith(e1, e2)

## S4 method for signature 'hyperSpec,hyperSpec'
x %*% y

## S4 method for signature 'hyperSpec,matrix'
x %*% y

## S4 method for signature 'matrix,hyperSpec'
x %*% y

Arguments

e1, e2

or

x, y

either two hyperSpec objects or

one hyperSpec object and matrix of same size as hyperSpec[[]] or

a vector which length equalling either the number of rows or the number of wavelengths of the hyperSpec object, or

a scalar (numeric of length 1).

Details

The arithmetical operators +, -, *, /, \^, %%, %/%, and %*% for hyperSpec objects.

You can use these operators in different ways:

e1 + e2
`+` (e1, e2)

x %*% y
`%*%`(x, y)

-x 

The arithmetical operators +, -, *, /, ^, %%, %/%, and %*% work on the spectra matrix of the hyperSpec object. They have their usual meaning (see Arithmetic). The operators work also with one hyperSpec object and a numeric object or a matrices of the same size as the spectra matrix of the hyperSpec object.

With numeric vectors sweep is most probably more appropriate.

If you want to calculate on the extra data as well, use the data.frame hyperSpec@data directly or as.data.frame (x).

Value

hyperSpec object with the new spectra matrix.

Author(s)

C. Beleites

See Also

sweep-methods for calculations involving a vector and the spectral matrix.

S4groupGeneric for group generic methods.

Arithmetic for the base arithmetic functions.

Comparison for comparison operators, Math for mathematical group generic functions (Math and Math2 groups) working on hyperSpec objects.

matmult for matrix multiplications with %*%.

Examples

flu + flu
1 / flu
all((flu + flu - 2 * flu)[[]] == 0)
-flu
flu / flu$c

hyperSpec documentation built on May 29, 2024, 7:28 a.m.