countrycode() 不承认科索沃?

countrycode() doesn't recognize Kosovo?

我想我在包中发现了一个错误或者更确切地说是缺少更新 countrycode:

library(countrycode)
testData <- data.frame(country=c(rep("Germany",3),rep("Kosovo",3)))
testData$iso3 <- countrycode(testData$country, "country.name", "iso3c")

这不仅是出于政治原因,还因为国际货币基金组织或国际清算银行等国际组织的数据集中包含科索沃。 Countrycode 将在此处生成 NA's

我该如何处理这些信息? iso3c我觉得应该是KSV

编辑:我联系了软件包维护者,他回答说,在科索沃被正式承认之前,他宁愿保持这种状态。

您请求了 ISO 国家代码,而 ISO 根本没有为科索沃分配代码。不过,FIPS 有:

> countrycode('Kosovo', 'country.name', 'fips104')
[1] "KV"

如果您想要“KSV”作为结果,您可以改用世界银行代码:

> countrycode('Kosovo', 'country.name', 'wb')
[1] "KSV"

如果你想转换成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"