Dom*_*ski 3 group-by r dplyr summarize tidyverse
我想在分组后汇总时,计算另一个因素的特定级别的数量。
在下面的工作示例中,我想计算"male"每个组中的级别数。我已经尝试了很多计数、计数等方法,但找不到一种简单明了的方法来做到这一点。
df <- data.frame(Group=replicate(20, sample(c("A","B"), 1)),
Value=rnorm(20),
Factor=replicate(20, sample(c("male","female"), 1)))
df %>%
group_by(Group) %>%
summarize(Value = mean(Value),
n_male = ???)
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我们可以sum在logical vectorie上使用Factor == "male"。当我们执行以下操作时,TRUE/FALSE将被强制1/0获取“男性”元素的频率sum
df %>%
group_by(Group) %>%
summarise(Value = mean(Value),
n_male = sum(Factor=="male"))
Run Code Online (Sandbox Code Playgroud)