mosaicplot {graphics} | R Documentation |
Plots a mosaic on the current graphics device.
mosaicplot(x, ...)
## Default S3 method:
mosaicplot(x, main = deparse(substitute(x)),
sub = NULL, xlab = NULL, ylab = NULL,
sort = NULL, off = NULL, dir = NULL,
color = NULL, shade = FALSE, margin = NULL,
cex.axis = 0.66, las = par("las"),
type = c("pearson", "deviance", "FT"), ...)
## S3 method for class 'formula'
mosaicplot(formula, data = NULL, ...,
main = deparse(substitute(data)), subset,
na.action = stats::na.omit)
x |
a contingency table in array form, with optional category
labels specified in the |
main |
character string for the mosaic title. |
sub |
character string for the mosaic sub-title (at bottom). |
xlab , ylab |
x- and y-axis labels used for the plot; by default,
the first and second element of |
sort |
vector ordering of the variables, containing a permutation
of the integers |
off |
vector of offsets to determine percentage spacing at each level of the mosaic (appropriate values are between 0 and 20, and the default is 20 times the number of splits for 2-dimensional tables, and 10 otherwise. Rescaled to maximally 50, and recycled if necessary. |
dir |
vector of split directions ( |
color |
logical or (recycling) vector of colors for color
shading, used only when |
shade |
a logical indicating whether to produce extended mosaic
plots, or a numeric vector of at most 5 distinct positive numbers
giving the absolute values of the cut points for the residuals. By
default, |
margin |
a list of vectors with the marginal totals to be fit in
the log-linear model. By default, an independence model is fitted.
See |
cex.axis |
The magnification to be used for axis annotation,
as a multiple of |
las |
numeric; the style of axis labels, see |
type |
a character string indicating the type of residual to be
represented. Must be one of |
formula |
a formula, such as |
data |
a data frame (or list), or a contingency table from which
the variables in |
... |
further arguments to be passed to or from methods. |
subset |
an optional vector specifying a subset of observations in the data frame to be used for plotting. |
na.action |
a function which indicates what should happen
when the data contains variables to be cross-tabulated, and these
variables contain |
This is a generic function. It currently has a default method
(mosaicplot.default
) and a formula interface
(mosaicplot.formula
).
Extended mosaic displays visualize standardized residuals of a loglinear model for the table by color and outline of the mosaic's tiles. (Standardized residuals are often referred to a standard normal distribution.) Negative residuals are drawn in shaded of red and with broken outlines; positive ones are drawn in blue with solid outlines.
For the formula method, if data
is an object inheriting from
classes "table"
or "ftable"
, or an array with more than
2 dimensions, it is taken as a contingency table, and hence all
entries should be nonnegative. In this case, the left-hand side of
formula
should be empty, and the variables on the right-hand
side should be taken from the names of the dimnames attribute of the
contingency table. A marginal table of these variables is computed,
and a mosaic of this table is produced.
Otherwise, data
should be a data frame or matrix, list or
environment containing the variables to be cross-tabulated. In this
case, after possibly selecting a subset of the data as specified by
the subset
argument, a contingency table is computed from the
variables given in formula
, and a mosaic is produced from
this.
See Emerson (1998) for more information and a case study with television viewer data from Nielsen Media Research.
Missing values are not supported except via an na.action
function when data
contains variables to be cross-tabulated.
A more flexible and extensible implementation of mosaic plots written
in the grid graphics system is provided in the function
mosaic
in the contributed package vcd (Meyer,
Zeileis and Hornik, 2005).
S-PLUS original by John Emerson john.emerson@yale.edu. Originally modified and enhanced for R by Kurt Hornik.
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. (2005) The strucplot framework: Visualizing multi-way contingency tables with vcd. Report 22, Department of Statistics and Mathematics, Wirtschaftsuniversität Wien, Research Report Series. http://epub.wu-wien.ac.at/dyn/openURL?id=oai:epub.wu-wien.ac.at:epub-wu-01_8a1
The home page of Michael Friendly (http://www.math.yorku.ca/SCS/friendly.html) provides information on various aspects of graphical methods for analyzing categorical data, including mosaic plots.
assocplot
,
loglin
.
require(stats)
mosaicplot(Titanic, main = "Survival on the Titanic", color = TRUE)
## Formula interface for tabulated data:
mosaicplot(~ Sex + Age + Survived, data = Titanic, color = TRUE)
mosaicplot(HairEyeColor, shade = TRUE)
## Independence model of hair and eye color and sex. Indicates that
## there are more blue eyed blonde females than expected in the case
## of independence and too few brown eyed blonde females.
## The corresponding model is:
fm <- loglin(HairEyeColor, list(1, 2, 3))
pchisq(fm$pearson, fm$df, lower.tail = FALSE)
mosaicplot(HairEyeColor, shade = TRUE, margin = list(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.
## The corresponding model is:
fm <- loglin(HairEyeColor, list(1:2, 3))
pchisq(fm$pearson, fm$df, lower.tail = FALSE)
## Formula interface for raw data: visualize cross-tabulation of numbers
## of gears and carburettors in Motor Trend car data.
mosaicplot(~ gear + carb, data = mtcars, color = TRUE, las = 1)
# color recycling
mosaicplot(~ gear + carb, data = mtcars, color = 2:3, las = 1)