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

使用dplyr进行分组计数与年龄求和的技术问题

解决dplyr分组求和与计数的问题

我来帮你搞定这个分组统计的问题!你原来的代码有几个语法小问题,我给你修正并解释清楚~

原代码的问题点:

  • 没有把数据框df传入管道,单独写group_by(Name)会找不到数据上下文,必须先指定数据源
  • summarise的语法错误,括号和逗号的位置不对,而且count(Name)不是在summarise里统计次数的正确方式

正确的实现代码:

library(dplyr)

# 你的原始数据
Name <- c("John","Mark","Ella","Mike","Zedd","John","Maria","Nick","John","Nick","Zedd","Andrea")
Age <- c(16,25,45,23,26,28,19,20,43,31,33,15)
df <- data.frame(Name,Age)

# 按Name分组,计算Age总和与出现次数
new_df <- df %>%
  group_by(Name) %>%
  summarise(
    Total_Age = sum(Age),  # 每个Name的Age总和
    Occurrences = n()      # 统计每个Name的出现次数,n()直接返回组内行数
  )

# 查看结果
print(new_df)

代码解释:

  • 用df %>%将数据框传入管道操作,确保后续所有函数都基于这个数据源
  • group_by(Name)指定按Name字段进行分组
  • 在summarise中同时生成两个汇总列:
    • Total_Age:用sum(Age)计算每个分组的Age总和
    • Occurrences:用n()直接统计每个分组的行数,也就是对应Name的出现次数,这是dplyr中统计组内数量最简洁的方法

运行后你会得到每个Name对应的年龄总和和出现次数的结果,完全符合你的需求~

内容的提问来源于stack exchange,提问作者CS.py

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 10:52:38