ggscreeplot | R Documentation |
Produces scree plots (Cattell, 1966) of the variance proportions explained by each dimension against dimension number from various PCA-like dimension reduction techniques.
ggscreeplot(
pcobj,
type = c("pev", "cev"),
size = 4,
shape = 19,
color = "black",
linetype = 1,
linewidth = 1
)
pcobj |
an object returned by |
type |
the type of scree plot, one of |
size |
point size |
shape |
shape of the points. Default: 19, a filled circle. |
color |
color for points and line. Default: |
linetype |
type of line |
linewidth |
width of line |
A ggplot2 object with the aesthetics x = PC, y = yvar
Cattell, R. B. (1966). The Scree Test For The Number Of Factors. Multivariate Behavioral Research, 1, 245–276.
data(wine)
wine.pca <- prcomp(wine, scale. = TRUE)
ggscreeplot(wine.pca)
# show horizontal lines for 80, 90% of cumulative variance
ggscreeplot(wine.pca, type = "cev") +
geom_hline(yintercept = c(0.8, 0.9), color = "blue")
# Make a fancy screeplot, higlighting the scree starting at component 4
data(crime)
crime.pca <-
crime |>
dplyr::select(where(is.numeric)) |>
prcomp(scale. = TRUE)
(crime.eig <- crime.pca |>
broom::tidy(matrix = "eigenvalues"))
ggscreeplot(crime.pca) +
stat_smooth(data = crime.eig |> dplyr::filter(PC>=4),
aes(x=PC, y=percent), method = "lm",
se = FALSE,
fullrange = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.