Как создать карту мира в R с указанием конкретных стран?
Я хотел бы использовать R для создания очень простой карты мира с конкретным набором стран, заполненным красным цветом, чтобы указать, что они являются эндемичными по малярии странами.
У меня есть список этих стран в кадре данных, но я изо всех сил пытаюсь наложить их на карту мира.
Я пытался использовать wrld_simpl
объект, а также joinCountryData2Map
метод в rworldmap
пакет.
Я бы прокомментировал этот ответ, чтобы предотвратить добавление возможно лишнего вопроса, но в данный момент мне не хватает репутации, извиняюсь за это.
Я с трудом понимаю аргументы, приведенные 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])