| gf_reduce | R Documentation |
Draws reduction lines from the value a fitted model predicts for each
observation to the grand mean. Squaring and summing those lengths across
observations gives the model sum of squares; gf_resid() supplies the error
term in the same decomposition.
Each line runs along whichever axis the plot puts the model's outcome on,
so a model of the variable drawn on x is measured across x rather than
down y.
gf_reduce(
object = NULL,
gformula = NULL,
data = NULL,
...,
model,
linewidth = 0.2,
xlab,
ylab,
title,
subtitle,
caption,
geom = coursekata::GeomResid,
stat = coursekata::StatReduce,
position = "identity",
show.legend = NA,
show.help = NULL,
inherit = TRUE,
environment = parent.frame()
)
object |
A ggformula plot object, typically created with |
gformula |
Not used. |
data |
Not used. The reductions are measured over the data the plot was
built from. Anything supplied here is left for ggformula and ggplot2 to
answer, exactly as it is for any other |
... |
Additional arguments. Typically these are (a) ggplot2 aesthetics to be set with
|
model |
A model already fit by |
linewidth |
The width of the reduction lines. Default is |
xlab, ylab, title, subtitle, caption |
Labels for the plot. |
geom, stat, position |
Not set by the caller. A reduction is drawn by its own geom and stat, with a jitter that holds the outcome axis still so its segments start at the grand mean without floating off it, while jittering the other axis exactly the points layer's own jitter did. |
show.legend |
Whether this layer contributes to the legend. |
show.help |
Print the layer's own help instead of drawing. |
inherit |
Whether the layer inherits the plot's aesthetics. The axes and
the prediction are stated outright; everything else – a mapped |
environment |
The environment mappings are resolved in. |
The grand mean is the model's own, mean() of the outcome column the model
was fit on, not anything read off the plot's data. On a faceted plot that
is one number for every panel: every panel is measured against the same
line, which is what makes the picture in each panel a piece of one
decomposition rather than a decomposition of its own.
A ggplot object with reduction lines added.
set.seed(1)
penguins_20 <- sample(penguins, 20)
# the reduction: how far a model's fit moves the prediction from the grand
# mean, for a regression model
flipper_model <- lm(body_mass_kg ~ flipper_length_m, data = penguins_20)
gf_point(body_mass_kg ~ flipper_length_m, data = penguins_20) %>%
gf_model(flipper_model) %>%
gf_reduce(flipper_model, color = "blue")
# and for a two-group model on a jitter plot
gentoo_model <- lm(body_mass_kg ~ gentoo, data = penguins_20)
gf_jitter(body_mass_kg ~ gentoo, data = penguins_20, width = .1) %>%
gf_model(gentoo_model) %>%
gf_reduce(gentoo_model, color = "blue")
# each observation's signed deviation from the grand mean is its residual
# (firebrick) plus its reduction (blue)
gf_point(body_mass_kg ~ flipper_length_m, data = penguins_20) %>%
gf_model(flipper_model) %>%
gf_resid(flipper_model, color = "firebrick") %>%
gf_reduce(flipper_model, color = "blue")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.