You need to enable JavaScript to run this app. R语言如何统计分组后data frame中满足给定条件的行数
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何统计分组后data frame中满足给定条件的行数

解决方案

你编写的代码无法得到预期结果的核心原因是 n() 是无参函数,作用是统计当前分组的全部行数,不支持传入条件参数。统计分组内满足指定条件的行数,只需利用R中逻辑值的数值特性:TRUE 等价于1、FALSE等价于0,对条件判断的结果求和即可。

正确实现代码

# 若C2列为字符型,使用以下写法
df %>% 
  group_by(C1) %>%
  summarise(n_condition = sum(C2 == "T"))

# 若C2列为逻辑型,可简化为如下写法
df %>% 
  group_by(C1) %>%
  summarise(n_condition = sum(C2))

运行上述代码即可得到你期望的输出结果。

如果需要同时统计每个分组的总行数和满足条件的行数,可扩展为:

df %>%
  group_by(C1) %>%
  summarise(
    total_rows = n(),
    n_condition = sum(C2 == "T")
  )

内容的提问来源于stack exchange,提问作者German Romero Acevedo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 12:54:03