我认为我在程序包countrycode
中发现了一个错误或缺少更新:
library(countrycode)
testData <- data.frame(country=c(rep("Germany",3),rep("Kosovo",3)))
testData$iso3 <- countrycode(testData$country, "country.name", "iso3c")
这不仅是出于政治原因而且还因为国际货币基金组织或国际清算银行等国际组织确实将科索沃纳入其数据集中。国家/地区代码将在此处生成NA's
。
我该如何处理这些信息?我认为iso3c应该是KSV。
编辑:我联系了软件包维护者,他回答说,在科索沃正式得到认可之前,他宁愿保持这种方式。答案 0 :(得分:4)
您申请了ISO国家/地区代码,而ISO根本没有为科索沃分配代码。但是FIPS有:
> countrycode('Kosovo', 'country.name', 'fips104')
[1] "KV"
如果您想要“KSV”作为结果,您可以使用世界银行代码:
> countrycode('Kosovo', 'country.name', 'wb')
[1] "KSV"
答案 1 :(得分:1)
如果您想转换为iso3c,但同时同时将科索沃转换为KSV,您可以使用countrycode
参数custom_match
...
library(countrycode)
testData <- data.frame(country=c(rep("Germany",3),rep("Kosovo",3)))
countrycode(testData$country, "country.name", "iso3c",
custom_match = c(Kosovo = "KSV"))
#[1] "DEU" "DEU" "DEU" "KSV" "KSV" "KSV"