以下可重现的数据
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
?
谢谢!
答案 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))
只取决于您的首选输出格式。