2015-07-20 78 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