princomp and prcomp.## S3 method for class 'cca':
screeplot(x, bstick = FALSE, type = c("barplot", "lines"),
npcs = min(10, if (is.null(x$CCA) || x$CCA$rank == 0) x$CA$rank else x$CCA$rank),
ptype = "o", bst.col = "red", bst.lty = "solid",
xlab = "Component", ylab = "Inertia",
main = deparse(substitute(x)), legend = bstick,
...)## S3 method for class 'decorana':
screeplot(x, bstick = FALSE, type = c("barplot", "lines"),
npcs = 4,
ptype = "o", bst.col = "red", bst.lty = "solid",
xlab = "Component", ylab = "Inertia",
main = deparse(substitute(x)),
...)
## S3 method for class 'prcomp':
screeplot(x, bstick = FALSE, type = c("barplot", "lines"),
npcs = min(10, length(x$sdev)),
ptype = "o", bst.col = "red", bst.lty = "solid",
xlab = "Component", ylab = "Inertia",
main = deparse(substitute(x)), legend = bstick,
...)
## S3 method for class 'princomp':
screeplot(x, bstick = FALSE, type = c("barplot", "lines"),
npcs = min(10, length(x$sdev)),
ptype = "o", bst.col = "red", bst.lty = "solid",
xlab = "Component", ylab = "Inertia",
main = deparse(substitute(x)), legend = bstick,
...)
bstick(n, ...)
## S3 method for class 'default':
bstick(n, tot.var = 1, \dots)
## S3 method for class 'cca':
bstick(n, \dots)
## S3 method for class 'prcomp':
bstick(n, \dots)
## S3 method for class 'princomp':
bstick(n, \dots)
## S3 method for class 'decorana':
bstick(n, \dots)
type == "lines" or bstick = TRUE, a
character indicating the type of plotting used for the lines;
actually any of the types as in plot.default.bstick.default.screeplot draws a plot on the currently active device,
and returns invisibly the xy.coords of the points or
bars for the eigenvalues. Function bstick returns a numeric vector of broken stick
components.
prcomp and princomp. Function bstick gives the brokenstick values which are ordered
random proportions, defined as $p_i = (tot/n) \sum_{x=i}^n
(1/x)$ (Legendre & Legendre 2012), where
$tot$ is the total and $n$ is the number of brokenstick
components (cf. radfit). Broken stick has
been recommended as a stopping rule in principal component analysis
(Jackson 1993): principal components should be retained as long as
observed eigenvalues are higher than corresponding random broken stick
components.
The bstick function is generic. The default needs the number of
components and the total, and specific methods extract this
information from ordination results. There also is a bstick
method for cca. However, the broken stick model is not
strictly valid for correspondence analysis (CA), because eigenvalues
of CA are defined to be $\leq 1$, whereas brokenstick
components have no such restrictions. The brokenstick components are not
available for decorana where the sum of eigenvalues
(total inertia) is unknown, and the eigenvalues of single axes are not
additive in detrended analysis.
Legendre, P. and Legendre, L. (2012) Numerical Ecology. 3rd English ed. Elsevier.
cca, decorana, princomp and
prcomp for the ordination functions, and
screeplot for the stock version.data(varespec)
vare.pca <- rda(varespec, scale = TRUE)
bstick(vare.pca)
screeplot(vare.pca, bstick = TRUE, type = "lines")Run the code above in your browser using DataLab