princomp {mva} | R Documentation |
Principal Components Analysis
Description
princomp
performs a principal components analysis on the given
data matrix and returns the results as a princomp
object.
loadings
extracts the loadings.
screeplot
plots the variances against the number of the
principal component. This is also the plot
method.
Usage
princomp(x, cor = FALSE, scores = TRUE,
subset = rep(TRUE, nrow(as.matrix(x))))
loadings(x)
plot(x, npcs = min(10, length(x$sdev)),
type = c("barplot", "lines"), ...)
screeplot(x, npcs = min(10, length(x$sdev)),
type = c("barplot", "lines"), ...)
print(x,...) summary(object) predict(object,...)
Arguments
x |
a matrix (or data frame) which provides the data for the principal components analysis. |
cor |
a logical value indicating whether the calculation should use the correlation matrix or the covariance matrix. |
score |
a logical value indicating whether the score on each principal component should be calculated. |
subset |
a vector used to select rows (observations) of the
data matrix |
x , object |
an object of class |
npcs |
the number of principal components to be plotted. |
type |
the type of plot. |
... |
graphics parameters. |
Details
The calculation is done using eigen
on the correlation or
covariance matrix, as determined by cor
. This is done for
compatibility with the S-PLUS result (even though alternate forms for
x
—e.g., a covariance matrix—are not supported as they are
in S-PLUS). A preferred method of calculation is to use svd on
x
, as is done in prcomp
.
Note that the scaling of results is affected by the setting of
cor
. If cor
is TRUE
then the divisor in the
calculation of the sdev is N-1, otherwise it is N. This has the
effect that the result is slightly different depending on whether
scaling is done first on the data and cor set to FALSE
, or
done automatically in princomp
with cor = TRUE
.
The print
method for the these objects prints the
results in a nice format and the plot
method produces
a scree plot.
Value
princomp
returns a list with class "princomp"
containing the following components:
sdev |
the standard deviations of the principal components
(i.e., the square roots of the eigenvalues, rescaled by
|
loadings |
the matrix of variable loadings (i.e., a matrix whose columns contain the eigenvectors). |
center |
the means that were subtracted. |
scale |
the scalings applied to each variable. |
n.obs |
the number of observations. |
scores |
if |
call |
the matched call. |
References
Mardia, K. V., J. T. Kent and J. M. Bibby (1979). Multivariate Analysis, London: Academic Press.
Venables, W. N. and B. D. Ripley (1997, 9). Modern Applied Statistics with S-PLUS, Springer-Verlag.
See Also
prcomp
, cor
, cov
,
eigen
.
Examples
## the variances of the variables in the
## USArrests data vary by orders of magnitude
data(USArrests)
(pc.cr <- princomp(USArrests))
princomp(USArrests, cor = TRUE)
princomp(scale(USArrests, scale = TRUE, center = TRUE), cor = FALSE)
summary(pc.cr <- princomp(USArrests))
loadings(pc.cr)
plot(pc.cr) # does a screeplot.
biplot(pc.cr)