PARAFAC Analysis of a Spectra2D Object
pfacSpectra2D(spectra, parallel = FALSE, setup = FALSE, nfac = 2, ...)
spectra |
An object of S3 class |
parallel |
Logical. Should parallel processing be used?
Unless you love waiting, you should use parallel processing for larger data sets.
If you are working on a shared machine and/or another process (created by you or
another user) might also try to access all or some of the cores in your CPU,
you should be careful to avoid hogging the cores.
|
setup |
Logical. If |
nfac |
Integer. The number of factors/components to compute. |
... |
Additional parameters to be passed to function |
An object of class pfac
and parafac
, modified to include a list
element called $method
which is parafac
.
To get reproducible results you will need to set.seed()
. See the example.
Bryan A. Hanson, DePauw University.
R. Bro "PARAFAC. Tutorial and applications" Chemometrics and Intelligent Laboratory Systems vol. 38 pgs. 149-171 (1997).
A. Smilde, R. Bro and P. Geladi "Multi-way Analysis: Applications in the Chemical Sciences" Wiley (2004).
For other data reduction methods for Spectra2D
objects, see
miaSpectra2D
and popSpectra2D
.
data(MUD1) set.seed(123) res <- pfacSpectra2D(MUD1, parallel = FALSE, nfac = 2) plotScores(MUD1, res, leg.loc = "topright", ellipse = "cls", main = "PARAFAC Score Plot" ) res1 <- plotLoadings2D(MUD1, res, load_lvls = c(1, 5, 10, 15, 25), main = "PARAFAC Comp. 1 Loadings" ) res2 <- plotLoadings2D(MUD1, res, load_lvls = c(1, 5, 10, 15, 25), ref = 2, ref_lvls = seq(5, 35, 5), ref_cols = rep("black", 7), main = "PARAFAC Comp. 1 Loadings + Ref. Spectrum" ) # Selection of loading matrix levels can be aided by the following # Use res1$names to find the index of the loadings inspectLvls(res1, which = 11, ylim = c(0, 50), main = "Histogram of Loadings Matrix" )
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.