【发布时间】:2015-01-03 05:57:29
【问题描述】:
想了解一下 dplyr 代码,但想不通。对于许多变量(summarizing counts of a factor with dplyr 和 Putting rowwise counts of value occurences into new variables, how to do that in R with dplyr?),已经看到了此处描述的类似问题,但是我的任务要小一些。
给定一个数据框,我如何计算一个变量的频率并将其放入一个新变量中。
set.seed(9)
df <- data.frame(
group=c(rep(1,5), rep(2,5)),
var1=round(runif(10,1,3),0))
那么我们有:
>df
group var1
1 1 1
2 1 1
3 1 1
4 1 1
5 1 2
6 2 1
7 2 2
8 2 2
9 2 2
10 2 3
希望第三列指示每个组 (group) 出现了多少次var1,在本例中为:count=(4,4,4,4,1,1,3,3 ,3,1)。
我试过了——没有成功——比如:
df %>% group_by(group) %>% rowwise() %>% do(count = nrow(.$var1))
非常感谢您的解释!
【问题讨论】: