| stat_chull {ordr} | R Documentation |
Restrict geometric data to boundary points for its convex hull
Description
As used in a ggplot2 vignette, this stat
layer restricts a dataset with x and y variables to the points that lie
on its convex hull. The biplot extension restricts each matrix factor to
its own hull.
Usage
stat_chull(
mapping = NULL,
data = NULL,
geom = "polygon",
position = "identity",
show.legend = NA,
inherit.aes = TRUE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
... |
Additional arguments passed to |
Value
A ggproto layer.
Biplot layers
ggbiplot() uses ggplot2::fortify() internally to produce a single data
frame with a .matrix column distinguishing the subjects ("rows") and
variables ("cols"). The stat layers stat_rows() and stat_cols() simply
filter the data frame to one of these two.
The geom layers geom_rows_*() and geom_cols_*() call the corresponding
stat in order to render plot elements for the corresponding factor matrix.
geom_dims_*() selects a default matrix based on common practice, e.g.
points for rows and arrows for columns.
Ordination aesthetics
The convenience function ord_aes() can be used to incorporate all
coordinates of the ordination model into a statistical transformation. It
maps the coordinates to the custom aesthetics ..coord1, ..coord2, etc.
Some transformations, e.g. stat_center(), are commutative with projection
to the 'x' and 'y' coordinates. If they detect aesthetics of the form
..coord[0-9]+, then ..coord1 and ..coord2 are converted to x and y
while any remaining are ignored.
Other transformations, e.g. stat_spantree(), yield different results in a
planar biplot when they are computer before or after projection. If such a
stat layer detects these aesthetics, then the lot of them are used in the
transformation.
In either case, the stat layer returns a data frame with position aesthetics
x and y.
See Also
Other stat layers:
stat_center(),
stat_cone(),
stat_scale(),
stat_spantree()
Examples
# correspondence analysis of combined female and male hair and eye color data
HairEyeColor %>%
rowSums(dims = 2L) %>%
MASS::corresp(nf = 2L) %>%
as_tbl_ord() %>%
augment_ord() %>%
print() -> hec_ca
# inertia across artificial coordinates (all singular values < 1)
get_inertia(hec_ca)
# in row-principal biplot, row coordinates are weighted averages of columns
hec_ca %>%
confer_inertia("rows") %>%
ggbiplot(aes(color = .matrix, fill = .matrix, shape = .matrix)) +
theme_bw() +
stat_cols_chull(alpha = .1) +
geom_cols_point() +
geom_rows_point() +
ggtitle("Row-principal CA of hair & eye color")
# in column-principal biplot, column coordinates are weighted averages of rows
hec_ca %>%
confer_inertia("cols") %>%
ggbiplot(aes(color = .matrix, fill = .matrix, shape = .matrix)) +
theme_bw() +
stat_rows_chull(alpha = .1) +
geom_rows_point() +
geom_cols_point() +
ggtitle("Column-principal CA of hair & eye color")