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

R语言按年份分组计算MMR均值排名、求国家多年平均排名问题

R代码修改方案

核心调整思路

  • 补充年度排名计算逻辑:在得到每年各国的平均MMR后,按年份分组完成年度内的升序排名
  • 补充跨年度平均排名计算逻辑:按国家分组对多年排名求均值
  • 补充Top10筛选逻辑:按平均排名升序排序后取前10条结果

完整可运行代码

library(dplyr)

result <- mmr %>% 
  # 计算每年每个国家的平均MMR,适配同国同年多条观测的场景
  group_by(country, year) %>% 
  summarise(annual_avg_mmr = mean(mmr, na.rm = TRUE), .groups = "drop_last") %>% 
  # 每年内按平均MMR升序排名,MMR越低排名越靠前
  group_by(year) %>% 
  mutate(annual_rank = min_rank(annual_avg_mmr)) %>% 
  # 计算每个国家跨所有年份的平均排名
  group_by(country) %>% 
  summarise(mean_rank_across_years = mean(annual_rank, na.rm = TRUE), .groups = "drop") %>% 
  # 按平均排名升序排列,提取平均排名最低的10个国家
  arrange(mean_rank_across_years) %>% 
  slice_head(n = 10)

# 输出结果表格
result

可选调整说明

如果需要自定义并列排名规则,可替换min_rank函数:

  • 用dense_rank:并列排名不占用后续名次位,比如两个并列第1后下一位是第2
  • 用row_number:强制给相同MMR的国家分配不同排名,避免并列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:36:05