计算每个组中数字(因子)发生的次数

时间:2016-02-06 21:13:51

标签: r dplyr

以下可重现的数据

dat <- data.frame(Bin = rep(1:4, each = 50), 
                  Number = sample(5, 200, replace = T, prob = c(1,1,1,2,3))) 

> head(dat)
  Bin Number
1   1      3
2   1      5
3   1      4
4   1      5
5   1      5
6   1      1

我想计算每个Number中每个Bin出现的次数,最好使用dplyr.。不同地说,Number每个级别的出现次数是多少每个Bin

谢谢!

2 个答案:

答案 0 :(得分:4)

dplyr有一个计数函数,它正是这样做的。

dat %>% count(Number,Bin)

答案 1 :(得分:3)

也可以在这里抛出data.table答案:

setDT(dat)[ , .N, keyby = .(Number, Bin)]

正如user20650指出的那样,base R有一个非常简单的解决方案:

with(dat, table(Number, Bin))

只取决于您的首选输出格式。