R: map.match в мировой базе данных возвращает "Ошибка в tolower(шаблонах): объект" шаблоны "не найден"

Я пытаюсь создать пространственную карту, используя пакет maps в R. Однако, когда я пытаюсь использовать match.map() с использованием world База данных, я получаю следующую ошибку:

Ошибка в tolower(шаблонах): объект "шаблонов" не найден

Вот пример кода, который завершается с ошибкой выше:

match.map("world", "USA")

Однако выполнение сопоставления с другой базой данных (например, state или же legacy_world) работает просто отлично.

match.map("state", "Iowa")

match.map("legacy_world", "USA")

Кроме того, если я использую функцию карты и указываю регион для сопоставления, это также работает как ожидалось.

map("world", "USA")

Таким образом, проблема, кажется, ограничивается только map.match() функция и world база данных.

Я использую 64-битную Windows 7, R 3.2.2, RStudio 0.99.489 и последний пакет карт (то есть 3.0.0-2).

Если у кого-то есть мысли о том, что может вызвать эту проблему, пожалуйста, дайте мне знать. А пока я собираюсь найти обходной путь, включающий извлечение имен из мировой базы данных с использованием namesonly() команда и выполнение внешнего сопоставления имен, чтобы получить индексы многоугольника.

1 ответ

Решение

Мэтью,

К сожалению. Это ошибка в коде, которая действительно срабатывает только для "мировой" базы данных. Версией исправления будет карта 3.0.1, которая должна появиться на CRAN в течение дня или двух.

До тех пор, пока ошибка вызывается только для "мира", вы можете попытаться обойти ее, создав временную базу данных полигонов.

world <- map(plot=FALSE,resolution=0)

match.map(world,'USA')  # notice : world is unquoted

Вы получите предупреждение (которое также будет исправлено в 3.0.1), но, похоже, оно работает нормально.

Мои извинения за ошибку.

Alex

Другие вопросы по тегам