使用 dplyr 的条件计数为零

Conditional count with zero with dplyr

我想统计数据集中工具 A 的使用情况,但也想包括工具 A 的零使用情况。

我的数据集示例如下;

ID <- c(1,1,2,3,3,3,4,5,5,5)
Tool <- c("A","B","A","B","B","B","A","A","A","B")
df <-data.frame(ID,Tool)

我想统计membersID使用工具A的次数

所以我想要的输出是

请使用管道回答我的问题。

我可以使用下面的过滤器来不使用零,但我确实需要添加零。 (不想手动添加)

您可以先 summarise 数据来计算每个 IDTool "A" 的数量,然后 count 计数。

library(dplyr)

df %>%
  group_by(ID) %>%
  summarise(ToolA = sum(Tool == "A")) %>%
  count(ToolA, name = "count")

# ToolA   count
#  <int> <int>
#1     0     1
#2     1     3
#3     2     1