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

R语言如何按唯一ProjectID分组求和hour_difference并获取耗时Top3项目

R 按项目分组求和取耗时Top3 实现方案

原代码问题说明

  • 分组逻辑错误:group_by 中额外加入了hour_difference字段,会按「项目ID+单条记录耗时」两个维度拆分分组,无法得到单个项目的总耗时
  • 语法不匹配:summarize 未指定计算目标字段,且sort_values()是Python pandas的排序方法,R dplyr中排序应使用arrange()

正确实现代码

library(dplyr)

# 按唯一ProjectID分组求和、降序排序
project_total_hour <- df %>%
  group_by(ProjectID) %>% 
  summarise(total_hour = sum(hour_difference)) %>% 
  arrange(desc(total_hour))

# 如需直接提取耗时最长的Top3项目,补充slice操作即可
top3_project <- project_total_hour %>%
  slice(1:3)

# 查看结果
print(project_total_hour)
print(top3_project)

结果验证

各项目总耗时计算结果和预期完全匹配:
ProjectID 950 总耗时:0.75 + 1.18 + 2.78 + 9.55 = 14.26
排序后完整输出:

# A tibble: 4 × 2
  ProjectID total_hour
       <dbl>      <dbl>
1       950      14.3 
2      1050       9.99
3       200       9.81
4       500       9.42

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:54:05