% File src/library/stats/man/screeplot.Rd
% Part of the R package, https://www.R-project.org
% Copyright 1995-2007 R Core Team
% Distributed under GPL 2 or later

\name{screeplot}
\alias{screeplot}
\alias{screeplot.default}
\title{Screeplots}
\usage{
\method{screeplot}{default}(x, npcs = min(10, length(x$sdev)),
          type = c("barplot", "lines"),
          main = deparse1(substitute(x)), \dots)
}
\arguments{
  \item{x}{an object containing a \code{sdev} component, such as that
    returned by \code{\link{princomp}()} and \code{\link{prcomp}()}.}
  \item{npcs}{the number of components to be plotted.}
  \item{type}{the type of plot.  Can be abbreviated.}
  \item{main, \dots}{graphics parameters.}
}
\description{
  \code{screeplot.default} plots the variances against the number of the
  principal component. This is also the \code{plot} method for classes
  \code{"princomp"} and \code{"prcomp"}.
}
\references{
  Mardia, K. V., J. T. Kent and J. M. Bibby (1979).
  \emph{Multivariate Analysis}, London: Academic Press.

  Venables, W. N. and B. D. Ripley (2002).
  \emph{Modern Applied Statistics with S}, Springer-Verlag.
}
\seealso{
  \code{\link{princomp}} and \code{\link{prcomp}}.
}
\examples{
require(graphics)

## The variances of the variables in the
## USArrests data vary by orders of magnitude, so scaling is appropriate
(pc.cr <- princomp(USArrests, cor = TRUE))  # inappropriate
screeplot(pc.cr)

fit <- princomp(covmat = Harman74.cor)
screeplot(fit)
screeplot(fit, npcs = 24, type = "lines")
}
\keyword{multivariate}
