Как я открыл для себя R и Tidyverse: почему Python уже не единственный мой выбор и как эти инструменты изменили мой взгляд на аналитику!

Lucas Gouveia/our editorial

Я всегда считал, что Python — идеальный инструмент для анализа данных. Но со временем мне стало интересно, что ещё скрывает этот мир. R давно известен как главный язык статистики, но с появлением Tidyverse заиграл новыми красками. Именно поэтому я решил освоить обе эти мощные платформы.

Tidyverse official website.

Если вы изучаете статистику в университете — велика вероятность, что без R вы не обойдётесь. Этот язык придумали сами статистики, и он стал незаменимым среди исследователей, особенно в социальных и точных науках. Большинство топовых учебников и научных статей по статистике приводят примеры именно на R. Но всё не ограничивается академией: R активно внедряют и в коммерческих компаниях для работы с данными.

Хотя Python набирает обороты, в научных публикациях по-прежнему царит R, а большинство востребованных программ для анализа данных пишут именно под него. Например, если откроете The Journal of Statistical Software, то увидите, что там собраны последние достижения по анализу на R.

R вырос из языка S, который в своё время разработали в лаборатории Bell Labs под руководством Джона Тьюки ради идеи «разведочного анализа данных» (EDA). Как и Unix, S распространялся почти даром, а R — полностью открытый и бесплатный — быстро набрал популярность с 90-х. Их история сродни отношениям Linux и классического Unix.

Tidyverse достойно продолжает традиции, предлагая целый набор инструментов для продвинутой визуализации и обработки данных. Он включает библиотеки для построения графиков (ggplot2), трансформации данных (dplyr), очистки (tidyr), импорта из таблиц (readr), функционального программирования (purrr), работы со структурами (tibble), строками (stringr), категориальными переменными (forcats) и временем (lubridate).

Почему с ggplot2 ваши графики перестанут быть скучными — это реально искусство!

Restaurant tips vs bill using ggplot.

Одна из главных фишек R — невероятно крутые визуализации, которые можно собрать в пару строчек кода. Библиотеку ggplot2 из Tidyverse не зря называют «киллер-фичей», ради которой стоит изучить R.

С помощью ggplot вы создаете графики, которые не стыдно показать в серьёзных изданиях — BBC, например, использует их именно так.

Вся идея ggplot2 строится на «грамматике графики»: вы не выбираете тип диаграммы одной командой, а по частям собираете нужный визуал. Сначала задаёте оси, добавляете точки, линии или тренд — только то, что поможет раскрыть суть анализа. С первого взгляда может показаться сложней, чем стандартные средства Excel, но зато появляется гибкость, о которой раньше только мечтали!

К примеру, чтобы проанализировать чаевые в ресторане: по оси X — сумма счёта, по Y — размер чаевых. Добавляю точки, линию регрессии — и всё становится абсолютно понятно!

Учиться R просто — море учебников и гайдов на любой вкус

Огромный плюс R — это шквал учебных материалов самого разного уровня благодаря широкой популярности в академии.

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

Учебников и туториалов полно как для новичков, так и для опытных. Например, пособие OpenIntro «Introduction to Modern Statistics» — отличный старт для тех, кто хочет анализировать данные на R, не заморачиваясь сложными формулами и поиском значений в таблицах.

На CRAN собраны сотни дополнительных пособий и справочников — это своеобразный аналог PyPI для Python. Особенно мне помогла книга Julian Faraway «Practical Regression and Anova using R» — там всё по делу для освоения сложной регрессии.

CRAN — просто кладезь: десятки тысяч пакетов на любой случай

CRAN packages listing website.

Кроме Tidyverse, во вселенной R уже почти 23 000 пакетов, и все они доступны на CRAN — это самый крупный репозиторий для R. Целое море возможностей! Есть даже специальные подборки («task views») — для эконометрики, финансов, спорта и чего только не.

Погружаться в CRAN можно годами и каждый раз находить новый полезный инструмент для своих задач!

С Tidyverse почистить данные — легче не бывает

Кто хоть раз работал с реальными датасетами, знает, как сложно бывает привести их в порядок: часто всё идёт вперемешку. Tidyverse создан, чтобы навести чистоту — одна переменная на колонку, каждая строка — это отдельное наблюдение, а любая ячейка — один конкретный показатель.

В реальности данные редко бывают “чистыми” сразу, особенно если их загружали непосвящённые пользователи. Но Tidyverse предлагает инструменты для быстрой перекройки таблиц под любую задачу: хотите таблицу пошире — не проблема, нужно “развернуть” данные в длинный формат для анализа — легко!

RStudio: удобная среда, за которой не замечаешь времени

Creating a plot in RStudio.

Я всегда скептически относился к интегрированным средам разработки, предпочитал редактор плюс терминал. Но RStudio, главная IDE для R и Tidyverse, реально поменяла мои взгляды. Интерфейс простой и удобный, работает на всех платформах, и теперь поддерживает не только R, но и Python. Так что в честь расширения команда разработчиков даже сменила название на Posit.

С RStudio работа с данными идёт быстрее и приятнее — ничего не отвлекает, всё на виду. Интерактивность на первом плане: здесь не просто пишешь и запускаешь код, а можешь экспериментировать вживую. Именно такой подход и нужен для настоящей аналитики!

Отдельный плюс — окно для графиков: можно удобно сохранять, просматривать и сравнивать свои визуализации.

Иногда идти за большинством — не такая уж плохая идея

Новичкам часто советуют попробовать Lisp — даже если им ближе другой язык. Это расширяет кругозор и помогает мыслить нестандартно. Вот для анализа данных знание R — такой же вклад в развитие: Python отлично интегрируется с внешними системами, но сама философия статанализа пришла из мира R, ведь его придумали сами статистики!

Кстати, концепция DataFrame в Python — это идея из R, заимствованная почти без изменений.

Если использовать только один язык, можно многое упустить. Python популярен, но умение работать с R открывает куда больше дорог и возможностей!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий