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

RStudio中用dplyr按前三列分组并按第四列求和降序排列

用dplyr实现需求的简洁方案

没问题!用dplyr来处理这个需求简直是量身定做,我给你写个清晰的实现代码,再拆解下每一步的作用:

假设你的数据框名为df,前三列分别是col1、col2、col3,第四列是需要求和的col4,代码如下:

# 先加载dplyr包(如果没安装的话先跑install.packages("dplyr"))
library(dplyr)

# 核心处理逻辑
result_df <- df %>%
  # 按前三列分组,自动筛选出所有唯一的三元组组合
  group_by(col1, col2, col3) %>%
  # 计算每组第四列的总和,同时取消分组状态避免后续操作受影响
  summarise(total = sum(col4), .groups = "drop") %>%
  # 按求和结果降序排列
  arrange(desc(total))

关键步骤解释:

  • group_by(col1, col2, col3):这一步会自动把前三列完全相同的行归为一组,相当于直接提取了所有不同的三元组组合。
  • summarise(total = sum(col4), .groups = "drop"):对每个分组计算第四列的总和,.groups = "drop"参数是为了让结果回到普通数据框状态,不会带着分组信息干扰后续操作。
  • arrange(desc(total)):按照求和得到的total列从大到小排序,正好满足你降序排列的要求。

你只需要把代码里的列名替换成自己数据框的实际列名就行啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:18:17