2015-07-20 75 views
3

我相信这是一件超级简单的事情,但我找不到一个非常快速和简单的解决方案。R:总结多个变量观察次数的最快方法

我有这样的格式有很多列的患者数据:

patID disease category ... 
1  1   A 
2  0   B 
3  1   C 
4  1   B 

我怎么能快速生产的汇总表,其中包括观察在数据帧的每一列/变量的数目?结果应该是这样的:

VARIABLE  Number of rows 
disease:1 3 
disease:0 1 
category:A 1 
category:B 2 
category:C 1 
... 

我知道我可以通过使用表(数据$列)为单个变量做到这一点。但是我怎样才能为数据框中的所有列生成类似的东西呢?

回答

7

使用tidyrdplyr

gather(data, variable, value, -patID) %>% 
    count(variable, value) 

(感谢@Frank提醒我关于tallycount。)

+3

'总结(N())'有一个快捷键:'tally'。还有'count'可以避免'group_by'的需要(对于评论编辑,抱歉;在查看文档后只记得后者) – Frank