Хватит долгих витиеватых вступлений – давайте я просто Вам расскажу, почему Вам нужно выучить язык R. Если Вы не сделали этого ранее, конечно.
Понятность и легкость в использовании
Первое, на что нужно обратить внимание – язык R прост, понятен и легок в использовании. Что это значит конкретно для Вас, как для новичка? Это гарантирует Вам:
- Легкий старт;
- Стремительный рост и развитие в постижении языка;
- Большое количество новых возможностей.
Что еще можно хотеть от прикладного инструмента? Да ничего, по сути. Он помогает Вам решать проблемы? Помогает. Вам не приходиться тратить кучу времени и сил на изучение? Не приходиться. Вам доступна куча плюшек? Доступна (а что за плюшки, обсудим дальше).
Давайте приведу конкретный пример. Допустим, у Вас есть вот такая ужасная таблица.
У Вас есть столбец с названиями предметов, а также еще четыре колонки: Мальчики_Класс1; Девочки_Класс1; Мальчики_Класс2; Девочки_Класс2. В ячейках таблицы стоят оценки за каждый предмет.
Если Вы хоть немного работали с данными, как-то их анализировали (или просто хотя бы немного присмотритесь), Вы поймете, что это максимально плохой вид для данной таблицы.
Теперь упражнение:
- Продумайте, как должна выглядеть нормальная таблица.
- Продумайте, как бы Вы это сделали в Excel.
Если Вы уже нашли ответ на первый вопрос, то можете не думать над вторым, я дам Вам ответ сам – вручную делая copy paste. Но тут у нас микротаблица, а если это будет огромный датасет? Тогда что делать будем?
А не надо ничего делать и придумывать – в R уже все готово для этого, достаточно написать одну строчку. Вот она:
А вот результат нашего «программирования».
Посмотрите, он совпал с Вашим ответом на первый вопрос из нашего упражнения? Так Вы себя представляли правильную таблицу? Если так, то Вы уже почти готовы писать качественный код на R – ведь Вы интуитивно освоили одну из основных концепций этого языка, tidy data.
Красивая графика
Позвольте задать Вам три вопроса, перед тем как что-то говорить дальше.
- Часто ли Вам приходится строить графики/диаграммы/дашборды?
- Хотелось бы Вам внедрить визуальные элементы в свою работу? Хотели бы Вы не просто анализировать цифры, но еще и отсматривать все по красивым графикам?
- Как думаете, если Вы будете представлять руководителю/коллегам не просто отчет с цифрами, выводами и предложениями, а еще и сопровождать это все графиками – эффективность Ваших презентаций вырастет?
Итак, если хотя бы на один вопрос Вы ответили положительно, то язык R – must have для Вас. Возможности его графики:
- Огромны в своем многообразии (Вы можете строить все, что Вам угодно – графики, карты, редкие визуальные элементы, 3D модели, анимацию, дашборды)
- Гибкие (если Вас не устраивает стандартное решение – настройте его под себя)
- Прекрасны в плане красоты (многие отмечают, что графика языка R – самая красивая из всех языков программирования)
Опять же, дабы не быть голословным, просто оставлю это здесь.
Согласитесь, выглядит очень прилично. Никогда не поверю, что Вы бы не хотели также. Тем более, если для этого нужно всего несколько строчек кода.
Резюме: пусть меня закидают камнями все любители другой графики, но я твердо уверен, что у языка R лучшие графические возможности среди конкурентов!
Множество готовых инструментов
Основная цель языка R – облегчить жизнь исследователя и аналитика. Облегчить на всех этапах:
- Сбор данных;
- Очистка данных;
- Обработка данных;
- Анализ данных;
- Построение графики.
Это, конечно, не все, но с этими пунктами Вы точно встретитесь в любой профессии. Так вот в чем прелесть – R позволяет «проскакивать» все эти этапы максимально безболезненно, не придумывая велосипеды и не расставляя костыли. Вот малая часть того, что идет «из коробки»:
- Целое семейство функций для загрузки информации из самых разных источников (txt, xlsx, csv, SPSS, Stata, SAS, базы данных, json, xml, веб-страницы, API и многое другое);
- Целое семейство функций для очистки и обработки данных (работа с пропусками, реорганизация таблиц, расширение таблиц, разбивка ячеек и так далее);
- Целое семейство функций для анализа данных (сортировки, фильтрация, вычислимые столбцы, отбор столбцов/строк, группировки, расчет характеристик).
И это далеко не все – безграничные возможности графики, полной набор инструментов для работы с Machine Learning, эффективные векторизованные вычисления (не бойтесь, это не так страшно, как кажется)…
Большое количество плюшек
Вот мы и дошли до плюшек. Язык R – не просто язык программирования. Это центр отдельной вселенной. Это огромная звезда, вокруг которой вращаются планеты. Возможности самого языка, которые мы рассмотрели выше, это всего лишь одна из таких планет. А их еще очень много, и все они крайне полезны и интересны.
Я Вам приведу всего два примера. Однако, если Вы познакомитесь с каждым поближе, Вы поймете, что каждый из них – отдельный мир.
- RMarkdown
Это фреймворк, который позволяет формировать качественные документы (pdf, word, html) прям в рабочей среде. Вы можете писать там код, и все Ваши графики и таблицы сразу же попадут в итоговый документ.
Вы получаете полноценный редактор и полноценный компилятор в одном флаконе. Если Вам приходится делать презентации/отчеты/научные работы или что-то в этом духе, RMarkdown – то что нужно.
С помощью него Вы можете даже писать полноценные книги, а также делать веб-версии своих книг – полноценные сайты. Посмотрите, это сделано с использованием RMarkdown!
Кстати говоря, наша методичка по языку R также полностью написана с помощью RMarkdown.
- Shiny
Это специальный пакет, который позволяет создавать интерактивные веб-приложения, используя только язык R. Таким образом, Вы можете отстроить себе собственную аналитическую систему и постоянно ее модифицировать! Это точно придется по душе и Вам, и Вашим коллегам!
Эпилог
R – прекрасный язык, это факт. Он будет полезен и аналитикам, и Data Scientist-ам, и научным работникам, и руководителям, и программистам. Он прост в изучении и понятен в использовании. Он принесет Вам много пользы и позволит решать огромное количество задач. Так почему бы его не выучить? Это можно сделать на программе «Бизнес-Аналитик» от SF Education!
Автор: Андрон Алексанян, СОО «Аптека-Центр», преподаватель курса «Бизнес-Аналитик»