sortLoadings: [!+] Process (Sort, flip, name, etc.) spectra of components...

View source: R/sortLoadings.R

sortLoadingsR Documentation

[!+] Process (Sort, flip, name, etc.) spectra of components (a.k.a. loadings)

Description

Sort rows of hyperSpoec object by possition of maximum value in rows (in other words, sort component spectra, a.k.a. loadings, by possition of top peak) and do additional tasks:

  1. If sp is provided, convert resulting matrix to corresponding hyperSpec object by using function decomposition.

  2. If PCA.flip = TRUE and sp is provided, flip the loadings of a component in respect with x axis if the mean of the component's scores is negative: (sign(mean(Scores_of_component_i)) < 0) loadings and sp are used to calculate the scores.

Usage

sortLoadings(
  loadings,
  sp = NULL,
  PCA.flip = FALSE,
  sort = TRUE,
  label.spc = "Comp. spectra",
  wl.units = "nm"
)

Arguments

loadings

Components' spectra (loadings) as either a matrix or a hyperSpec object.

sp

hyperSpec object.

PCA.flip

Logical. If TRUE, some components are flipped. Set to TRUE if PCA loadings are used. Default PCA.flip = FALSE. The flipping follows the rule:

loading_i * (-score_i) = (-loading_i) * score_i

where -loading_i represents the i-th flipped loading.

sort

Logical. Indicates if returned componenst must be sorted. If FALSE, only additional tasks are performed. Default is TRUE.

label.spc

The new label for the matrix of loadings spectra. Default is "Comp. spectra".

wl.units

The units of wavelength axis. Will be used as suffix to values in columns cNames and PeakAt, if applicable.

Value

Either matrix (if sp is not provided) or hyperSpec object with prepreocessed (sorted, flipped, named, etc.) loadings. In case of hyperSpec object, 3 columns (cNames and PeakAt, order.of.rows) are added/overwritten.

Note

spectra (object of class hyperSpec) which will be used to convert sorted loadings into hyperSpec object.

Author(s)

Vilmantas Gegzna

See Also

decomposition

Other component analysis / factorisation related functions in spHelper: getScores(), infoDim(), plot_spDiff(), qplot_infoDim(), qplot_kAmp(), qplot_kSp(), qplot_spc(), reconstructSp(), unipeak(), whichOutlier()

Examples

# Load data
library(spHelper)
data(Loadings2,package = "spHelper")

# ======================================================================
unsorted_loadings <- Loadings2[c(2,3,5,1,4),,]
unsorted_loadings # print unsorted

sortLoadings(unsorted_loadings) # print sorted

# ======================================================================

# Extract loadings as a matrix:
unsorted_loadings_matrix <- Loadings2[c(2,3,5,1,4),,][[]]

# returns a matrix -----
L1 <- sortLoadings(unsorted_loadings_matrix)
class(L1)
## [1] "matrix"

# returns a hyperSpec object -----
L2 <- sortLoadings(unsorted_loadings_matrix, Spectra2)
class(L2)
## [1] "hyperSpec"
# ======================================================================

GegznaV/spHelper documentation built on April 16, 2023, 1:42 p.m.