x: a 2x2xk contingency table in array form, or a 2x2 matrix if k is 1. If length(dim(x)>3, dimensions 3:length(dim(x) are silently raveled into a combined strata dimension with k=prod(dim(x)[-(1:2)])).
color: a vector of length 6 specifying the colors to use for the smaller and larger diagonals of each 2x2 table. The first pair is used for the standard (non-extended) plots, the other two for the extended version: the second/third pair is used for tables with non-significant/significant log-odds ratios, respectively, the latter being visualized in brighter colors.
conf_level: confidence level used for the confidence rings on the odds ratios. Must be a single non-negative number less than 1; if set to 0, confidence rings are suppressed.
std: a character string specifying how to standardize the table. Must be one of "margins", "ind.max", or "all.max", and can be abbreviated by the initial letter. If set to "margins", each 2x2 table is standardized to equate the margins specified by margin while preserving the odds ratio. If "ind.max" or "all.max", the tables are either individually or simultaneously standardized to a maximal cell frequency of 1.
margin: a numeric vector with the margins to equate. Must be one of 1, 2, or c(1, 2) (the default), which corresponds to standardizing only the row, only column, or both row and column in each 2x2 table. Only used if std equals "margins".
space: the amount of space (as a fraction of the maximal radius of the quarter circles) used for the row and column labels.
main, sub: character string for the fourfold plot title/subtitle.
mfrow, mfcol: a numeric vector with two components: nr and nc , indicating that the displays for the 2x2
tables should be arranged in an nr by nc layout, filled by rows/columns. The defaults are calculated to give a collection of plots in landscape orientation when k is not a perfect square.
extended: logical; if TRUE, extended plots are plotted, i.e., colors are brighter for significant log-odds ratios, and ticks are plotted showing the direction of association for positive log-odds.
ticks: the length of the ticks. If set to 0, no ticks are plotted.
p_adjust_method: method to be used for p-value adjustments for multi-stratum plots, as provided by link[stats]{p.adjust}. Use p_adjust_method="none" to disable this adjustment. The p-values are used for the visual
significance tests of the odds ratios.
newpage: logical; if TRUE, grid.newpage() is called before plotting.
fontsize: fontsize of main title. Other labels are scaled relative to this.
default_prefix: character vector of length 3 with default labels for possibly missing row/column/strata variable names.
sep: default separator between variable names and levels for labels.
varnames: Logical; should the variable names be printed in the labeling of stratifed plots?
return_grob: Logical; shall a snapshot of the display be returned as a grob object?
Details
The fourfold display is designed for the display of 2x2xk
tables.
Following suitable standardization, the cell frequencies f[i,j] of each 2x2 table are shown as a quarter circle whose radius is proportional to sqrt(f[i,j]) so that its area is proportional to the cell frequency. An association (odds ratio different from 1) between the binary row and column variables is indicated by the tendency of diagonally opposite cells in one direction to differ in size from those in the other direction; color is used to show this direction. Confidence rings for the odds ratio allow a visual test of the null of no association; the rings for adjacent quadrants overlap iff the observed counts are consistent with the null hypothesis.
Typically, the number k corresponds to the number of levels of a stratifying variable, and it is of interest to see whether the association is homogeneous across strata. The fourfold display visualizes the pattern of association. Note that the confidence rings for the individual odds ratios are not adjusted for multiple testing.
References
Friendly, M. (1994), A fourfold display for 2 by 2 by k tables. Technical Report 217, York University, Psychology Department, http://datavis.ca/papers/4fold/4fold.pdf.
Friendly, M. (2000), Visualizing Categorical Data. SAS Institute, Cary, NC.
See Also
mosaic, assoc
link[stats]{p.adjust} for methods of p value adjustment
Examples
data("UCBAdmissions")## Use the Berkeley admission data as in Friendly (1995).x <- aperm(UCBAdmissions, c(2,1,3))dimnames(x)[[2]]<- c("Yes","No")names(dimnames(x))<- c("Sex","Admit?","Department")ftable(x)## Fourfold display of data aggregated over departments, with## frequencies standardized to equate the margins for admission## and sex.## Figure 1 in Friendly (1994).fourfold(margin.table(x, c(1,2)))## Fourfold display of x, with frequencies in each table## standardized to equate the margins for admission and sex.## Figure 2 in Friendly (1994).fourfold(x)cotabplot(x, panel = cotab_fourfold)## Fourfold display of x, with frequencies in each table## standardized to equate the margins for admission. but not## for sex.## Figure 3 in Friendly (1994).fourfold(x, margin =2)