2016-03-23 19 views
0

我想簡單計數到wide數據集的值,但是沒有必須將數據集轉換成long(人員週期)文件。沒有融化數據的R計數發生

我的數據是這樣的:

 alone1 alone2  alone3  alone4  alone5  alone6  alone7  alone8 
1 Mentioned Mentioned  Mentioned  Mentioned  Mentioned  Mentioned  Mentioned  Mentioned 
2 Mentioned Mentioned  Mentioned  Mentioned  Mentioned  Mentioned  Mentioned  Mentioned 
3 Mentioned Mentioned Not mentioned Not mentioned Not mentioned Not mentioned Not mentioned Not mentioned 
4 Mentioned Mentioned Not mentioned Not mentioned Not mentioned Not mentioned Not mentioned Not mentioned 

我想要做的就是這個

library(dplyr) 
library(tidyr) 

dt %>% gather %>% group_by(value) %>% summarise(n = n()) 

這給了我(這是輸出我想)

  value n 
1  Mentioned 20 
2 Not mentioned 12 

但是,我不想meltgather我的數據。

任何想法我可以簡單地計算列的出現而不必進行人員週期轉換?

dt = structure(list(alone1 = c("Mentioned", "Mentioned", "Mentioned", 
"Mentioned"), alone2 = c("Mentioned", "Mentioned", "Mentioned", 
"Mentioned"), alone3 = c("Mentioned", "Mentioned", "Not mentioned", 
"Not mentioned"), alone4 = c("Mentioned", "Mentioned", "Not mentioned", 
"Not mentioned"), alone5 = c("Mentioned", "Mentioned", "Not mentioned", 
"Not mentioned"), alone6 = c("Mentioned", "Mentioned", "Not mentioned", 
"Not mentioned"), alone7 = c("Mentioned", "Mentioned", "Not mentioned", 
"Not mentioned"), alone8 = c("Mentioned", "Mentioned", "Not mentioned", 
"Not mentioned")), .Names = c("alone1", "alone2", "alone3", "alone4", 
"alone5", "alone6", "alone7", "alone8"), class = "data.frame", row.names = c(NA, 4L)) 

回答

2

它,你真的只需要計數你可以使用tableunlistdata.frame

table(unlist(dt)) 

Mentioned Not mentioned 
     20   12 
+0

感謝漂亮的簡單的解決方案 – giacomo