如何用R语言将国家ISO代码转换为该国母语名称?
解决方案:用countrycode直接转换ISO代码为本地母语名称
你可以直接使用countrycode包的countrycode()函数,通过指定destination = "country.name.local"参数,无需预先知晓目标语言代码,就能将ISO 2位代码转换为对应国家的母语官方名称。
具体步骤与代码示例
- 加载所需包并获取spData中的国家数据:
library(spData) library(countrycode) # 从spData的world数据集提取英文名称和ISO 2位代码 country_info <- world[, c("name_long", "iso_a2")]
- 执行ISO代码到本地名称的转换:
# 添加本地母语名称列 country_info$local_name <- countrycode(country_info$iso_a2, origin = "iso2c", destination = "country.name.local")
- 查看示例结果:
# 筛选CN、DE、MA三个国家的结果 country_info[country_info$iso_a2 %in% c("CN", "DE", "MA"), ]
运行后会得到如下结果:
name_long iso_a2 local_name China China CN 中国 Germany Germany DE Deutschland Morocco Morocco MA المملكة المغربية
补充说明
country.name.local是countrycode内置的映射规则,返回的是各国官方认定的本地母语名称,覆盖了绝大多数国家的需求。- 如果需要对特定国家的名称做更细致的调整,可以查阅
countrycode的官方文档(?countrycode),了解更多可选的destination参数或自定义映射的方法。
内容的提问来源于stack exchange,提问作者Terence Eden
相关产品推荐
相关产品推荐

