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

R语言如何使用另一数据框的列值补全当前数据框的球队全称

实现方案

方案1:手动映射补全(推荐,准确率100%)

英超球队常用简称固定,手动构造映射表即可无错误完成补全,代码如下:

# 构造简称到完整队名的映射关系
team_mapping <- c(
  "Blackburn" = "Blackburn Rovers",
  "Bolton" = "Bolton Wanderers",
  "Manchester Utd" = "Manchester United",
  "Newcastle Utd" = "Newcastle United",
  "QPR" = "Queens Park Rangers",
  "Tottenham" = "Tottenham Hotspur",
  "West Brom" = "West Bromwich Albion",
  "Wolves" = "Wolverhampton Wanderers"
)

# 补全table_1的Team字段
table_1_fixed <- table_1 %>%
  mutate(Team = dplyr::recode(Team, !!!team_mapping))

# 校验匹配结果,返回20代表所有球队都和color_table的完整队名匹配成功
sum(table_1_fixed$Team %in% color_table$Team)

方案2:模糊匹配自动补全

如果不想手动维护映射表,可以用字符串编辑距离做模糊匹配,代码如下:

# 未安装stringdist包先执行安装
# install.packages("stringdist")
library(stringdist)

table_1_fuzzy <- table_1 %>%
  mutate(
    Team = color_table$Team[amatch(
      x = Team, 
      table = color_table$Team, 
      maxDist = 5, # 可根据匹配结果调整允许的最大编辑距离
      method = "lv"
    )]
  )

注意:模糊匹配需要调整maxDist参数保证匹配准确性,球队名差异较大时可能出现匹配错误,优先推荐方案1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:06:08