# Visualizing Categorical Data

The vcdpackage provides a variety of methods for visualizing multivariate categorical data, inspired by Michael Friendly's wonderful "*Visualizing Categorical Data*". Extended mosaic and association plots are described here. Each provides a method of visualizng complex data and evaluating deviations from a specified independence model. For more details, see The Strucplot Framework.

## Mosaic Plots

For extended mosaic plots, use **mosaic(x, condvar=, data=)** where **x** is a table or formula, **condvar=** is an optional conditioning variable, and **data=** specifies a data frame or a table. Include **shade=TRUE** to color the figure, and **legend=TRUE** to display a legend for the Pearson residuals.

```
# Mosaic Plot Example
library(vcd)
mosaic(HairEyeColor, shade=TRUE, legend=TRUE)
```

## Association Plots

To produce an extended association plot use **assoc(x, row_vars, col_vars)** where **x** is a contingency table, **row_vars** is a vector of integers giving the indices of the variables to be used for the rows, and **col_vars** is a vector of integers giving the indices of the variables to be used for the columns of the association plot.

```
# Association Plot Example
library(vcd)
assoc(HairEyeColor, shade=TRUE)
```

## Going Further

Both functions are complex and offer multiple input and output options. See **help(mosaic)** and **help(assoc)** for more details.

## To Practice

To practice plotting in R, try this course in data visualization with R.