[SQL, Data Mining, Big Data, R, Data Engineering] Глаголы R vs Операторы SQL

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
15-Апр-2021 21:30

Какой язык использовать для анализа данных - это максимально избитая и больная тема. Поэтому мы объединились с Алексеем Селезневым, руководителем отдела аналитики в Netpeak и автором телеграм-канала R4Marketing, и подготовили сравнение операторов SQL и глаголов языка R. Для удобства и переносимости сделали это в карточках :)
Еще больше интересных материалов по программированию и анализу данных мы публикуем каждый день у себя в телеграм канале и в группе ВК. Возможно, Вы найдете для себя что-то интересное :)
Однако, к делу!
R vs SQLПервое, что имеет смысл сделать перед сравнением - освежить в памяти основные операторы SQL. Конечно, Вы все их помните, но вдруг...Мы будем рассматривать DML (Data Manipulation Language) оператор SELECT и все, что с ним связано:
  • Сам оператор SELECT регулирует, какие поля необходимо выбрать из таблицы
  • Оператор FROM указывает на таблицу, из которой происходит выборка
  • Оператор WHERE фильтрует таблицу по значениям того или иного столбца
  • GROUP BY задает поля группировки для расчета агрегирующих характеристик
  • Оператор ORDER BY сортирует строки таблицы по значениям в некотором столбце

Отлично, разобрались. Но причем здесь язык R? Все очень просто - библиотека dplyr языка R позволяет производить схожие операции (и даже намного более сложные), не устраивая метание между языками. Удобство библиотеки dplyr (да и всего семейства пакетов tidyverse) обусловлено, в первую очередь, грамотной архитектурой:
  • Библиотека состоит из согласованного набора глаголов, каждый из которых отвечает за определенное действия, а различные комбинации их позволяют делать сложную обработку
  • Функции dplyr работают с данными в парадигме tidy data
  • Можно использовать пайплайны (конвейер %>%)

В таблице ниже мы отразили, как связаны основные операторы языка SQL и глаголы dplyr:
Само собой, было бы глупо полагать, что на этом скромном наборе функционал библиотеки dplyr заканчивается. Нет тут-то было, как говорится :) Функций в этом пакете огромное множество, а в вспомогательных пакетах (т.к. dplyr все-таки является частью экосистемы tidyverse) еще больше. Вот несколько примеров:
Tidy dataЧуть ранее мы упомянули термин tidy data. Если Вы работаете в области анализа данных, то Вы знакомы с ним 100% и знаете основные принципы этой парадигмы как свои пять пальцев. Но, если Вы ранее с ним не встречались, объясняем наглядно смысл концепции «аккуратных данных»:
Перефразируя великого русского писателя с оглядкой на Data Analysis:
Все «аккуратные» датасеты похожи друг на друга, но каждый «грязный» датафрейм грязный по-своему.
Вот именно эта схожесть всех tidy datasets между собой и делает библиотеку dplyr такой эффективной!Кстати, подробнее концепция tidy data разбирается в этой статье. Конвейер %>%Еще одно интересное понятие, которое точно знакомо всем программистам на R - пайплайн или конвейер %>%. На этом, по сути, строится вся работа с пакетами tidyverse. Классический способ объяснить смысл этой конструкции за минуту - показать шуточный пример.
Пакеты для работы с БДОднако, если Вы все-таки очень хотите работать с данными сразу с помощью 2 языков: и R, и SQL, - то для Вас тоже есть решение. В языке R есть большое количество пакетов-коннекторов для различных БД, и Вы точно найдете что-то по душе.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_sql, #_data_mining, #_big_data, #_r, #_data_engineering, #_analitika (аналитика), #_analiz (анализ), #_tidyverse, #_dplyr, #_sql, #_rstats, #_tidy_data, #_sql, #_data_mining, #_big_data, #_r, #_data_engineering
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 19:29
Часовой пояс: UTC + 5