Проблема в том, что по какой-то причине в словаре Всемирного банка нет кода для Сомали wb
:
countrycode::codelist[227, c("country.name.en", "iso3c", "wb")]
# country.name.en iso3c wb
# 227 Somalia SOM <NA>
Кроме того,
table(is.na(countrycode::codelist[227, ]))
#
# FALSE TRUE
# 678 3
гдеэти три NA
случая
# 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>
, так что, возможно, вы можете использовать wb_api3c
вместо:
(place$wb <- countrycode(sourcevar = place$iso3c, origin = "iso3c", destination = "wb_api3c"))
# [1] "SOM"
, хотя countrycode::codelist[, "wb_api3c"]
такжеимеет несколько пропущенных значений.