Как стать автором
Обновить

Глаголы R vs Операторы SQL

Время на прочтение2 мин
Количество просмотров2.6K

Какой язык использовать для анализа данных - это максимально избитая и больная тема. Поэтому мы объединились с Алексеем Селезневым, руководителем отдела аналитики в Netpeak и автором телеграм-канала R4Marketing, и подготовили сравнение операторов SQL и глаголов языка R. Для удобства и переносимости сделали это в карточках.

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

Однако, к делу!

R vs SQL

Первое, что имеет смысл сделать перед сравнением - освежить в памяти основные операторы SQL. Конечно, Вы все их помните, но вдруг...

Мы будем рассматривать DML (Data Manipulation Language) оператор SELECT и все, что с ним связано:

  1. Сам оператор SELECT регулирует, какие поля необходимо выбрать из таблицы

  2. Оператор FROM указывает на таблицу, из которой происходит выборка

  3. Оператор WHERE фильтрует таблицу по значениям того или иного столбца

  4. GROUP BY задает поля группировки для расчета агрегирующих характеристик

  5. Оператор ORDER BY сортирует строки таблицы по значениям в некотором столбце

Отлично, разобрались. Но причем здесь язык R? Все очень просто - библиотека dplyr языка R позволяет производить схожие операции (и даже намного более сложные), не устраивая метание между языками.

Удобство библиотеки dplyr (да и всего семейства пакетов tidyverse) обусловлено, в первую очередь, грамотной архитектурой:

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

  2. Функции dplyr работают с данными в парадигме tidy data

  3. Можно использовать пайплайны (конвейер %>%)

В таблице ниже мы отразили, как связаны основные операторы языка SQL и глаголы dplyr:

Само собой, было бы глупо полагать, что на этом скромном наборе функционал библиотеки dplyr заканчивается. Нет тут-то было, как говорится :) Функций в этом пакете огромное множество, а в вспомогательных пакетах (т.к. dplyr все-таки является частью экосистемы tidyverse) еще больше. Вот несколько примеров:

Tidy data

Чуть ранее мы упомянули термин tidy data. Если Вы работаете в области анализа данных, то Вы знакомы с ним 100% и знаете основные принципы этой парадигмы как свои пять пальцев.

Но, если Вы ранее с ним не встречались, объясняем наглядно смысл концепции «аккуратных данных»:

Перефразируя великого русского писателя с оглядкой на Data Analysis:

Все «аккуратные» датасеты похожи друг на друга, но каждый «грязный» датафрейм грязный по-своему.

Вот именно эта схожесть всех tidy datasets между собой и делает библиотеку dplyr такой эффективной!

Кстати, подробнее концепция tidy data разбирается в этой статье.

Конвейер %>%

Еще одно интересное понятие, которое точно знакомо всем программистам на R - пайплайн или конвейер %>%. На этом, по сути, строится вся работа с пакетами tidyverse.

Классический способ объяснить смысл этой конструкции за минуту - показать шуточный пример.

Пакеты для работы с БД

Однако, если Вы все-таки очень хотите работать с данными сразу с помощью 2 языков: и R, и SQL, - то для Вас тоже есть решение. В языке R есть большое количество пакетов-коннекторов для различных БД, и Вы точно найдете что-то по душе.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Пользуетесь dplyr?
36.36% Да, огонь!12
30.3% Нет, предпочитаю Python10
24.24% Нет, предпочитаю SQL8
24.24% Использую все и сразу, по ситуации8
Проголосовали 33 пользователя. Воздержались 7 пользователей.
Теги:
Хабы:
+5
Комментарии18

Публикации

Изменить настройки темы

Истории

Работа

Data Scientist
60 вакансий

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн