Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
countrycode软件包无法识别“;SOM";索马里as ISO3字符代码-r_R_Country Codes - Fatal编程技术网

countrycode软件包无法识别“;SOM";索马里as ISO3字符代码-r

countrycode软件包无法识别“;SOM";索马里as ISO3字符代码-r,r,country-codes,R,Country Codes,我在尝试将ISO3字符代码转换为世界银行代码时得到了一个奇怪的结果。值得注意的是,索马里在ISO3中没有得到承认 索马里ISO3字符代码为“SOM”: 例如: library(countrycode) place <- data.frame("iso3c" = "SOM") place iso3c 1 SOM place$wb <- countrycode(sourcevar = place$iso3c, origin = "iso3c", destination = "

我在尝试将ISO3字符代码转换为世界银行代码时得到了一个奇怪的结果。值得注意的是,索马里在ISO3中没有得到承认

索马里ISO3字符代码为“SOM”:

例如:

library(countrycode)
place <- data.frame("iso3c" = "SOM")

place
  iso3c
1   SOM

place$wb <- countrycode(sourcevar = place$iso3c, origin = "iso3c", destination = "wb")
Warning message:
In countrycode(sourcevar = place$iso3c, origin = "iso3c", destination = "wb") :
  Some values were not matched unambiguously: SOM

place
  iso3c   wb
1   SOM <NA>

但这种行为似乎仍然是错误的。我是遗漏了什么还是这是一个错误?

问题是,出于某种原因,世界银行字典中没有关于索马里的任何代码
wb

countrycode::codelist[227, c("country.name.en", "iso3c", "wb")]
#     country.name.en iso3c   wb
# 227         Somalia   SOM <NA>
这三个
NA
案例

#     eu28   wb wb.name
# 227 <NA> <NA>    <NA>


虽然countrycode::codelist[,“wb_api3c”]也有一些缺失值。

这是一个bug。我提交了一份报告

我认为目前最可取的解决方法(直到它被修复)是

place$wb <- countrycode(sourcevar = place$iso3c, origin = "iso3c", destination = "wb", custom_match = c("SOM" = "SOM"))

place$wb这很好,但是为什么wb库没有索马里的代码或wb.name?世界银行数据集当然使用当然使用国家。代码:SOM:;其他数据库也有此国家/地区代码:。这是图书馆里的一个bug吗?@MorrisseyJ,我对此一无所知,但是,例如,在你的第一个链接中,我们通过SO到达索马里,看起来像是
wb_api2c
。因此,也许世界银行字典中确实有不同的子类别。也许你可以问一下这个选择背后的原因是什么。
#     eu28   wb wb.name
# 227 <NA> <NA>    <NA>
grep("wb", colnames(countrycode::codelist))
# [1] 53 54 55 56 57
countrycode::codelist[227, 53:57]
#       wb wb_api.name wb_api2c wb_api3c wb.name
# 227 <NA>     Somalia       SO      SOM    <NA>
(place$wb <- countrycode(sourcevar = place$iso3c, origin = "iso3c", destination = "wb_api3c"))
# [1] "SOM"
place$wb <- countrycode(sourcevar = place$iso3c, origin = "iso3c", destination = "wb", custom_match = c("SOM" = "SOM"))