Научная статья на тему 'ИНТЕРАКТИВНАЯ ВИЗУАЛИЗАЦИЯ СЕТЕЙ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА R'

ИНТЕРАКТИВНАЯ ВИЗУАЛИЗАЦИЯ СЕТЕЙ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА R Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
24
3
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЯЗЫК R / СЕТЕВЫЕ ДАННЫЕ / VISNETWORK / R LANGUAGE / NETWORK DATA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хакимова Т.В.

В статье рассматривается пример визуализации сетей с использованием пакета visNetwork. Отмечаются положительные стороны использования данного пакета в сравнении с пакетом igraph. Описывается алгоритм создания интерактивной визуализации. Приводится пример создания интерактивной графики на примере набора данных lesmis.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хакимова Т.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INTERACTIVE NETWORK VISUALIZATION USING THE R LANGUAGE

The article discusses an example of network visualization using the visNetwork package. The advantages of using this package in comparison with the igraph package are noted. The algorithm for creating interactive visualization is described. An example of creating interactive graphics is given on the example of a lesmis dataset.

Текст научной работы на тему «ИНТЕРАКТИВНАЯ ВИЗУАЛИЗАЦИЯ СЕТЕЙ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА R»

УДК 004.6

Хакимова Т.В. студент магистратуры Хакасский государственный университет им. Н. Ф. Катанова

научный руководитель: Голубничий А.А.

старший преподаватель кафедра ПОВТиАС Россия, г. Абакан ИНТЕРАКТИВНАЯ ВИЗУАЛИЗАЦИЯ СЕТЕЙ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА R

Аннотация: В статье рассматривается пример визуализации сетей с использованием пакета visNetwork. Отмечаются положительные стороны использования данного пакета в сравнении с пакетом igraph. Описывается алгоритм создания интерактивной визуализации. Приводится пример создания интерактивной графики на примере набора данных lesmis.

Ключевые слова: язык R, сетевые данные, visNetwork

Khakimova T. V. magistracy student Katanov Khakass State University

Russia, Abakan Supervisor: Golubnichiy A.A.

Senior lecturer department of computing software and automated systems INTERACTIVE NETWORK VISUALIZATION USING THE R

LANGUAGE

Abstract: The article discusses an example of network visualization using the visNetwork package. The advantages of using this package in comparison with the igraph package are noted. The algorithm for creating interactive visualization is described. An example of creating interactive graphics is given on the example of a lesmis dataset.

Keywords: R language, network data, visNetwork

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

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

Можно использовать другие сервисы и технологии для визуализации

сетевых структур, однако, наиболее корректным на наш взгляд видится использование одной технологии как для обработки и анализа данных, так и для их визуализации. Для расширения функционала языка R, в целях визуализации сетевых структур, можно использовать ряд пакетов языка, находящихся в официальном репозитории пакетов CRAN [1].

Наиболее частым пакетом, для визуализации сетевых данных, является igraph [2]. Он может использоваться для визуализации любых сетевых данных. В настоящее время доступны сборки под языки R, Python, C++ и под систему компьютерной алгебры Mathematica. Данный пакет вполне можно использовать, но только в том случае, если есть задача получить статичные визуализации сетевых структур. Для создания интерактивной визуализации, в языке программирования R стандартно используются javascript библиотеки, упакованные в соответствующие пакеты языка R.

В рамках данного исследования нами выбран пакет visNetwork [3], который представляет собой интерфейс для языка R к библиотеке vis.js, которая в свою очередь используется для визуализации таблиц, графиков, временных рядов и сетевых структур [4]. Как понятно из названия, visNetwork используется для визуализации сетевых структур. Помимо интерактивности, еще одним преимуществом данного пакета является тот факт, что он полностью совместим с технологиями R Markdown [5] и Shiny [6], что позволяет создавать сложные веб-приложения с использованием и этих данных.

Для примера визуализации сетевых данных, воспользуемся пакетом geomnet, содержащим набор данных lesmis (Les Misérables Characters), в котором содержатся сведения из Романа Виктора Гюго «Отверженные». В данном наборе содержится информация о количестве встреч персонажей романа. Рассматривая данные в качестве ненаправленного графа, в качестве узлов будем рассматривать персонажи, а ребра между двумя узлами будут указывать, что они появились в одной и той же главе книги, вес каждой связи определяется тем, как часто происходило такое появление.

В целом, рассматриваемый алгоритм визуализации сетевых данных включает в себя следующие основные шаги:

1. Подготовка исходных данных;

2. Создание узлов графа;

3. Создание ребер графа;

4. Объединение структуры в кластеры;

5. Настройка визуализации данных;

Для каждого шага, представленного в алгоритме, существуют или отдельные функции, или набор функций. Так, например, для создания узлов графа используется выделение их в соответствующие датафреймы, при помощи стандартных выборок. Для построения графа используется специальная функция graph_from_data_frame, принимающая на вход ребра, подготовленные заранее из исходных данных набора lesmis.

Для построения кластеров используется функция cluster_louvain. После соответствующей настройки, с использованием пайплайнов внутри пакета visNetwork, можно создать вполне удачную визуализацию (рисунки 1,2).

Рисунок 1 - Визуализация графа по данным lesmis (общий вид)

Рисунок 2 - Визуализация графа по данным lesmis (приближенный

вид)

Как видно, из представленного примера, дополнительные пакеты языка R могут с легкостью помогать строить не только сложные сетевые структуры, но и осуществлять взаимодействие с ними.

Использованные источники:

1. The Comprehensive R Archive Network [Электронный ресурс] URL: https://cran.r-project.org (дата обращения 17.06.2019)

2. igraph - Network analysis software [Электронный ресурс] URL: https://igraph.org (дата обращения 17.06.2019)

3. CRAN - Package visNetwork [Электронный ресурс] URL: https://cran.r-project.org/web/packages/visNetwork/index.html (дата обращения 17.06.2019)

4. vis.js - A dynamic, browser based visualization library. [Электронный ресурс] URL: https://visjs.org (дата обращения 17.06.2019)

5. R Markdown [Электронный ресурс] URL: https://rmarkdown.rstudio.com (дата обращения 17.06.2019)

6. Shiny [Электронный ресурс] URL: https://shiny.rstudio.com (дата обращения 17.06.2019)

i Надоели баннеры? Вы всегда можете отключить рекламу.