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

基于对应行替换数据:将iso_o/iso_d的国家代码替换为对应国名

国家代码替换为名称的处理方案

原始数据

# A tibble: 10 × 4
   code  country              iso_o iso_d
   <chr> <chr>                <chr> <chr>
 1 ABW   Aruba                ABW   ABW  
 2 AFG   Afghanistan          ABW   AFG  
 3 AGO   Angola               ABW   AGO  
 4 AIA   Anguilla             ABW   AIA  
 5 ALB   Albania              ABW   ALB  
 6 AND   Andorra              ABW   AND  
 7 ANT   Netherland Antilles  ABW   ANT  
 8 ARE   United Arab Emirates ABW   ARE  
 9 ARG   Argentina            ABW   ARG  
10 ARM   Armenia              ABW   ARM  

需求说明

现有包含code、country、iso_o、iso_d四列的tibble数据:

  • code列存储国家代码,country列存储对应国家名称
  • 需要将iso_o和iso_d列中所有与code列匹配的代码,替换为对应的country名称(例如所有ABW替换为Aruba)

数据结构

structure(list(code = c("ABW", "AFG", "AGO", "AIA", "ALB", "AND", 
"ANT", "ARE", "ARG", "ARM"), country = c("Aruba", "Afghanistan", 
"Angola", "Anguilla", "Albania", "Andorra", "Netherland Antilles", 
"United Arab Emirates", "Argentina", "Armenia"), iso_o = c("ABW", 
"ABW", "ABW", "ABW", "ABW", "ABW", "ABW", "ABW", "ABW", "ABW"
), iso_d = c("ABW", "AFG", "AGO", "AIA", "ALB", "AND", "ANT", 
"ARE", "ARG", "ARM")), row.names = c(NA, -10L), class = c("tbl_df", 
"tbl", "data.frame"))

处理代码

使用dplyr包可高效完成替换,步骤如下:

  1. 创建代码-国家名称的映射向量:
library(dplyr)

# 假设你的数据框名为df
code_to_country <- setNames(df$country, df$code)
  1. 批量替换iso_o和iso_d列:
df_processed <- df %>%
  mutate(across(c(iso_o, iso_d), ~recode(., !!!code_to_country)))

处理后结果示例

处理后的tibble如下:

# A tibble: 10 × 4
   code  country              iso_o  iso_d       
   <chr> <chr>                <chr>  <chr>       
 1 ABW   Aruba                Aruba  Aruba       
 2 AFG   Afghanistan          Aruba  Afghanistan 
 3 AGO   Angola               Aruba  Angola      
 4 AIA   Anguilla             Aruba  Anguilla    
 5 ALB   Albania              Aruba  Albania     
 6 AND   Andorra              Aruba  Andorra     
 7 ANT   Netherland Antilles  Aruba  Netherland Antilles
 8 ARE   United Arab Emirates Aruba  United Arab Emirates
 9 ARG   Argentina            Aruba  Argentina   
10 ARM   Armenia              Aruba  Armenia     

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:42:30