stat_cross | R Documentation |
Computes statistics of a 2-dimensional matrix using broom::augment.htest.
stat_cross(
mapping = NULL,
data = NULL,
geom = "point",
position = "identity",
...,
na.rm = TRUE,
show.legend = NA,
inherit.aes = TRUE,
keep.zero.cells = FALSE
)
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
Override the default connection with
|
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
|
... |
Other arguments passed on to
|
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
keep.zero.cells |
If |
A ggplot2
plot with the added statistic.
stat_cross()
requires the x and the y aesthetics.
number of observations in x,y
proportion of total
row proportion
column proportion
expected count under the null hypothesis
Pearson's residual
standardized residual
total number of observations within row
total number of observations within column
total number of observations within the table
phi coefficients, see augment_chisq_add_phi()
vignette("stat_cross")
library(ggplot2)
d <- as.data.frame(Titanic)
# plot number of observations
ggplot(d) +
aes(x = Class, y = Survived, weight = Freq, size = after_stat(observed)) +
stat_cross() +
scale_size_area(max_size = 20)
# custom shape and fill colour based on chi-squared residuals
ggplot(d) +
aes(
x = Class, y = Survived, weight = Freq,
size = after_stat(observed), fill = after_stat(std.resid)
) +
stat_cross(shape = 22) +
scale_fill_steps2(breaks = c(-3, -2, 2, 3), show.limits = TRUE) +
scale_size_area(max_size = 20)
# custom shape and fill colour based on phi coeffients
ggplot(d) +
aes(
x = Class, y = Survived, weight = Freq,
size = after_stat(observed), fill = after_stat(phi)
) +
stat_cross(shape = 22) +
scale_fill_steps2(show.limits = TRUE) +
scale_size_area(max_size = 20)
# plotting the number of observations as a table
ggplot(d) +
aes(
x = Class, y = Survived, weight = Freq, label = after_stat(observed)
) +
geom_text(stat = "cross")
# Row proportions with standardized residuals
ggplot(d) +
aes(
x = Class, y = Survived, weight = Freq,
label = scales::percent(after_stat(row.prop)),
size = NULL, fill = after_stat(std.resid)
) +
stat_cross(shape = 22, size = 30) +
geom_text(stat = "cross") +
scale_fill_steps2(breaks = c(-3, -2, 2, 3), show.limits = TRUE) +
facet_grid(Sex ~ .) +
labs(fill = "Standardized residuals") +
theme_minimal()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.