如何在R中创建地图时指定国家/地区?

时间:2012-03-04 15:10:50

标签: r maps ggplot2

map(" usa")默认显示没有阿拉斯加和夏威夷的地图。 map(" world")默认使用Antartica。有没有办法说"包括阿拉斯加","排除南极洲"等?

2 个答案:

答案 0 :(得分:5)

快速回答:

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

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

更长的答案:

“世界”中的地图数据由地区名称引用,这些通常是“大陆:国家”或“大陆:子区域”格式的字符数据。要获取外部数据库中的名称,您需要首先使用带有仅返回名称的参数的map(“world”,...),而不是所有其他坐标。如果要查找包含条目的所有“Antarctica”,则需要使用grep()来标识它们在返回的名称向量中的位置。

答案 1 :(得分:4)

如果您只是寻找这些区域,那么残酷的解决方案就是使用世界地图,将美国指定为region并定义纬度/经度以创建限制,因此地图将仅显示特定区域:

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

enter image description here