# mosaic

##### Extended Mosaic Plots

Plots (extended) mosaic displays.

- Keywords
- hplot

##### Usage

```
## S3 method for class 'default':
mosaic(x, condvars = NULL,
split_vertical = FALSE, direction = NULL, spacing = NULL,
spacing_args = list(), zero_size = 0.5, ...)
## S3 method for class 'formula':
mosaic(formula, data, \dots, main = NULL)
```

##### Arguments

- x
- a contingency table in array form, with optional category
labels specified in the
`dimnames(x)`

attribute. - 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`

. For convenience, conditioning formulas can be specified; the conditioning variables will then be used first for splitting. Formulas for mosaic dis - data
- either a data frame, or an object of class
`"table"`

or`"ftable"`

. - zero_size
- size of the bullets used for zero entries (if 0, no bullets are drawn).
- split_vertical
- vector of logicals of length $k$, where $k$
is the number of margins of
`x`

(values are recycled as needed). A`TRUE`

component indicates that the tile(s) of the corresponding dimension should be split vertically, - direction
- character vector of length $k$, where $k$ is the
number of margins of
`x`

(values are recycled as needed). For each component, a value of`"h"`

indicates that the tile(s) of the corresponding dimension should be split hor - spacing
- spacing object, spacing function, or corresponding
generating function (see
`strucplot`

for more information). The default is`spacing_equal`

if`x`

has two dimensions, - spacing_args
- list of arguments for the generating function, if
specified (see
`strucplot`

for more information). - main
- either a logical, or a character string used for plotting
the main title. If
`main`

is a logical and`TRUE`

, the name of the`data`

object is used. - ...
- Other arguments passed to
`strucplot`

##### Details

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
*horizontal* direction
by default to match the printed output of `structable`

.

##### Value

- The
`"structable"`

visualized is returned invisibly.

##### References

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.

The home page of Michael Friendly
(

##### See Also

##### Examples

```
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)
```

*Documentation reproduced from package vcd, version 0.9-0, License: GPL*