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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Какой язык использовать для анализа данных - это максимально избитая и больная тема. Поэтому мы объединились с Алексеем Селезневым, руководителем отдела аналитики в 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?

  • 100,0%Да, огонь!2
  • 0,0%Нет, предпочитаю Python0
  • 0,0%Нет, предпочитаю SQL0
  • 50,0%Использую все и сразу, по ситуации1
Источник: https://habr.com/ru/post/552614/


Интересные статьи

Интересные статьи

Я намеревался написать 1/2 достойного поста в блоге об операторах F #, но потом я подумал, и, честно говоря, я не мог видеть слишком много достоинств в простом повторении того, что уже свободно д...
Как широко известно, с 1 января 2017 года наступает три важных события в жизни интернет-магазинов.
Если вы последние лет десять следите за обновлениями «коробочной версии» Битрикса (не 24), то давно уже заметили, что обновляется только модуль магазина и его окружение. Все остальные модули как ...
С версии 12.0 в Bitrix Framework доступно создание резервных копий в автоматическом режиме. Задание параметров автоматического резервного копирования производится в Административной части на странице ...
Согласно многочисленным исследованиям поведения пользователей на сайте, порядка 25% посетителей покидают ресурс, если страница грузится более 4 секунд.