3

我想在分组后总结时,计算另一个因素的特定水平的数量。

在下面的工作示例中,我想计算"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 = ???)

谢谢你的帮助!

4

1 回答 1

6

我们可以sumlogical vectorie上使用Factor == "male"。当TRUE/FALSE我们1/0执行sum

df %>%
   group_by(Group) %>% 
   summarise(Value = mean(Value), 
             n_male = sum(Factor=="male"))
于 2017-03-22T14:49:15.503 回答