assocplot {graphics}R Documentation

Association Plots


Produce a Cohen-Friendly association plot indicating deviations from independence of rows and columns in a 2-dimensional contingency table.


assocplot(x, col = c("black", "red"), space = 0.3,
          main = NULL, xlab = NULL, ylab = NULL)


x a two-dimensional contingency table in matrix form.
col a character vector of length two giving the colors used for drawing positive and negative Pearson residuals, respectively.
space the amount of space (as a fraction of the average rectangle width and height) left between each rectangle.
main overall title for the plot.
xlab a label for the x axis. Defaults to the name (if any) of the row dimension in x.
ylab a label for the y axis. Defaults to the name (if any) of the column dimension in x.


For a two-way contingency table, the signed contribution to Pearson's chi^2 for cell i, j is d_{ij} = (f_{ij} - e_{ij}) / sqrt(e_{ij}), where f_{ij} and e_{ij} are the observed and expected counts corresponding to the cell. In the Cohen-Friendly association plot, each cell is represented by a rectangle that has (signed) height proportional to d_{ij} and width proportional to sqrt(e_{ij}), so that the area of the box is proportional to the difference in observed and expected frequencies. The rectangles in each row are positioned relative to a baseline indicating independence (d_{ij} = 0). If the observed frequency of a cell is greater than the expected one, the box rises above the baseline and is shaded in the color specified by the first element of col, which defaults to black; otherwise, the box falls below the baseline and is shaded in the color specified by the second element of col, which defaults to red.


Cohen, A. (1980), On the graphical display of the significant components in a two-way contingency table. Communications in Statistics—Theory and Methods, A9, 1025–1041.

Friendly, M. (1992), Graphical methods for categorical data. SAS User Group International Conference Proceedings, 17, 190–200.

See Also

mosaicplot; chisq.test.


## Aggregate over sex:
x <- margin.table(HairEyeColor, c(1, 2))
assocplot(x, main = "Relation between hair and eye color")

[Package graphics version 2.2.1 Index]