% 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{Scree Plots}
\usage{
screeplot(x, \dots)
\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}
