2012-06-27 18 views
15

Sıt endemik ülkeler olduklarını belirtmek için kırmızı renkle dolu belirli bir ülke grubuyla çok basit bir dünya haritası oluşturmak için R'yi kullanmak istiyorum.Belirli ülkelerde R ile bir dünya haritası nasıl oluşturulur?

Veri çerçevesindeki bu ülkelerin bir listesini görüyorum ancak bunları bir dünya haritasına yerleştirmek için mücadele ediyorum.

I wrld_simpl nesne ve rworldmap paketinde joinCountryData2Map yöntemiyle çalıştılar.

Muhtemelen gereksiz bir sorunun eklenmesini önlemek için bu cevaba yorum yapardım ancak şu an için yeterince özürüm yok, bunun için özür dilerim.

https://stackoverflow.com/a/9102797/1470099

ben zorluk plot() komutuna verilen argümanlar anlama yaşıyorum - wrld_simpl harita üzerinde listemde ülke adları tüm çizmek için Ar anlatmak yerine sadece kolay bir yolu olduğunu merak ettim vs vs

plot(wrld_simpl, 
    col = c(gray(.80), "red")[grepl("^U", [email protected]$NAME) + 1]) 
+0

@ttmaccer, neden bir cevap olarak eklemek? – A5C1D2H2I1M1N2O1R2T1

cevap

17

rworldmap paketini kullanarak aşağıdaki kullanabilirsiniz:

library(rworldmap) 

theCountries <- c("DEU", "COD", "BFA") 
# These are the ISO3 names of the countries you'd like to plot in red 

malDF <- data.frame(country = c("DEU", "COD", "BFA"), 
    malaria = c(1, 1, 1)) 
# malDF is a data.frame with the ISO3 country names plus a variable to 
# merge to the map data 

malMap <- joinCountryData2Map(malDF, joinCode = "ISO3", 
    nameJoinColumn = "country") 
# This will join your malDF data.frame to the country map data 

mapCountryData(malMap, nameColumnToPlot="malaria", catMethod = "categorical", 
    missingCountryCol = gray(.8)) 
# And this will plot it, with the trick that the color palette's first 
# color is red 
+0

çok teşekkürler, bu gerçekten bana yardımcı oldu ... hala haritada görünmeyen küçük Afrika ülkelerinden birkaçı var ama bu başka günler görevi olacak! – phlancelot

12

googleVis paketini kullanmayı deneyin ve kullanımı gvisGeoMap Fonksiyonlar

örn grepl() kullanarak

G1 <- gvisGeoMap(Exports,locationvar='Country',numvar='Profit',options=list(dataMode='regions')) 

plot(G1) 
+1

Vay, googleVis'in ne kadar güçlü olduğunu hiç fark etmemiştim! Çok basit bir sözdizimi, spatialPointsDataFrame's hakkında endişelenmenize gerek yok ve çıktı güzel! –

3
library(maptools) 
    data(wrld_simpl) 
    myCountries = [email protected]$NAME %in% c("Australia", "United Kingdom", "Germany", "United States", "Sweden", "Netherlands", "New Zealand") 
    plot(wrld_simpl, col = c(gray(.80), "red")[myCountries+1]) 

enter image description here

İlgili konular