You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dplyr按Task分组统计Status为Completed的任务数量

解决按Task分组统计Completed任务数量的问题

你的代码问题出在summarize里直接引用了原始数据集df,而不是分组后的每组子集。当你用df$Status时,不管当前分组是什么,都会计算整个数据里Status为Completed的总行数,所以每个Task的Count结果都一样,这显然不是你想要的。

这里给你两种简单的正确实现方式:

方法一:先过滤再统计

先筛选出所有Status为Completed的记录,再按Task分组计数:

df %>% 
  filter(Status == 'Completed') %>% 
  count(Task, name = 'Count')

方法二:分组后用sum统计符合条件的行数

在分组后的summarize里,直接对当前组的Status列进行判断,用sum统计符合条件的数量(逻辑值TRUE会被当作1,FALSE当作0):

df %>% 
  group_by(Task) %>% 
  summarize(Count = sum(Status == 'Completed', na.rm = TRUE))

两种方法都会得到预期的结果:

# A tibble: 4 × 2
  Task       Count
  <chr>      <int>
1 Assignment     0
2 Classwork      2
3 Homework       2
4 Poster         2

内容的提问来源于stack exchange,提问作者FAlonso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:42:55