2011-10-14 16 views
5

Có cách nào để lấy danh sách các quốc gia, khu vực (?) Và lục địa mà gói rworldmap hỗ trợ khi tôi muốn tham gia dữ liệu không?rworldmap package countrylist

Tôi đã thực hiện một số tìm kiếm trên google và chỉ mới bắt đầu bằng R.

Cảm ơn.

+0

'rworldmap' là gì? Bạn đã tìm thấy gói này trong gói nào? – Andrie

+0

Gói R của nó: http://cran.r-project.org/web/packages/rworldmap/index.html Tôi đã chỉnh sửa câu hỏi để làm cho mọi thứ trở nên rõ ràng hơn. – cs0815

+0

Tôi đoán bạn đã đọc hai họa tiết gói mà bạn có thể tìm thấy trên trang bạn liên kết đến? Chúng dường như chứa rất nhiều ví dụ và câu hỏi thường gặp hữu ích. – Andrie

Trả lời

6

Dường như đối với tôi gói rworldmap cung cấp một số chức năng bổ sung ở trên gói maps.

Nếu đây thực sự là trường hợp, bạn có thể làm như sau:

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" 

này chiết xuất từ ​​các cơ sở dữ liệu maps, và các yếu tố names chứa tên cho mỗi đa giác bản đồ. Những tên này trong thực tế là một danh sách đa cấp nơi các phần tử được phân cách bằng dấu hai chấm. Ví dụ, để có được danh sách các đa giác thuộc Vương quốc Anh:

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

Nhìn vào một trong những họa tiết có vẻ như điều này sẽ làm việc:

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

Nếu bạn muốn để có được các đơn vị lục dạy trong trường ngữ pháp sau đó sẽ tiếp tục xử lý cần thiết trên GEO_regions e 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

Hãy nhìn vào các map_data chức năng trong ggplot2. Nó chuyển đổi bản đồ R thành data.frames.

2

Tôi chắc chắn rằng tên không giống như trong gói bản đồ. Bạn có thể nhận danh sách tên và mã với mã này.

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

Tên có trong [email protected][['NAME']]. Tuy nhiên, bạn nên sử dụng một trong các bộ mã ISO nếu có thể. Tên là cực kỳ không nhất quán giữa các tập dữ liệu, và đôi khi bực bội sự khác biệt sẽ phá vỡ nó. Ví dụ, Cote d'Ivoire có thể được đưa ra có hoặc không có dấu mũ, và dấu mũ đôi khi được mã hóa khác nhau mặc dù nó được hiển thị giống nhau.

0

Tôi gặp lỗi dẫn đến giải pháp này getMap() $ NAME

Các vấn đề liên quan