УДК 004.62
Хакимова Т.В. студент магистратуры Хакасский государственный университет им. Н. Ф. Катанова
научный руководитель: Голубничий А.А.
старший преподаватель кафедра ПОВТиАС Россия, г. Абакан РЕАЛИЗАЦИЯ КОНЦЕПЦИИ АККУРАТНЫХ ДАННЫХ ПОСРЕДСТВОМ TIDYVERSE
Аннотация: В статье рассматривается реализация концепции аккуратных данных с использованием языка программирования R. Описываются пакеты, решающие основные задачи работы с данными на разных этапах анализа. Рассматривается структура Tidyverse.
Ключевые слова: аккуратные данные, язык R, Tidyverse
Khakimova T. V. magistracy student Katanov Khakass State University Russia, Abakan Supervisor: Golubnichiy A.A.
Senior lecturer department of computing software and automated systems IMPLEMENTATION OF THE CONCEPT OF TIDY DATA BY MEANS OF TIDYVERSE
Abstract: The article discusses the implementation of the concept of accurate data using the programming language R. Describes the packages that solve the main tasks of working with data at different stages of analysis. Tidyverse structure is considered.
Keywords: Tidy Data, R Language, Tidyverse
Во время работы с данными часто возникает необходимость подготовить их под определенные задачи. Более того, большая часть анализа данных может сводиться именно к подготовке данных, по разным оценкам на подготовку данных для последующего анализа может уходить до 80% от общего времени решения задачи [1]. Результатом обработки данных также являются данные, представленные в том или ином виде, по этой причине важно соблюдать общие принципы их обработки и хранения.
Один из ключевых разработчиков RStudio - Хэдли Уикем в статье Tidy Data подробно описал основные принципы, которым должны отвечать аккуратные данные, а также выделил основные причины, по которым данные становятся не аккуратными [2].
Так по концепции Уикема выделяется три основных правила для придания данным вида аккуратных: переменные должны соответствовать столбцам таблицы, значения должны соответствовать строкам таблицы, набор
данных должен иметь один тип.
Основой для реализации концепции аккуратных данных в языке R служат пакеты, разработанные в большей части Хэдли Уикемом и объединенные в пакет tidyverse. Актуальной версией пакета является версия 1.2.1, включающая в себя следующие пакеты: broom, cli, crayon, dplyr, dbplyr, forcats, ggplot2, haven, hms, httr, jsonlite, lubridate, magrittr, modelr, purr, readr, readxl, reprex, rlang, rstudioapi, rvest, stringr, tibble, tidyr, xml2, tidyverse [3].
В зависимости от выполняемых функций, важности и применимости, все пакеты можно условно разделить на те, которые составляют ядро tidyverse и те, которые являются дополнительными. В свою очередь пакеты ядра можно разделить по выполняемым функциям (рисунок 1).
г 1 Импорт m
readr
readxl ■
haven
httr
rvest
xml2 L. A
Преобразование
dplyr forcats
hms lubridate striner
r 4 Визуализация
ggplot2 L J
a Г ^ Моделирование
Ш broom2
modelr
Хранение в аккуратной форме
tibble tidyr
Программирование
purrr magrittr
Рисунок 1 - Основные пакеты tidyverse, расположенные по решаемым
задачам
Импортирование данных. Импортирование данных является сложным процессом, так как изначальные данные могут содержаться в разных форматах. Пакеты tidyverse позволяют работать с таблицами Excel, считывать данные формата JSON и XML, а также парсить сайты и работать с API.
Хранение данных в аккуратной форме. За данную процедуру отвечают два популярных пакета tibble и tidyr. Первый пакет позволяет работать с новым форматом датафрейма - tibble, второй - в значительной степени упрощает процесс получения аккуратных данных.
Преобразование данных. Вопрос преобразования данных, так же как и вопрос считывания, зависит от того, с какими данными ведется работа). Так, для работы с tibble-объектами, оптимальным является использование функций пакета dplyr, а для текстовых данных лучшим вариантом будет использование пакета stringr.
Визуализация данных. Для создания продвинутой программируемой графики уже долгий период времени используется пакет ggplot2, послуживший заменой пакету ggplot. Несмотря на «заточенность» языка программирования R под визуализацию данных [4], базовая графика имеет некоторую ограниченность, снимаемою концепцией ggplot2 по использованию слоев для построения рисунков, через соответствующие
эстетики.
Моделирование. Моделирование в рамках концепции аккуратных данных в tideverse, в настоящее время, находится на начальной стадии. Оба пакета, применяемые для моделирования данных: broom и modelr, находятся в ранних версиях 0.5.2 и 0.1.4 соответственно.
Программирование. Особое место в анализе данных занимают пакеты, применяемые для программирования. Программирование не является составной частью анализа данных, но используется во многом, начиная от импортирования данных и заканчивая визуализацией. Ключевыми для реализации концепции Tidy Data является использование функционального программирования, реализуемого в пакете purrr и оператора pipeline, реализованного в magrittr.
Как видно из краткого обзора, пакеты tidyverse охватывают все части анализа данных и предлагают возможность конечному пользователю работать с аккуратными данными на каждой стадии анализа, начиная от подготовки аккуратных данных и заканчивая получением конечного результата и его визуализации при необходимости.
Использованные источники:
1. Dasu, T., Johnson T. Exploratory Data Mining and Data Cleaning. - 2003. -Wiley-IEEE.
2. Wickham, H. Tidy Data. Journal of Statistical Software. - 2014. - V.59. - I. 10
3. Tidyverse packages - Tidyverse [Электронный ресурс] URL: https://www.tidyverse.org/packages/ (дата обращения 17.06.2019)
4. R: The R Project for Statistical Computing [Электронный ресурс] URL: https://www.r-project.org (дата обращения 17.06.2019)