Principal Components Analysis
Efficient computation of a truncated principal components analysis of a given data matrix
using an implicitly restarted Lanczos method from the irlba
package.
prcomp_irlba(x, n = 3, retx = TRUE, center = TRUE, scale. = FALSE, ...)
x |
a numeric or complex matrix (or data frame) which provides the data for the principal components analysis. |
n |
integer number of principal component vectors to return, must be less than
|
retx |
a logical value indicating whether the rotated variables should be returned. |
center |
a logical value indicating whether the variables should be
shifted to be zero centered. Alternately, a centering vector of length
equal the number of columns of |
scale. |
a logical value indicating whether the variables should be
scaled to have unit variance before the analysis takes place.
The default is The value of |
... |
additional arguments passed to |
A list with class "prcomp" containing the following components:
sdev the standard deviations of the principal components (i.e., the square roots of the eigenvalues of the covariance/correlation matrix, though the calculation is actually done with the singular values of the data matrix).
rotation the matrix of variable loadings (i.e., a matrix whose columns contain the eigenvectors).
x if retx
is TRUE
the value of the rotated data (the centred
(and scaled if requested) data multiplied by the rotation
matrix) is returned. Hence, cov(x)
is the diagonal matrix
diag(sdev^2)
.
center, scale the centering and scaling used, or FALSE
.
The signs of the columns of the rotation matrix are arbitrary, and so may differ between different programs for PCA, and even between different builds of R.
NOTE DIFFERENCES WITH THE DEFAULT prcomp
FUNCTION!
The tol
truncation argument found in prcomp
is not supported.
In place of the truncation tolerance in the original function, the
prcomp_irlba
function has the argument n
explicitly giving the
number of principal components to return. A warning is generated if the
argument tol
is used, which is interpreted differently between
the two functions.
set.seed(1) x <- matrix(rnorm(200), nrow=20) p1 <- prcomp_irlba(x, n=3) summary(p1) # Compare with p2 <- prcomp(x, tol=0.7) summary(p2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.