NIPALS PCA implemented in R
PCA by non-linear iterative partial least squares
RnipalsPca(Matrix, nPcs = 2, varLimit = 1, maxSteps = 5000, threshold = 1e-06, verbose = interactive(), ...)
Matrix |
Pre-processed (centered, scaled) numerical matrix samples in rows and variables as columns. |
nPcs |
Number of components that should be extracted. |
varLimit |
Optionally the ratio of variance that should be
explained. |
maxSteps |
Defines how many iterations can be done before algorithm should abort (happens almost exclusively when there were some wrong in the input data). |
threshold |
The limit condition for judging if the algorithm has converged or not, specifically if a new iteration is done if (T_{old} - T)^T(T_{old} - T) > \code{limit}. |
verbose |
Show simple progress information. |
... |
Only used for passing through arguments. |
Can be used for computing PCA on a numeric matrix using either the
NIPALS algorithm which is an iterative approach for estimating the
principal components extracting them one at a time. NIPALS can
handle a small amount of missing values. It is not recommended to
use this function directely but rather to use the pca() wrapper
function. There is a C++ implementation given as nipalsPca
which is faster.
A pcaRes
object.
Henning Redestig
Wold, H. (1966) Estimation of principal components and related models by iterative least squares. In Multivariate Analysis (Ed., P.R. Krishnaiah), Academic Press, NY, 391-420.
prcomp
, princomp
, pca
data(metaboliteData) mat <- prep(t(metaboliteData)) ## c++ version is faster system.time(pc <- RnipalsPca(mat, method="rnipals", nPcs=2)) system.time(pc <- nipalsPca(mat, nPcs=2)) ## better use pca() pc <- pca(t(metaboliteData), method="rnipals", nPcs=2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.