2014-10-22 4 views
1

У меня есть список стран, которые мне нужно преобразовать в стандартизованный формат (iso3c). У некоторых есть длинные имена, у других - коды из 2 или 3 цифр, а другие не отображают название всей страны, например «Африка», а не «Южная Африка». Ive сделал некоторые исследования и пришел, чтобы использовать пакет countrycode в R. Однако, когда я пытался использовать «regex», R, похоже, не узнал его. Im получение ошибки ниже:R: пакет Countrycode не поддерживает регулярное выражение как источник

> countrycode(data,"regex","iso3c", warn = TRUE) 
Error in countrycode(data, "regex", "iso3c", : 
Origin code not supported 

Любой другой вариант, который мне нужно сделать?

Спасибо!

+2

Здравствуйте. Чтобы сделать воспроизводимый пример, вы можете использовать 'reproduce ()'. Инструкции здесь: http://bit.ly/SORepro - [Как сделать отличный пример воспроизведения R] (http://bit.ly/SORepro) –

+0

@dixi Пожалуйста, проверьте эту ссылку https://github.com/ vincentarelbundock/countrycode Я предполагаю, что 'regex' здесь не вариант. Скорее он использует 'regex', указанный в' countrycode_data' для преобразования, когда вы используете какие-либо опции 'cown',' cowc' и т. Д. – akrun

+0

я вижу .. я использовал этот документ, но не понял его правильно. Благодаря! – dixi

ответ

0

Вы можете просмотреть README для пакета countrycode здесь https://github.com/vincentarelbundock/countrycode, или вы можете вытащить файл справки в R, введя его в свою консоль R ?countrycode::countrycode.

«regex» не является допустимым значением «origin» (2-й аргумент в функции countrycode()). Вы должны использовать один из «cowc», «cown», «eurostat», «fao», «fips105», «imf», «ioc», «iso2c», «iso3c», «iso3n», «p4_ccode», «wb», «wvs», «country.name», «country.name.de» (с использованием последней версии 0.19).

Если вы используете одну из следующих значений «происхождения», соответствующий регулярное выражение будет выполняться автоматически: «country.name» или «country.name.de»

Если вы используете пользовательский словарь с новый (начиная с версии 0.19) аргумент custom_dict, вы должны установить аргумент origin_regex в значение TRUE для соответствия регулярных выражений.

В вашем примере, это должно делать то, что вы хотите: countrycode(data, origin = "country.name", destination = "iso3c", warn = TRUE)