我将rworldmap包与WorldBank数据一起使用,我很喜欢。我想绘制伊朗的 map ,并提供与每个省有关的数据。这样做的步骤是什么?我知道我们可以在R中为美国这样的某些国家/地区绘制这样的 map ,但并非所有国家/地区都可以。

最佳答案

您可以将rworldmap与@jazzurro的好建议结合起来,使用raster来获取GADM边界。

我怀疑您的主要困难可能是使省名与您的数据和 map 相匹配。

下面的示例使用您可以更改的默认值,并且仅为每个省提供不同的颜色。

library(raster)
library(rworldmap)
## 1 Get map of provinces (level 1 admin regions)
iranLevel1<- raster::getData("GADM", country = "Iran", level = 1)

## 2 join your [data] onto the map by specifying the join column in each
## this will report on any mis-matches between province names
#iranLevel1 <- rworldmap::joinData2Map([data],nameMap="iranLevel1",nameJoinIDMap="NAME_1",nameJoinColumnData=[insert])

## 3 plot map (change NAME_1 to the data you want to plot)
rworldmap::mapPolys(iranLevel1, nameColumnToPlot="NAME_1", addLegend=FALSE)

## 4 add text labels for provinces
text(iranLevel1, label="NAME_1", cex=0.7)

请注意,joinData2Map()mapPolys()joinCountryData2Map()mapCountryData()更通用。

另一种方法是使用choroplethr包。

09-15 16:41