stat_bagplot | R Documentation |
Construct medians, bags, fences, and outlier specifications for bagplots.
stat_bagplot(
mapping = NULL,
data = NULL,
geom = "bagplot",
position = "identity",
fraction = 0.5,
coef = 3,
median = TRUE,
fence = TRUE,
outliers = TRUE,
show.legend = NA,
inherit.aes = TRUE,
...
)
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 for this layer.
When using a
|
position |
A position adjustment to use on the data for this layer. This
can be used in various ways, including to prevent overplotting and
improving the display. The
|
fraction |
Fraction of the data to include in the bag. |
coef |
Scale factor of the fence relative to the bag. |
median , fence , outliers |
Logical indicators whether to include median, fence, and outliers in the composite output. |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
... |
Arguments passed on to
|
A bagplot comprises a single, often filled, depth contour (the "bag") overlaid with the hull of its union with the data points contained in its scaled expansion from the depth median (the "fence") and a scatterplot of outliers beyond the fence (the "loop"). Rousseeuw &al (1999) suggest the term "bag-and-bolster plot" evocative of the "box-and-whisker plot".
While the depth median can be obtained using stat_center()
, the data
depth values used to compute it are also used to demarcate the bag, so it
is implemented separately in StatBagplot$compute_group()
for efficiency.
stat_bagplot()
is designed to pair with geom_bagplot()
, analogously to
the pairing of ggplot2::stat_boxplot()
with ggplot2::geom_boxplot()
. In
particular, GeomBagplot
is the only ggproto
that recognizes the
computed variable component
, used by StatBagplot
to separate data for
the four bagplot elements.
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.
This statistical transformation is compatible with the convenience function
ord_aes()
.
Some transformations (e.g. stat_center()
) commute with projection to the
lower (1 or 2)-dimensional biplot space. 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
lower-dimensional biplot when they are computed before versus after
projection. If the stat layer detects these aesthetics, then the
transformation is performed before projection, and the results in the first
two dimensions are returned as x
and y
.
A small number of transformations (stat_rule()
) are incompatible with
ordination aesthetics but will accept ord_aes()
without warning.
These are calculated during the statistical transformation and can be accessed with delayed evaluation.
component
the component of the composite plot; used internally
Rousseeuw PJ, Ruts I, & Tukey JW (1999) "The Bagplot: A Bivariate Boxplot". The American Statistician, 53(4): 382–387. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/00031305.1999.10474494")}
Other stat layers:
stat_center()
,
stat_chull()
,
stat_cone()
,
stat_depth()
,
stat_projection()
,
stat_rule()
,
stat_scale()
,
stat_spantree()
# petroleum rock base plot
p <- ggplot(rock, aes(area, shape, size = peri)) + theme_bw()
# scatterplot
p + geom_point()
# NB: Non-standard aesthetics are handled as in version > 3.5.1; see:
# https://github.com/tidyverse/ggplot2/issues/6191
# custom bag fraction, coefficient, and aesthetics
p + stat_bagplot(fraction = .4, coef = 1.5,
outlier_gp = list(shape = "asterisk"))
# invisible fence
p + stat_bagplot(fence = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.