Как указать страны / регион при создании карт в R?

карта ("США") по умолчанию отображает карту без Аляски и Гавайев. карта ("Мир") имеет Antartica по умолчанию. Есть ли способ сказать "включить Аляску", "исключить антартику" и т. д.?

2 ответов


короткий ответ:

nams <- map("world", namesonly=TRUE, plot=FALSE)

map("world", region=nams[-grep("Antarctica", nams)])

более длинный ответ:

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


Если вы ищете только эти области, жестоким решением было бы использовать карту мира, укажите США как region и определите широту / долготу для создания ограничений, поэтому на карте будет отображаться только определенная область:

library(maps)
long <- c(-180,-50)
lat <- c(10,80)
map("world",regions=".*usa",xlim=long,ylim=lat)

enter image description here