Как создать карту мира в R с указанием конкретных стран?

Я хотел бы использовать R для создания очень простой карты мира с конкретным набором стран, заполненным красным цветом, чтобы указать, что они являются эндемичными по малярии странами.

У меня есть список этих стран в кадре данных, но я изо всех сил пытаюсь наложить их на карту мира.

Я пытался использовать wrld_simpl объект, а также joinCountryData2Map метод в rworldmap пакет.

Я бы прокомментировал этот ответ, чтобы предотвратить добавление возможно лишнего вопроса, но в данный момент мне не хватает репутации, извиняюсь за это.

/questions/31108340/ispolzovanie-paketa-kart-r-raskraska-otdelnyih-stran-na-karte-mira/31108347#31108347

Я с трудом понимаю аргументы, приведенные plot() команда - мне было интересно, есть ли просто способ сказать R, чтобы отобразить все ИМЕНА страны в моем списке на wrld_simpl карта вместо использования grepl() и т. д.

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

3 ответа

Решение

С использованием rworldmap пакет, вы можете использовать следующее:

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

Попробуйте использовать пакет googleVis и используйте функции gvisGeoMap

например

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

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

введите описание изображения здесь

Другие вопросы по тегам