nipalsPca {pcaMethods}R Documentation

Perform principal component analysis using the Non-linear iterative partial least squares (NIPALS) algorithm.

Description

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.

Usage

nipalsPca(Matrix, nPcs=2, center=TRUE, completeObs=TRUE, varLimit=1, maxSteps=5000, 
  threshold=1e-6, verbose=interactive(),...)

Arguments

Matrix Numerical matrix samples in rows and variables as columns.
nPcs Number of components that should be extracted.
center Mean center the data column wise if set TRUE
completeObs Return the estimated complete observations. This is the input Matrix with NA values replaced by the estimated values.
varLimit Optionally the ratio of variance that should be explained. nPcs is ignored if varLimit < 1
maxSteps Defines how many iterations can be done before the 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) > limit.
verbose Show simple progress information.
... Only used for passing through arguments.

Details

This method is quite slow what may lead to very long computation times when used on larger matrices. The power in missing value imputation is also quite disputable.

Value

A pcaRes object.

Author(s)

Henning Redestig

References

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.

See Also

prcomp, princomp, pca

Examples

data(iris)
pcIr <- nipalsPca(iris[,1:4], nPcs=2)

[Package pcaMethods version 1.18.0 Index]