princomp {mva}R Documentation

Principal Components Analysis

Description

princomp performs a principal components analysis on the given data matrix and returns the results as an object of class princomp.

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, covmat = NULL,
         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.
scores a logical value indicating whether the score on each principal component should be calculated.
covmat a covariance matrix, or a covariance list as returned by cov.wt, cov.mve or cov.mcd. If supplied, this is used rather than the covariance matrix of x.
subset a vector used to select rows (observations) of the data matrix x.
x, object an object of class "princomp", as from princomp().
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. A preferred method of calculation is to use svd on x, as is done in prcomp.

Note that the default calculation uses divisor N for the covariance matrix.

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.
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 scores = TRUE, the scores of the supplied data on the principal components.
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) # =^= prcomp(USArrests, scale=TRUE)
## Similar, but different:
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)

[Package Contents]