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