mosaic | R Documentation |
Plots (extended) mosaic displays.
## Default S3 method:
mosaic(x, condvars = NULL,
split_vertical = NULL, direction = NULL, spacing = NULL,
spacing_args = list(), gp = NULL, expected = NULL, shade = NULL,
highlighting = NULL, highlighting_fill = rev(gray.colors(tail(dim(x), 1))),
highlighting_direction = NULL,
zero_size = 0.5, zero_split = FALSE, zero_shade = NULL,
zero_gp = gpar(col = 0), panel = NULL, main = NULL, sub = NULL, ...)
## S3 method for class 'formula'
mosaic(formula, data, highlighting = NULL,
..., main = NULL, sub = NULL, subset = NULL, na.action = NULL)
x |
a contingency table in array form, with optional category
labels specified in the |
condvars |
vector of integers or character strings indicating conditioning variables, if any. The table will be permuted to order them first. |
formula |
a formula specifying the variables used to create a
contingency table from |
data |
either a data frame, or an object of class |
subset |
an optional vector specifying a subset of observations to be used. |
na.action |
a function which indicates what should happen when
the data contain |
zero_size |
size of the bullets used for zero entries (if 0, no bullets are drawn). |
zero_split |
logical controlling whether zero cells should be
further split. If |
zero_shade |
logical controlling whether zero bullets should be
shaded. The default is |
zero_gp |
object of class |
split_vertical |
vector of logicals of length |
direction |
character vector of length |
spacing |
spacing object, spacing function, or corresponding
generating function (see |
spacing_args |
list of arguments for the generating function, if
specified (see |
gp |
object of class |
shade |
logical specifying whether |
expected |
optionally, an array of expected values of the same dimension
as |
highlighting |
character vector or integer specifying a variable to be highlighted in the cells. |
highlighting_fill |
color vector or palette function used for a highlighted variable, if any. |
highlighting_direction |
Either |
panel |
Optional function with arguments: |
main , sub |
either a logical, or a character string used for plotting
the main (sub) title. If logical and |
... |
Other arguments passed to |
Mosaic displays have been suggested in the statistical literature
by Hartigan and Kleiner (1984) and have been extended by Friendly
(1994). mosaicplot
is a base graphics
implementation and mosaic
is a much more flexible and extensible
grid implementation.
mosaic
is a generic function which currently has a default method and a
formula interface. Both are high-level interfaces to the
strucplot
function, and produce (extended) mosaic
displays. Most of the functionality is described there, such as
specification of the independence model, labeling, legend, spacing,
shading, and other graphical parameters.
A mosaic plot is an area proportional visualization of a (possibly higher-dimensional) table of expected frequencies. It is composed of tiles (corresponding to the cells) created by recursive vertical and horizontal splits of a square. The area of each tile is proportional to the corresponding cell entry, given the dimensions of previous splits.
An extended mosaic plot, in addition, visualizes the fit of a particular log-linear model. Typically, this is done by residual-based shadings where color and/or outline of the tiles visualize sign, size and possibly significance of the corresponding residual.
The layout is very flexible: the specification of shading, labeling,
spacing, and legend is modularized (see strucplot
for
details).
In contrast to the mosaicplot
function in
graphics, the splits start with the horizontal direction
by default to match the printed output of structable
.
The "structable"
visualized is returned invisibly.
David Meyer David.Meyer@R-project.org
Hartigan, J.A., and Kleiner, B. (1984), A mosaic of television ratings. The American Statistician, 38, 32–35.
Emerson, J. W. (1998), Mosaic displays in S-PLUS: A general implementation and a case study. Statistical Computing and Graphics Newsletter (ASA), 9, 1, 17–23.
Friendly, M. (1994), Mosaic displays for multi-way contingency tables. Journal of the American Statistical Association, 89, 190–200.
Meyer, D., Zeileis, A., and Hornik, K. (2006),
The strucplot framework: Visualizing multi-way contingency tables with
vcd.
Journal of Statistical Software, 17(3), 1-48.
\Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v017.i03")} and available as
vignette("strucplot", package = "vcd")
.
The home page of Michael Friendly (http://datavis.ca) provides information on various aspects of graphical methods for analyzing categorical data, including mosaic plots. In particular, there are many materials for his course “Visualizing Categorical Data with SAS and R” at http://datavis.ca/courses/VCD/.
assoc
,
strucplot
,
mosaicplot
,
structable
,
doubledecker
library(MASS)
data("Titanic")
mosaic(Titanic)
## Formula interface for tabulated data plus shading and legend:
mosaic(~ Sex + Age + Survived, data = Titanic,
main = "Survival on the Titanic", shade = TRUE, legend = TRUE)
data("HairEyeColor")
mosaic(HairEyeColor, shade = TRUE)
## Independence model of hair and eye color and sex. Indicates that
## there are significantly more blue eyed blond females than expected
## in the case of independence (and too few brown eyed blond females).
mosaic(HairEyeColor, shade = TRUE, expected = list(c(1,2), 3))
## Model of joint independence of sex from hair and eye color. Males
## are underrepresented among people with brown hair and eyes, and are
## overrepresented among people with brown hair and blue eyes, but not
## "significantly".
## Formula interface for raw data: visualize crosstabulation of numbers
## of gears and carburettors in Motor Trend car data.
data("mtcars")
mosaic(~ gear + carb, data = mtcars, shade = TRUE)
data("PreSex")
mosaic(PreSex, condvars = c(1,4))
mosaic(~ ExtramaritalSex + PremaritalSex | MaritalStatus + Gender,
data = PreSex)
## Highlighting:
mosaic(Survived ~ ., data = Titanic)
data("Arthritis")
mosaic(Improved ~ Treatment | Sex, data = Arthritis, zero_size = 0)
mosaic(Improved ~ Treatment | Sex, data = Arthritis, zero_size = 0,
highlighting_direction = "right")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.