想要了解 dplyr 代码,但无法弄清楚这一点。已经看到这里描述的许多变量的类似问题(用 dplyr 总结一个因子的计数 https://stackoverflow.com/questions/25811756/summarizing-counts-of-a-factor-with-dplyr and 将值出现的行计数放入新变量中,如何在 R 中使用 dplyr 做到这一点? https://stackoverflow.com/questions/23838322/putting-rowwise-counts-of-value-occurences-into-new-variables-how-to-do-that-in),但是我的任务有点小。
给定一个数据框,如何计算变量的频率并将其放入新变量中。
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))
非常感谢解释!