问题描述
我有一系列仅包含要在R中转换为国家/地区名称向量的省/国家/地区名称的字符串。使用countrycode
包提取国家/地区名称相对容易,但我没有查看使用该软件包将省名转换为国家/地区的方法。
例如:
provinces <- c("The governor of Florida","The Premier of Ontario","Jalisco has a province-wide policy")
我希望找到一种将provinces
向量转换为类似于c("United States of America","Canada","Mexico")
的向量的方法。
解决方法
从上面的评论中,我意识到您可以在countrycode
中使用自定义词典,从而可以合并国家以下的数据。
编辑:
以下是一个完全可复制的示例,因为上一个没有完全起作用:
require(countrycode)
require(choroplethrAdmin1)
# example data
provinces <- c("The governor of Florida","Tim Stevenson leads Oxfordshire","Gobierno del Estado de Hidalgo")
# remove punctuation
provinces <- gsub("[[:punct:]\n]","",provinces)
# load administrative division dictionary
data(admin1.regions)
# remove duplicate region names (countrycode function only accepts unique names)
admin1.regions <- admin1.regions[!duplicated(admin1.regions$region),]
# convert provinces to country
provinces_to_country <- countrycode(provinces,"region","country",custom_dict = admin1.regions,origin_regex = TRUE)
旧的,不可复制的示例:
require(countrycode)
require(choroplethrAdmin1)
# example data
provinces <- c("The governor of Florida","The Premier of Ontario","Jalisco has a province-wide policy")
# remove punctuation
provinces <- gsub("[[:punct:]\n]",origin_regex = TRUE)