nipalsPca {pcaMethods} | R Documentation |
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.
nipalsPca(Matrix, nPcs=2, center=TRUE, completeObs=TRUE, varLimit=1, maxSteps=5000, threshold=1e-6, verbose=interactive(),...)
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. |
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.
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(iris) pcIr <- nipalsPca(iris[,1:4], nPcs=2)