R: Labeling Functions for Strucplots

labeling_border {vcd} | R Documentation

## Labeling Functions for Strucplots

### Description

These functions generate labeling functions used for strucplots.

### Usage

    labeling_border(labels = TRUE, varnames = labels,
      set_labels = NULL, set_varnames = NULL,
      tl_labels = NULL, alternate_labels = FALSE, tl_varnames = NULL,
      gp_labels = gpar(fontsize = 12),
      gp_varnames = gpar(fontsize = 12, fontface = 2),
      rot_labels = c(0, 90, 0, 90), rot_varnames = c(0, 90, 0, 90),
      pos_labels = "center", pos_varnames = "center",
      just_labels = "center", just_varnames = pos_varnames,
      boxes = FALSE, fill_boxes = FALSE,
      offset_labels = c(0, 0, 0, 0), offset_varnames = offset_labels,
      labbl_varnames = NULL, labels_varnames = FALSE, sep = ": ",
      abbreviate_labs = FALSE, rep = TRUE, clip = FALSE, ...)
    labeling_values(value_type = c("observed", "expected", "residuals"),
                    suppress = NULL, digits = 1, clip_cells = FALSE, ...)
    labeling_residuals(suppress = NULL, digits = 1, clip_cells = FALSE, ...)
    labeling_conditional(...)
    labeling_left(rep = FALSE, pos_varnames = "left",
      pos_labels = "left", just_labels = "left", ...)
    labeling_left2(tl_labels = TRUE, clip = TRUE, pos_varnames = "left",
      pos_labels = "left", just_labels = "left", ...)
    labeling_cboxed(tl_labels = TRUE, boxes = TRUE, clip = TRUE,
      pos_labels = "center", ...)
    labeling_lboxed(tl_labels = FALSE, boxes = TRUE, clip = TRUE,
      pos_labels = "left", just_labels = "left",
      labbl_varnames = FALSE, ...)
    labeling_doubledecker(lab_pos = c("bottom", "top"), dep_varname = TRUE,
      boxes = NULL, clip = NULL, labbl_varnames = FALSE,
      rot_labels = rep.int(0, 4),
      pos_labels = c("left", "center", "left", "center"),
      just_labels = c("left", "left", "left", "center"),
      varnames = NULL, gp_varnames = gpar(fontsize = 12, fontface = 2),
      offset_varnames = c(0, -0.6, 0, 0), tl_labels = NULL, ...)

### Arguments

`labels` | vector of logicals indicating whether labels should be drawn for a particular dimension.
`varnames` | vector of logicals indicating whether variable names should be drawn for a particular dimension.
`set_labels` | An optional character vector with named components replacing the so-specified variable names. The component names must exactly match the variable names to be replaced.
`set_varnames` | An optional list with named components of character vectors replacing the labels of the so-specified variables. The component names must exactly match the variable names whose labels should be replaced.
`tl_labels` | vector of logicals indicating whether labels should be positioned on top (column labels) / left (row labels) for a particular dimension.
`alternate_labels` | vector of logicals indicating whether labels should be alternated on the top/bottom (left/right) side of the plot for a particular dimension.
`tl_varnames` | vector of logicals indicating whether variable names should be positioned on top (column labels) / on left (row labels) for a particular dimension.
`gp_labels` | list of objects of class `"gpar"` used for drawing the labels.
`gp_varnames` | list of objects of class `"gpar"` used for drawing the variable names.
`rot_labels` | vector of rotation angles for the labels for each of the four sides of the plot.
`rot_varnames` | vector of rotation angles for the variable names for each of the four sides of the plot.
`pos_labels` | character string of label positions (`"left"`, `"center"`, `"right"`) for each of the variables.
`pos_varnames` | character string of variable names positions (`"left"`, `"center"`, `"right"`) for each of the four sides of the plot.
`just_labels` | character string of label justifications (`"left"`, `"center"`, `"right"`) for each of the variables.
`just_varnames` | character string of variable names justifications (`"left"`, `"center"`, `"right"`) for each of the four sides of the plot.
`boxes` | vector of logicals indicating whether boxes should be drawn around the labels for a particular dimension.
`fill_boxes` | Either a vector of logicals, or a vector of characters, or a list of such vectors, specifying the fill colors for the boxes. `"TRUE"` and `"FALSE"` values are transformed into `"grey"` and `"white"`, respectively. If `fill_boxes` is atomic, each component specifies a basic color for the corresponding dimension. This color is transformed into its HSV representation, and the value is varied from 50% to 100% to give a sequential color palette for the levels. For `NA` components, no palette is produced (no fill color). If `fill_boxes` is a list of vectors, each vector specifies the level colors of the corresponding dimension.
`offset_labels, offset_varnames` | numeric vector of length 4 indicating the offset of the labels (variable names) for each of the four sides of the plot.
`labbl_varnames` | vector of logicals indicating whether variable names should be drawn on the left (column variables) / on top (row variables) of the corresponding labels.
`labels_varnames` | vector of logicals indicating, for each dimension, whether the variable name should be added to the corresponding labels or not.
`sep` | separator used if any component of `"labels_varnames"` is `TRUE`.
`abbreviate_labs` | vector of integers or logicals indicating, for each dimension, the number of characters the labels should be abbreviated to. `TRUE` means 1 character, `FALSE` causes no abbreviation. Values are recycled as needed.
`rep` | vector of logicals indicating, for each dimension, whether labels should be repeated for all conditioning strata, or appear only once.
`clip` | vector of integers indicating, for each dimension, whether labels should be clipped to not overlap.
`lab_pos` | character string switching between `"top"` or `"bottom"` position of the labels (only used for `labeling_doubledecker`).
`dep_varname` | logical or character string. If logical, this is indicating whether the name of the dependent variable should be printed or not. A character string will be printed instead of the variable name taken from the dimnames.
`value_type` | character string specifying which values should be displayed in the cells.
`suppress` | numeric vector of length 2 specifying an interval of values that are not displayed. 0 values are never displayed. A single number, k, is treated as `c(-k, k)`. The default for labeling residuals is `c(-2,2)`. Use `suppress = 0` to show all non-zero values.
`digits` | integer specifying the number of digits used for rounding.
`clip_cells` | logical indicating whether the values should be clipped at the cell borders.
`...` | only used for `labeling_conditional` and `labeling_doubledecker`: parameters passed to `labeling_cells` and `labeling_border`.

