1 added
1 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: визуализация данных в r, картограммы, программирование на r, shape-файл, пакеты для создания карт, пакеты для обработки данных</p>
1
<p>Теги: визуализация данных в r, картограммы, программирование на r, shape-файл, пакеты для создания карт, пакеты для обработки данных</p>
2
<p><strong>Визуализация данных в R</strong>- крайне обширная и разнообразная тема. Существует большое количество как и самих форм презентации информации (т. е. самих видов графиков), так и пакетов,<strong>расширяющих возможности языка</strong>под отдельные задачи. В частности, R способен визуализировать пространственные данные посредством картограмм. В данном посте и пойдёт речь об этом не самом распространённом виде диаграмм.</p>
2
<p><strong>Визуализация данных в R</strong>- крайне обширная и разнообразная тема. Существует большое количество как и самих форм презентации информации (т. е. самих видов графиков), так и пакетов,<strong>расширяющих возможности языка</strong>под отдельные задачи. В частности, R способен визуализировать пространственные данные посредством картограмм. В данном посте и пойдёт речь об этом не самом распространённом виде диаграмм.</p>
3
<p><em>Небольшая ремарка</em>: подобные графики корректнее называть<strong>картограммами</strong>, а не картами, поскольку карты - это чертёж земной (в нашем случае) поверхности, а картограмма - способ изобразить статистические данные в пространстве. Но для краткости мы всё равно будем называть их "картами".</p>
3
<p><em>Небольшая ремарка</em>: подобные графики корректнее называть<strong>картограммами</strong>, а не картами, поскольку карты - это чертёж земной (в нашем случае) поверхности, а картограмма - способ изобразить статистические данные в пространстве. Но для краткости мы всё равно будем называть их "картами".</p>
4
<h2>Пакеты для карт</h2>
4
<h2>Пакеты для карт</h2>
5
<p>С картами в R справится как и обычный plot(), так и средства пакетов<strong>ggplot</strong>и<strong>ggmap</strong>.</p>
5
<p>С картами в R справится как и обычный plot(), так и средства пакетов<strong>ggplot</strong>и<strong>ggmap</strong>.</p>
6
#пакеты для создания карт: library("ggplot2") library("maptools") library("tmap") library("mapproj") #пакеты для обработки данных и прочего library("rgdal") library("rgeos") library("tidyverse") library("stringr") library("RColorBrewer")<h2>Откуда берутся карты?</h2>
6
#пакеты для создания карт: library("ggplot2") library("maptools") library("tmap") library("mapproj") #пакеты для обработки данных и прочего library("rgdal") library("rgeos") library("tidyverse") library("stringr") library("RColorBrewer")<h2>Откуда берутся карты?</h2>
7
<p>Говоря простым языком, карту можно представить в виде точек, линий и многоугольников (полигонов), в зависимости от того, что именно планируется изобразить. У нас<strong>речь пойдёт про регионы</strong>, поэтому будем рисовать полигоны.</p>
7
<p>Говоря простым языком, карту можно представить в виде точек, линий и многоугольников (полигонов), в зависимости от того, что именно планируется изобразить. У нас<strong>речь пойдёт про регионы</strong>, поэтому будем рисовать полигоны.</p>
8
<p>Проще всего скачать уже готовую карту и сразу начать с ней работать. В R для этой цели можно использовать<strong>файлы с расширениями .sh</strong>p (shape-файлы) и<strong>geoJSON</strong>.</p>
8
<p>Проще всего скачать уже готовую карту и сразу начать с ней работать. В R для этой цели можно использовать<strong>файлы с расширениями .sh</strong>p (shape-файлы) и<strong>geoJSON</strong>.</p>
9
<p>В качестве примера можно взять какой-нибудь свободный набор данных, например,<a>здесь</a>:</p>
9
<p>В качестве примера можно взять какой-нибудь свободный набор данных, например,<a>здесь</a>:</p>
10
map_shp <- readOGR(dsn = "~/Regions/Regions.shp") ## OGR data source with driver: ESRI Shapefile ## Source: "/Users/akondrashov/Regions/Regions.shp", layer: "Regions" ## with 83 features ## It has 2 fields<p>Получим объект с 2 полями (название региона - субъекта и какого округу он принадлежит) и 83 записями (83 региона в России). Объект<strong>shape-файла</strong>несколько отличается от привычных в R объектов: обращаться к его полям всё ещё можно через $, однако самое важное находится в слотах - к ним можно обратиться через @.</p>
10
map_shp <- readOGR(dsn = "~/Regions/Regions.shp") ## OGR data source with driver: ESRI Shapefile ## Source: "/Users/akondrashov/Regions/Regions.shp", layer: "Regions" ## with 83 features ## It has 2 fields<p>Получим объект с 2 полями (название региона - субъекта и какого округу он принадлежит) и 83 записями (83 региона в России). Объект<strong>shape-файла</strong>несколько отличается от привычных в R объектов: обращаться к его полям всё ещё можно через $, однако самое важное находится в слотах - к ним можно обратиться через @.</p>
11
<p>Структуру в этой заметке мы приводить не будем, из важного заметим, что помимо названий регионов, объект содержит<strong>координаты полигонов</strong>(границ регионов), а также используемый метод проекции.</p>
11
<p>Структуру в этой заметке мы приводить не будем, из важного заметим, что помимо названий регионов, объект содержит<strong>координаты полигонов</strong>(границ регионов), а также используемый метод проекции.</p>
12
kable(head(map_shp@data, 10), caption = "Первые 10 строчек")<h2>Первые 10 строчек</h2>
12
kable(head(map_shp@data, 10), caption = "Первые 10 строчек")<h2>Первые 10 строчек</h2>
13
-
NAME ADM3_NAME 0 Курганская область Уральский федеральный округ 1 Архангельская область Северо-Западный федеральный округ 2 Ненецкий автономный округ Северо-Западный федеральный округ 3 Новгородская область Северо-Западный федеральный округ 4 Курская область Центральный федеральный ок��уг 5 Липецкая область Центральный федеральный округ 6 Магаданская область Дальневосточный федеральный округ 7 Камчатский край Дальневосточный федеральный округ 8 Забайкальский край Сибирский федеральный округ 9 Республика Бурятия Сибирский федеральный округ<p>Что же, теперь займёмся самым интересным - "<strong>рисовашками</strong>". Но об этом поговорим в<a>следующей части</a>!</p>
13
+
NAME ADM3_NAME 0 Курганская область Уральский федеральный округ 1 Архангельская область Северо-Западный федеральный округ 2 Ненецкий автономный округ Северо-Западный федеральный округ 3 Новгородская область Северо-Западный федеральный округ 4 Курская область Центральный федеральный округ 5 Липецкая область Центральный федеральный округ 6 Магаданская область Дальневосточный федеральный округ 7 Камчатский край Дальневосточный федеральный округ 8 Забайкальский край Сибирский федеральный округ 9 Республика Бурятия Сибирский федеральный округ<p>Что же, теперь займёмся самым интересным - "<strong>рисовашками</strong>". Но об этом поговорим в<a>следующей части</a>!</p>
14
14