prcomp {mva} | R Documentation |

Performs a principal components analysis on the given data matrix
and returns the results as an object of class `prcomp`

.

prcomp(x, retx = TRUE, center = TRUE, scale. = FALSE, tol = NULL)

`x` |
a numeric or complex matrix (or data frame) which provides the data for the principal components analysis. |

`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 vector of
length equal the number of columns of `x` can be supplied.
The value is passed to `scale` . |

`scale.` |
a logical value indicating whether the variables should
be scaled to have unit variance before the analysis takes
place. The default is `FALSE` for consistency with S, but
in general scaling is advisable. Alternately, a vector of length
equal the number of columns of `x` can be supplied. The
value is passed to `scale` . |

`tol` |
a value indicating the magnitude below which components
should be omitted. (Components are omitted if their
standard deviations are less than or equal to `tol` times the
standard deviation of the first component.)
With the default null setting, no components
are omitted. Other settings for tol could be `tol = 0` or
`tol = sqrt(.Machine$double.eps)` , which would omit
essentially constant components. |

The calculation is done by a singular value decomposition of the
(centered and scaled) data matrix, not by using `eigen`

on the
covariance matrix. This
is generally the preferred method for numerical accuracy. The
`print`

method for the these objects prints the results in a nice
format and the `plot`

method produces a scree plot.

If the input has more variables than units then `La.svd`

is used, and the results may differ in sign from versions prior to 1.7.0.

`prcomp`

returns an 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). The function
`princomp` returns this in the element `loadings` . |

`x` |
if `retx` is true the value of the rotated data (the
data multiplied by the `rotation` matrix) is returned. |

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**.

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
*The New S Language*.
Wadsworth & Brooks/Cole.

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.

`princomp`

, `cor`

, `cov`

,
`svd`

, `eigen`

.

## the variances of the variables in the ## USArrests data vary by orders of magnitude, so scaling is appropriate data(USArrests) prcomp(USArrests) # inappropriate prcomp(USArrests, scale = TRUE) plot(prcomp(USArrests)) summary(prcomp(USArrests, scale = TRUE))