Learn R Programming

alsace (version 1.8.0)

components: Functions to assess and refine ALS components

Description

One of the inherent drawbacks of the MCR-ALS method is that in the vast majority of cases there is no one unique set of components describing the data, a situation known as "rotational ambiguity". This implies that in some cases a spectrum of a chemical compound can be described by a linear combination of two ALS components. This can sometimes be recognised by looking at elution profiles. In addition, in cases where the number of components is too large, some components may only describe noise or very small and irrelevant features. The functions clarified here allow one to find which components only correspond with minor features, to remove components, and to merge components.

Usage

smallComps(obj, Ithresh) removeComps(obj, toRemove, ...) combineComps(obj, compList, ...) suggestCompCombis(obj, indices, Ithresh = 0, corthresh = 0.9, clusterHeight = 0.6)

Arguments

obj
The R object containing the als model
Ithresh
Intensity cutoff: all components with a maximal intensity (in the elution profiles) below this value will be termed "small".
toRemove
The indices of the components to remove from the ALS model. A new call to doALS will be done with the smaller set of components.
...
Additional arguments to doALS, e.g. maxiter = 1 if no full set of iterations is required.
compList
A list indicating which components need to be combined. Using list(c(1, c(2, 3), 4)) will lead to a three-component model, where components 1 and 4 are unchanged and components 2 and 3 are combined.
indices
A list indicating in which (groups of) samples correlations will be calculated. See details.
corthresh
Correlation threshold: components with elution profiles showing a higher correlation than this threshold may be candidates for merging.
clusterHeight
Similarity threshold at which to cut the dendrogram (see details).

Value

removeComps and combineComps return ALS objects with fewer components than the original object. Function smallComps returns a list of two elements:
smallComps
the indices of the small components
maxCvalues
the maximal values found in the concentration profiles across all samples for each of the components.

Details

Function suggestCompCombis checks correlations in elution profiles that could point to a situation where one chemical compound is described by two or more ALS components. For every sample in which this correlation is higher than the threshold, a "hit" will be recorded for these two components. After checking all samples and all combinations, the hit matrix will be used as a similarity measure in a hierarchical clustering. The dendrogram will be cut at a specific height, leading to groups of components, sometimes containing more than one element. In such a case, these components could be considered for merging.

If injections of pure standards are present, they probably should not be used in isolation to check for coelution; rather, suggestions for combined components can be validated looking at the elution profiles of the standards.

Examples

Run this code
data(tea)
new.lambdas <- seq(260, 500, by = 2)
tea <- lapply(tea.raw, preprocess)
tea.split <- splitTimeWindow(tea, c(12, 14), overlap = 10)

Xl <- tea.split[[3]]
Xl.opa <- opa(Xl, 10)

Xl.als <- doALS(Xl, Xl.opa)
smallC <- smallComps(Xl.als, 5)
smallC

Xl.als2 <- removeComps(Xl.als, smallC$smallC)
summary(Xl.als)
summary(Xl.als2)
## smaller models, but with a higher fit error...

## another way to decrease the number of components, this example
## not particularly deep, just to show how it can be done:
Xl.als3 <- combineComps(Xl.als, list(1, 2, 3:4, 5, c(6, 10), 6, 7:9))
summary(Xl.als3)

Run the code above in your browser using DataLab