我想在分组后总结时,计算另一个因素的特定级别的数量。
在下面的工作示例中,我想计算每组中"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 = ???)
感谢您的帮助!
答案 0 :(得分:3)
我们可以sum
logical
使用vector
,即Factor == "male"
。 TRUE/FALSE
将被强制转移到1/0
以获得“男性”的频率。我们执行sum
df %>%
group_by(Group) %>%
summarise(Value = mean(Value),
n_male = sum(Factor=="male"))