February 12, 2015 5 Comments
I recently introduced how to use the count() function in the “plyr” package in R to produce 1-way frequency tables in R. Several commenters provided alternative ways of doing so, and they are all appreciated. Today, I want to extend that tutorial by demonstrating how count() can be used to produce N-way frequency tables in the list format – this will magnify the superiority of this function over other functions like table() and xtabs().
2-Way Frequencies: The Cross-Tabulated Format vs. The List-Format
To get a 2-way frequency table (i.e. a frequency table of the counts of a data set as divided by 2 categorical variables), you can display it in a cross-tabulated format or in a list format.
In R, the xtabs() function is good for cross-tabulation. Let’s use the “mtcars” data set again; recall that it is a built-in data set in Base R.
> y = xtabs(~ cyl + gear, mtcars) > y gear cyl 3 4 5 4 1 8 2 6 2 4 1 8 12 0 2