Coplot for Contingency Tables
cotabplot
is a generic function for creating trellis-like
coplots (conditional plots) for contingency tables.
cotabplot(x, ...) ## Default S3 method: cotabplot(x, cond = NULL, panel = cotab_mosaic, panel_args = list(), margins = rep(1, 4), layout = NULL, text_gp = gpar(fontsize = 12), rect_gp = gpar(fill = grey(0.9)), pop = TRUE, newpage = TRUE, return_grob = FALSE, ...) ## S3 method for class 'formula' cotabplot(formula, data = NULL, ...)
x |
an object. The default method can deal with contingency tables in array form. |
cond |
margin index(es) or corresponding name(s) of the conditioning variables. |
panel |
panel function applied for each conditioned plot, see details. |
panel_args |
list of arguments passed to |
margins |
either an object of class |
layout |
integer vector (of length two), giving the number of rows and columns for the panel. |
text_gp |
object of class |
rect_gp |
object of class |
pop |
logical indicating whether the generated viewport tree should be removed at the end of the drawing or not. |
newpage |
logical controlling whether a new grid page should be created. |
return_grob |
logical. Should a snapshot of the display be returned as a grid grob? |
... |
further arguments passed to the panel-generating function. |
formula |
a formula specifying the variables used to create a
contingency table from |
data |
either a data frame, or an object of class |
cotabplot
is a generic function designed to create coplots or
conditional plots (see Cleveland, 1993, and Becker, Cleveland, Shyu, 1996)
similar to coplot
but for contingency tables.
cotabplot
takes on computing the conditioning information
and setting up the trellis display, and then relies on a panel function
to create plots from the full table and the conditioning information.
A simple example would be a contingency table tab
with margin
names "x"
, "y"
and "z"
. To produce this plot
either the default interface can be used or the formula interface via
cotabplot(tab, "z")
cotabplot(~ x + y | z, data = tab)
The panel function needs to be of the form
panel(x, condlevels)
where x
is the full table (tab
in the example above)
and condlevels
is a named vector with the levels (e.g.,
c(z = "z1")
in the example above).
Alternatively, panel
can also be a panel-generating function
of class "grapcon_generator"
which creates a function with the
interface described above. The panel-generating function is called
with the interface
panel(x, condvars, ...)
where again x
is the full table, condvars
is now only
a vector with the names of the conditioning variables (and not their
levels, e.g., "z"
in the example above). Further arguments
can be passed to the panel-generating function via ...
which
also includes the arguments set in panel_args
.
Suitable panel-generating functions for mosaic, association and sieve
plots can be found at cotab_mosaic
.
A description of the underlying ideas is given in Zeileis, Meyer, Hornik (2005).
Achim Zeileis Achim.Zeileis@R-project.org
Becker, R.A., Cleveland, W.S., Shyu, M.-J. (1996), The visual design and control of trellis display. Journal of Computational and Graphical Statistics, 5, 123–155.
Cleveland, W.S. (1993), Visualizing Data, Summit, New Jersey: Hobart Press.
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.
doi: 10.18637/jss.v017.i03 and available as
vignette("strucplot")
.
Zeileis, A., Meyer, D., Hornik K. (2007), Residual-based shadings for visualizing (conditional) independence, Journal of Computational and Graphical Statistics, 16, 507–525.
data("UCBAdmissions") cotabplot(~ Admit + Gender | Dept, data = UCBAdmissions) cotabplot(~ Admit + Gender | Dept, data = UCBAdmissions, panel = cotab_assoc) ucb <- cotab_coindep(UCBAdmissions, condvars = "Dept", type = "assoc", n = 5000, margins = c(3, 1, 1, 3)) cotabplot(~ Admit + Gender | Dept, data = UCBAdmissions, panel = ucb)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.