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

如何按GameID对足球赛事统计DataFrame的对应字段求和?

解决方案:按GameID分组汇总赛事数据

方法一:使用dplyr包(推荐,语法更直观)

如果还没安装dplyr,先执行安装命令:

install.packages("dplyr")

然后通过分组+汇总实现需求:

library(dplyr)

# 替换your_data_frame为你的实际DataFrame名称
summary_df <- your_data_frame %>%
  group_by(GameID, leagueID) %>%  # 按赛事编号和联赛编号分组(同一赛事的联赛编号一致)
  summarise(
    total_goals = sum(goals),     # 计算单场总进球数
    total_fouls = sum(fouls),     # 计算单场总犯规数
    .groups = "drop"              # 取消分组状态,返回普通DataFrame
  )

方法二:使用base R的aggregate函数

无需额外安装包,直接用基础函数实现:

# 替换your_data_frame为你的实际DataFrame名称
summary_df <- aggregate(
  cbind(goals, fouls) ~ GameID + leagueID, 
  data = your_data_frame, 
  FUN = sum
)

# 可选:重命名列名让结果更清晰
colnames(summary_df) <- c("GameID", "leagueID", "total_goals", "total_fouls")

关键说明

你之前用rowSums()无效的原因是:rowSums()是对单行内的多个列求和,而你需要的是对同一GameID分组下的多行同列值求和,分组聚合才是正确的处理逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:01:05