[R] frequency table for multiple variables
Marc Schwartz
marc_schwartz at comcast.net
Tue Feb 17 17:00:40 CET 2009
on 02/17/2009 09:06 AM Hans Ekbrand wrote:
> Hi r-help!
>
> Consider the following data-frame:
>
> var1 var2 var3
> 1 3 1 4
> 2 2 2 3
> 3 2 2 3
> 4 4 4 NA
> 5 4 3 5
> 6 2 2 3
> 7 3 4 3
>
> How can I get R to convert this into the following?
>
> Value 1 2 3 4 5
> var1 0 3 2 2 0
> var2 1 3 1 2 0
> var3 0 0 4 1 1
> t(sapply(DF, function(x) table(factor(x, levels = 1:5))))
1 2 3 4 5
var1 0 3 2 2 0
var2 1 3 1 2 0
var3 0 0 4 1 1
The key is to turn each column into a factor with explicitly defined
common levels for tabulation. This enables the table result to have a
consistent format across each column, allowing for a matrix to be
created, rather than a list.
HTH,
Marc Schwartz
More information about the R-help
mailing list