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

R语言按AB、CD分组计算EF统计量与GH类别计数的实现问题

R分组聚合计算问题修正方案

前置要求:需已加载dplyr包,若未加载先执行library(dplyr)

问题1:生成含EF统计值的df_1

报错原因

summarise参数不符合语法要求,核心问题两点:

  • summarise的参数规则为 新列名 = 对分组内数据的计算逻辑,不能直接把函数名作为输入
  • max()/min()/mean()是统计函数,需要传入待计算的EF列作为参数

正确代码

df_1 <- df_original %>%
  group_by(AB, CD) %>%
  summarise(
    Max = max(EF),
    Min = min(EF),
    Mean = mean(EF),
    .groups = "drop" # 可选参数,取消分组属性避免后续操作报错
  )

输出验证

执行后得到的结果完全符合预期:

AB    CD  Max  Min  Mean 
A     0   14   12   13
A     1   18   16   17.25
A-2   0   78   12   34
A-2   1   47   12   31

问题2:生成含GH计数的df_2

原有代码的问题

  • 把GH加入分组字段,会导致输出按AB+CD+GH三元组分组,得到每行对应一个GH取值的长格式结果,不符合需要的宽格式
  • summarise(sum)的写法和问题1一致,未指定具体计算逻辑

正确代码

直接在按AB、CD分组后,用逻辑判断加求和的方式生成两个计数列,无需额外转置操作:

df_2 <- df_original %>%
  group_by(AB, CD) %>%
  summarise(
    M_total = sum(GH == "M"),
    F_total = sum(GH == "F"),
    .groups = "drop"
  )

输出验证

执行后结果完全匹配预期:

AB    CD  M_total  F_total
A     0   1        2
A     1   3        1
A-2   0   2        1
A-2   1   1        2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 02:36:07