labeling_border: Labeling Functions for Strucplots

View source: R/labeling.R

labeling_borderR 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. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v017.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)

vcd documentation built on Dec. 23, 2023, 3:02 a.m.