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

R语言按Job.Family列分组统计Salaries与Retirement总和的方法

数据样例

你可以通过以下几种常用方案实现按Job.Family分组求和的需求:

方法1:Base R 原生实现(无需额外安装包)

使用aggregate函数直接完成分组聚合,代码如下:

# 直接对选中的列按Job.Family分组求和
agg_result <- aggregate(. ~ Job.Family, 
                        data = data[1:20,c("Job.Family", "Salaries", "Retirement")], 
                        FUN = sum,
                        na.rm = TRUE)

参数说明:na.rm = TRUE可以避免列中存在空值时求和结果为NA,若确定数据无空值可省略该参数。


方法2:dplyr包实现(语法更清晰,主流数据分析方案)

# 未安装包先运行install.packages("dplyr")
library(dplyr)

agg_result <- data[1:20,c("Job.Family", "Salaries", "Retirement")] %>%
  # 指定分组字段
  group_by(Job.Family) %>%
  # 对每个分组计算两个字段的总和
  summarise(
    total_Salaries = sum(Salaries, na.rm = TRUE),
    total_Retirement = sum(Retirement, na.rm = TRUE)
  )

如果你不需要压缩行数,希望保留所有原始行的同时新增对应职业类别的总和字段,把代码中的summarise替换为mutate即可。


方法3:data.table包实现(适合十万行以上的大数据量场景)

# 未安装包先运行install.packages("data.table")
library(data.table)

# 转换为data.table格式
setDT(data)
agg_result <- data[1:20, 
                   .(total_Salaries = sum(Salaries, na.rm = TRUE),
                     total_Retirement = sum(Retirement, na.rm = TRUE)),
                   by = Job.Family]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:48:00