## Principal Components Analysis

## Usage

    princomp(x, cor = FALSE, scores = TRUE,
             subset = rep(TRUE, nrow(as.matrix(x))))

    print(obj,...)  summary(obj)  plot(obj,...)  predict(obj,...)

## 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`.
`obj` | an object of class `"princomp"`, as from `princomp()`.

## Description

Performs a principal components analysis on the given data matrix and returns the results as a `princomp` object.

## Details

The calculation is done using `eigen` on the correlation or covariance matrix, as determined by `cor`. This is done for compatibility with the Splus result (even though alternate forms for `x`—e.g., a covariance matrix—are not supported as they are in Splus). 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:

`var` | the variances of the principal components (i.e., the eigenvalues)
`load` | the matrix of variable loadings (i.e., a matrix whose columns contain the eigenvectors).
`scale` | the value of the `scale` argument.

## 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). Modern Applied Statistics with S-Plus, Springer-Verlag.

## See Also

`prcomp`, `cor`, `cov`, `eigen`.

## Examples

    ## the variances of the variables in the
    ## crimes data vary by orders of magnitude
    data(crimes)
    (pc.cr <- princomp(crimes))
    princomp(crimes, cor = TRUE)
    princomp(scale(crimes, scale = TRUE, center = TRUE), cor = FALSE)

    summary(pc.cr <- princomp(crimes))
    loadings(pc.cr)
    plot(pc.cr)
    biplot(pc.cr)

[Package Contents]