

   PPrriinncciippaall CCoommppoonneennttss AAnnaallyyssiiss

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

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

   AArrgguummeennttss::

          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 covari-
             ance 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 `prin-
             comp()'.

   DDeessccrriippttiioonn::

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

   DDeettaaiillss::

        The calculation is done using `eigen' on the correla-
        tion 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 covari-
        ance 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.

   VVaalluuee::

        `princomp' returns a list with class `"princomp"' con-
        taining 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.

   RReeffeerreenncceess::

        Mardia, K. V., J. T. Kent and J. M. Bibby (1979).  Mul-
        tivariate Analysis, London: Academic Press.

        Venables, W. N. and B. D. Ripley (1997).  Modern
        Applied Statistics with S-Plus, Springer-Verlag.

   SSeeee AAllssoo::

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

   EExxaammpplleess::

        ## 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)

