当我想加入数据时,有没有办法获得rworldmap包支持的国家,地区(?)和大陆的列表?
我做了一些谷歌搜索,我刚刚开始使用R.
感谢。
答案 0 :(得分:6)
在我看来,rworldmap
包在maps
包之上提供了一些额外的功能。
如果确实如此,您可以执行以下操作:
library(maps)
x <- map("world", plot=FALSE)
str(x)
List of 4
$ x : num [1:27121] -130 -130 -132 -132 -132 ...
$ y : num [1:27121] 55.9 56.1 56.7 57 57.2 ...
$ range: num [1:4] -180 190.3 -85.4 83.6
$ names: chr [1:2284] "Canada" "South Africa" "Denmark" "Great Lakes:Superior, Huron, Michigan" ...
- attr(*, "class")= chr "map"
这将提取maps
数据库,元素names
包含每个地图多边形的名称。这些名称实际上是一个多级列表,其中元素由冒号分隔。例如,要获取属于英国的多边形列表:
x$names[grep("UK", x$names)]
[1] "UK:Gibralter"
[2] "UK:Scotland:Isle of Lewis"
[3] "UK:Pitcairn Island"
[4] "UK:Guernsey"
[5] "UK:Great Britain"
[6] "UK:Scotland:Shetland Islands:Unst"
[7] "UK:Saint Mary's"
[8] "UK:Scotland:Shetland Islands:Yell"
[9] "UK:Northern Ireland"
[10] "UK:Bermuda"
[11] "UK:Tristan da Cunha Island"
[12] "UK:Scotland:Saint Kilda"
[13] "UK:Scotland:Ruhm"
[14] "UK:Scotland:Benbecula"
[15] "UK:Scotland:North Uist"
[16] "UK:Saint Helena Island"
[17] "UK:Scotland:Island of Skye"
[18] "UK:Scotland:Barra"
[19] "UK:Scotland:Island of Mull"
[20] "UK:Henderson Island"
[21] "UK:Isle of Sheppey"
[22] "UK:Jersey"
[23] "UK:Scotland:Coll"
[24] "UK:Scotland:Jura"
[25] "UK:Scotland:Island of Arran"
[26] "UK:Scotland:Tiree"
[27] "UK:Scotland:Islay"
[28] "UK:Ascension Island"
[29] "UK:Scotland:Colonsay"
[30] "UK:Scotland:Shetland Islands:Mainland"
[31] "UK:Scotland:South Uist"
[32] "UK:Scotland:Orkney Islands:Hoy"
[33] "UK:Gough Island"
[34] "UK:Scotland:Orkney Islands:Mainland"
答案 1 :(得分:3)
看一下这个小插曲看起来应该有用:
require(rworldmap)
data(countryExData
countries <- countryExData[ , 2]
EPI_regions <- countryExData[ , 3]
GEO_regions <- countryExData[ , 4]
如果你想在文法学校教授大陆分部,那么GEO_regions需要进一步处理:
> countryExData[ 1:10, 2:4]
Country EPI_regions
1 Angola Sub-Saharan Africa
2 Albania Central and Eastern Europ
3 United Arab Emirates Middle East and North Africa
4 Argentina Latin America and Caribbe
5 Armenia Middle East and North Africa
6 Australia East Asia and the Pacific
7 Austria Europe
8 Azerbaijan Central and Eastern Europ
9 Burundi Sub-Saharan Africa
10 Belgium Europe
GEO_subregion
1 Southern Africa
2 Central Europe
3 Arabian Peninsula
4 South America
5 Eastern Europe
6 Australia + New Zealand
7 Western Europe
8 Eastern Europe
9 Eastern Africa
10 Western Europe
答案 2 :(得分:2)
我有理由相信这些名称与maps包中的名称不同。您可以使用此代码获取名称和代码列表。
library(rworldmap)
temp_map = getMap(resolution='coarse')
temp_map@data
名称位于temp_map@data[['NAME']]
。
但是,如果可以的话,最好使用其中一个ISO代码集。数据集之间的名称极不一致,有时令人沮丧的差异会打破它。例如,科特迪瓦可以在有或没有抑扬符的情况下给出,并且即使它显示相同,有时也会对旋律进行不同的编码。
答案 3 :(得分:0)
查看map_data
中的ggplot2
功能。它将R映射转换为data.frames。