rworldmap包countrylist

时间:2011-10-14 11:00:14

标签: r rworldmap

当我想加入数据时,有没有办法获得rworldmap包支持的国家,地区(?)和大陆的列表?

我做了一些谷歌搜索,我刚刚开始使用R.

感谢。

4 个答案:

答案 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。