### Details

These functions generate labeling functions called by `strucplot` for their side-effect of adding labels to the plot. They suppose that a strucplot has been drawn and the corresponding viewport structure is pushed, since the positions of the viewports are used for the label positioning. Note that the functions can also be used ‘stand-alone’ as shown in the examples.

All values supplied to vectorized arguments can be ‘abbreviated’ by using named components which override the default component values. In addition, these defaults can be overloaded by the sequence of non-named components which are recycled as needed (see examples).

This help page only documents `labeling_border` and derived functions, more functions are described on the help page for `labeling_cells` and `labeling_list`.

`labeling_left`, `labeling_left2`, `labeling_cboxed`, and `labeling_lboxed` are really just wrappers to `labeling_border`, and good examples for the parameter usage.

`labeling_residuals` is a trivial wrapper for `labeling_values`, which in turn calls `labeling_border` by additionally adding the observed or expected frequencies or residuals to the cells.

### Value

A function with arguments:

`d` | `"dimnames"` attribute from the visualized contingency table, or the visualized table itself from which the `"dimnames"` attributes will then be extracted.
`split_vertical` | vector of logicals indicating the split directions.
`condvars` | integer vector of conditioning dimensions.

### Author(s)

David Meyer David.Meyer@R-project.org

### References

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. URL http://www.jstatsoft.org/v17/i03/ and available as `vignette("strucplot")`.

### See Also

`labeling_cells`, `labeling_list`, `structable`, `grid.text`

### Examples

    data("Titanic")

    mosaic(Titanic)

    mosaic(Titanic, labeling = labeling_left)
    labeling_left

    mosaic(Titanic, labeling = labeling_cboxed)
    labeling_cboxed

    mosaic(Titanic, labeling = labeling_lboxed)
    labeling_lboxed

    data("PreSex")
    mosaic(~ PremaritalSex + ExtramaritalSex | Gender + MaritalStatus,
      data = PreSex, labeling = labeling_conditional)

    ## specification of vectorized arguments
    mosaic(Titanic, labeling_args = list(abbreviate_labs = c(Survived = TRUE)))

    mosaic(Titanic, labeling_args = list(clip = TRUE, boxes = TRUE,
      fill_boxes = c(Survived = "green", "red")))

    mosaic(Titanic, labeling_args = list(clip = TRUE, boxes = TRUE,
      fill_boxes = list(Sex = "red", "green")))

    mosaic(Titanic, labeling_args = list(clip = TRUE, boxes = TRUE,
      fill_boxes = list(Sex = c(Male = "red", "blue"), "green")))

    ## change variable names
    mosaic(Titanic, labeling_args = list(set_varnames = c(Sex = "Gender")))

    ## change labels
    mosaic(Titanic, labeling_args = list(set_varnames = c(Survived = "Status"),
      set_labels = list(Survived = c("Survived", "Not Survived")), rep = FALSE))

    ## show frequencies
    mosaic(Titanic, labeling = labeling_values)

[Package vcd version 1.4-4 Index]