vcd (version 0.9-9)

sieve: Extended Sieve Plots

Description

(Extended) sieve displays for n-way contingency tables: plots rectangles with areas proportional to the expected cell frequencies and filled with a number of squares equal to the observed frequencies. Thus, the densities visualize the deviations of the observed from the expected values.

Usage

## S3 method for class 'default':
sieve(x, condvars = NULL, gp = NULL, shade = NULL,
  legend = FALSE, split_vertical = NULL, direction = NULL, spacing = NULL,
  spacing_args = list(), sievetype = c("observed","expected"),
  main = NULL, sub = NULL, ...)
## S3 method for class 'formula':
sieve(formula, data, \dots, main = NULL, sub = NULL, subset = 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 sieve disp
data
either a data frame, or an object of class "table" or "ftable".
subset
an optional vector specifying a subset of observations to be used.
shade
logical specifying whether gp should be used or not (see gp). If TRUE and expected is unspecified, a default model is fitted: if condvars is specified, a corresponding conditiona
sievetype
logical indicating whether rectangles should be filled according to observed or expected frequencies.
gp
object of class "gpar", shading function or a corresponding generating function (see details of strucplot and shadings). Components o
legend
either a legend-generating function, a legend function (see details of strucplot and legends), or a logical value. If legend is
split_vertical
vector of logicals of length $k$, where $k$ is the number of margins of x (default: FALSE). Values are recycled as needed. A TRUE component indicates that the tile(s) of the corresponding dimension s
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 no spacing at all if x has two dimensions, and
spacing_args
list of arguments for the generating function, if specified (see strucplot for more information).
main, sub
either a logical, or a character string used for plotting the main (sub) title. If logical and TRUE, the name of the data object is used.
...
Other arguments passed to strucplot

Value

  • The "structable" visualized is returned invisibly.

Details

sieve 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) sieve displays. Most of the functionality is described there, such as specification of the independence model, labeling, legend, spacing, shading, and other graphical parameters.

The layout is very flexible: the specification of shading, labeling, spacing, and legend is modularized (see strucplot for details).

References

H. Riedwyl & M. Sch�pbach (1994), Parquet diagram to plot contingency tables. In F. Faulbaum (ed.), Softstat '93: Advances in Statistical Software, 293--299. Gustav Fischer, New York.

M. Friendly (2000), Visualizing Categorical Data, SAS Institute, Cary, NC.

See Also

assoc, strucplot, mosaic, structable, doubledecker

Examples

Run this code
data("HairEyeColor")

## aggregate over 'sex':
(tab <- margin.table(HairEyeColor, c(2,1)))

## plot expected values:
sieve(tab, sievetype = "expected", shade = TRUE)

## plot observed table:
sieve(tab, shade = TRUE)

## plot complete diagram:
sieve(HairEyeColor, shade = TRUE)

## an example for the formula interface:
data("VisualAcuity")
sieve(Freq ~ right + left,  data = VisualAcuity)

## example with observed values in the cells:
sieve(Titanic, pop = FALSE, shade = TRUE)
labeling_cells(text = Titanic, gp = gpar(fontface = 2))(Titanic)

Run the code above in your browser using DataCamp Workspace