Пространственная визуализация с использованием названий стран - R - PullRequest
0 голосов
/ 13 июля 2020

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

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

В моем фрейме данных у меня есть столбец с названиями стран, но у меня нет информации о широте / долготе. Как я могу сделать этот график, используя только названия стран?

1 Ответ

0 голосов
/ 13 июля 2020

Много вариантов. Один из них - это пакет rworldmap .

library(rworldmap)

Нам нужны данные для сопоставления.

COVID <- read.csv("https://opendata.ecdc.europa.eu/covid19/casedistribution/csv", na.strings = "", fileEncoding = "UTF-8-BOM")

Агрегировать, чтобы получить общее количество наблюдений.

library(dplyr)

CASES <- COVID %>% group_by(countriesAndTerritories) %>%
  summarise(`Total cases` = sum(cases)) %>%
  mutate(countriesAndTerritories=gsub("_", " ", countriesAndTerritories))        

Если у вас уже есть данные, вы можете начать отсюда. Всего два шага.

Шаг 1. Присоедините карту к вашим собственным данным, используя "NAME" для joinCode и имя переменной в ваших данных, которая представляет название страны для nameJoinColumn.

COVID.map <- joinCountryData2Map(CASES, joinCode = "NAME", nameJoinColumn = "countriesAndTerritories")

Шаг 2. Постройте этот объект.

par(mar=c(0,0,1,0))
mapCountryData(COVID.map, nameColumnToPlot="Total cases")

enter image description here

It's not a particularly useful map because the data are highly skewed. But you can see how easy it is. The most difficult part is to ensure your country names match those from the package. You can see these from:

countryRegions$ADMIN
[1] "Afghanistan"                  "Akrotiri Sovereign Base Area" "Aland"                       
[4] "Albania"                      "Algeria"                      "American Samoa"

There's also a country synonym data base:

countrySynonyms 

A ggplot version:

library(ggplot2)
library(scales)
library(sf)
library(rnaturalearth)
library(rnaturalearthdata)

world 

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

...