2011-10-14 8 views
5

¿Hay alguna manera de obtener la lista de países, regiones (?) Y continentes que admite el paquete rworldmap cuando quiero unir datos?rworldmap package countrylist

hice algunas búsquedas en Google y estoy empezando con R.

Gracias.

+0

¿Qué es 'rworldmap'? ¿En qué paquete encontraste esto? – Andrie

+0

Es un paquete R: http://cran.r-project.org/web/packages/rworldmap/index.html He editado la pregunta para que las cosas sean más claras. – cs0815

+0

Supongo que ha leído las dos viñetas del paquete que puede encontrar en la página que enlaza. Estos parecen contener muchos ejemplos útiles y preguntas frecuentes. – Andrie

Respuesta

6

Me parece que el paquete rworldmap proporciona alguna funcionalidad adicional sobre el paquete maps.

Si este es el caso, usted puede hacer lo siguiente:

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" 

Esto extrae la base de datos maps, y el elemento de names contiene el nombre de cada mapa de polígonos. Estos nombres son, de hecho, una lista de varios niveles donde los elementos están separados por dos puntos. Por ejemplo, para obtener la lista de polígonos que pertenecen al Reino Unido:

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" 
2

En cuanto a una de las viñetas, parece que esto debería funcionar:

require(rworldmap) 
data(countryExData 
countries <- countryExData[ , 2] 
EPI_regions <- countryExData[ , 3] 
GEO_regions <- countryExData[ , 4] 

Si quisieras conseguir las divisiones continentales que se enseñan en la escuela primaria, entonces no habría procesamiento adicional necesario en los e GEO_regions HT:

> 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 
0

Tome un vistazo a la función map_data en ggplot2. Convierte mapas R a data.frames.

2

Estoy razonablemente seguro de que los nombres no son los mismos que en el paquete de mapas. Puede obtener una lista de nombres y códigos con este código.

library(rworldmap) 
temp_map = getMap(resolution='coarse') 
[email protected] 

Los nombres están en [email protected][['NAME']]. Sin embargo, es una buena idea usar uno de los conjuntos de códigos ISO si puede. Los nombres son extremadamente inconsistentes entre los conjuntos de datos, y algunas veces las diferencias frustrantes lo romperán. Por ejemplo, Costa de Marfil se puede dar con o sin el circunflejo, y el circunflejo a veces se codifica de manera diferente aunque se muestre de la misma manera.

0

Recibí un error que me llevó a esta solución getMap() $ NOMBRE

Cuestiones relacionadas