These functions generate labeling functions used for strucplots.
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, …)
vector of logicals indicating whether labels should be drawn for a particular dimension.
vector of logicals indicating whether variable names should be drawn for a particular dimension.
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.
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.
vector of logicals indicating whether labels should be positioned on top (column labels) / left (row labels) for a particular dimension.
vector of logicals indicating whether labels should be alternated on the top/bottom (left/right) side of the plot for a particular dimension.
vector of logicals indicating whether variable names should be positioned on top (column labels) / on left (row labels) for a particular dimension.
list of objects of class "gpar"
used for
drawing the labels.
list of objects of class "gpar"
used for
drawing the variable names.
vector of rotation angles for the labels for each of the four sides of the plot.
vector of rotation angles for the variable names for each of the four sides of the plot.
character string of label positions ("left"
,
"center"
, "right"
) for each of the variables.
character string of variable names positions
("left"
, "center"
, "right"
) for each of the
four sides of the plot.
character string of label justifications
("left"
, "center"
, "right"
) for each of the
variables.
character string of variable names justifications
("left"
, "center"
, "right"
) for each of the
four sides of the plot.
vector of logicals indicating whether boxes should be drawn around the labels for a particular dimension.
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.
numeric vector of length 4 indicating the offset of the labels (variable names) for each of the four sides of the plot.
vector of logicals indicating whether variable names should be drawn on the left (column variables) / on top (row variables) of the corresponding labels.
vector of logicals indicating, for each dimension, whether the variable name should be added to the corresponding labels or not.
separator used if any component of "labels_varnames"
is TRUE
.
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.
vector of logicals indicating, for each dimension, whether labels should be repeated for all conditioning strata, or appear only once.
vector of integers indicating, for each dimension, whether labels should be clipped to not overlap.
character string switching between "top"
or
"bottom"
position of the labels (only used for
labeling_doubledecker
).
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.
character string specifying which values should be displayed in the cells.
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.
integer specifying the number of digits used for rounding.
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
.
A function with arguments:
"dimnames"
attribute from the visualized contingency
table, or the visualized table itself from which the
"dimnames"
attributes will then be extracted.
vector of logicals indicating the split directions.
integer vector of conditioning dimensions.
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.
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")
.
# NOT RUN {
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)
# }
Run the code above in your browser using DataLab