2015-11-04 2 views
1

Я пытаюсь заполнить страну Нигер на карте() в пакете карт. Я понимаю, что конкретные страны, которые начинаются с определенных писем, будут замышляться, если вы не укажете, но я не могу заставить его замышлять только Нигер, не замышляя Нигерию.Неполадки в строительстве Нигера только без Нигерии r карт

library(maps) 
#plot map of Africa 
map(database = "world", regions = ".", xlim = c(-20,60), ylim = c(-40,40), wrap = FALSE, resolution = 2, type = "l", bg = par("bg"), myborder = 0.01) 

# fills in Nigeria alone 
map(regions = 'Nigeria',fill = TRUE, add = TRUE, col = 'green') 

#fills in the countries of Niger AND Nigeria 
map(regions = 'Niger',fill = TRUE, add = TRUE, col = 'gray') 

После прочтения документации «Карты» и найти this question я посмотрел в countrycode_data списке стран, из пакета «COUNTRYCODE» я нашел регулярное выражение \\bniger(?!ia), который я считаю, это часть моей проблемы. У меня та же проблема с любыми другими странами, которые начинаются с тех же букв или слов, таких как «Гвинея», «Папуа-Новая Гвинея» и «Гвинея-Бисау». Как я могу построить только название страны простейшей версии? Ни один из кодов из пакета countrycode не содержит ниггеров на карте.

ответ

5

Согласно map() описанию в карты библиотека manual:

точным: Если TRUE, только точные совпадения с регионами выбраны для чертежа. Если FALSE, каждый элемент регионов сопоставляется как регулярное выражение с именами многоугольников в базе данных, и все соответствия выбраны для рисования.

все, что необходимо, чтобы установить в exact=TRUE:

map(regions = 'Niger', exact=TRUE, fill = TRUE, add = TRUE, col = 'gray') 

, которая производит желаемый результат

enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^