spectacles (version 0.5-0)

mutate: Mutate a Spectra* object by transforming the spectra values, and/or adding new or replacing existing attributes.

Description

This function is very similar to transform but it executes the transformations iteratively so that later transformations can use the columns created by earlier transformations. Like transform, unnamed components are silently dropped.

Either the spectra, and/or the attributes (if the .data inherits from the SpectraDataFrame class) can be affected:

  • To affect the spectra, one should use the nir placeholder, eg nir = log(1/nir)

  • To affect the attributes of the object, the definitions of new columns are simply given using attributes names, newAttribute = 1/sqrt(attribute)

  • Both spectra and attrbutes can be transformed in one command, eg mutate(s, nir = log(1/nir), newAttribute = 1/sqrt(attribute)

Usage

# S4 method for Spectra
mutate(.data, ...)

Arguments

.data

an object inheriting from the Spectra class

...

named parameters giving definitions of new columns

References

Hadley Wickham (2011). The Split-Apply-Combine Strategy for Data Analysis. Journal of Statistical Software, 40(1), 1-29. URL http://www.jstatsoft.org/v40/i01/.

Examples

Run this code
# NOT RUN {
# Loading example data
data(australia)
spectra(australia) <- sr_no ~ ... ~ 350:2500

# Modifying spectra
m <- mutate(australia, nir = log1p(1/nir))
plot(m)

# Modifying and creating attributes
m <- mutate(australia, sqrt_carbon = sqrt(carbon), foo = clay + ph, nir = log1p(1/nir))
plot(m)
# }

Run the code above in your browser using DataLab