Добавление точек данных на карту мира в R

Опубликовано: 13 Сентября, 2022

В этой статье мы увидим, как добавить DataPoint на карту мира на языке программирования R. Карту мира в R можно нарисовать на графическом устройстве с помощью различных внешних пакетов в R Programming. Точки могут быть отмечены, а данные могут быть аннотированы на этих графиках с использованием различных методов.

Используемый набор данных: worldcities.csv

R




# Read dataset and convert it into
# Dataframe
data <- read.csv("worldcities.csv")
df <- data.frame(data)
head(df)

Выход:

Способ 1: Использование пакета карт

Карты: пакет «карты» в R используется для рисования и отображения географических карт. Он содержит различные базы данных для обозначения стран, континентов и морей. Пакет можно установить и загрузить в рабочее пространство с помощью следующей команды:

install.packages("maps")

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

map(database = “world”)

Данные могут быть указаны в виде широт и долгот и названий городов. Затем точка может быть аннотирована на этом графике с помощью метода plot(). Его можно настроить с помощью различных атрибутов, чтобы улучшить читаемость и улучшить графику.

Примечание: мы нанесем первые 500 городов.

R




# Load the required libraries
library(maps)
map(database = "world")
  
# marking points on map
points(x = df$lat[1:500], y = df$lng[1:500], col = "Red")

Выход:

Способ 2: использование ggplot2 и карты

Здесь мы собираемся использовать ggplot2() и карту, функция map_data() возвращает набор данных страны вместе с долготой и широтой.

R




library(ggplot2)
library(maps)
  
usa <- map_data("usa")
head(usa)

Выход:

Теперь мы строим карту мира вместе с точками данных:

R




df = head(usa)
map(database="world")
  
# marking points on map
text(x = df$long, y = df$lat, col = "Red")

Выход: