КУРС

АНАЛИТИК ДАННЫХ

Научитесь выстраивать процессы для роста бизнеса и увеличения прибыли.
 

Статья доступна в аудиоверсии

Почему-то принято считать, что научиться программировать на языке R сложно.

Если тут есть люди, которые уже это умеют, скажите – вы согласны с такой позицией? Лично я – нет. R – не единственный язык программирования, который мне довелось изучать, но процесс погружения в него был максимально интересным и легким, по крайней мере для меня.

А что нужно, чтобы все прошло так легко? С чего начать? Как не зайти в тупик? На эти и другие вопросы отвечаем ниже!

Нужно ли уже уметь программировать, чтобы освоить R? 

Нет, вообще не обязательно. Синтаксис языка (по крайней мере, основных библиотек) достаточно читаем, понятен и изящен – вам не составит труда понимать чужой код, если вы знаете английский язык на более-менее адекватном уровне.

R работает по принципу калькулятора: написал строчку – выполнил, написал еще одну – выполнил снова. Можешь и весь код написать, на здоровье, – главное, чтобы самому автору было удобно и комфортно. В этом вообще прелесть скриптовых языков, каким и является R. Рекомендуем записаться на наш открытый курс «Аналитика с SQL и R», если вы хотите начать изучать R.

Если говорить про более сложные и редкие библиотеки – там, конечно, могут встречаться очень разные сюрпризы (их все-таки пишут обычные люди, как мы с вами). Однако, будем откровенны – если вы совсем новичок и с трудом понимаете код – едва ли вы полезете в суперсложные библиотеки, верно? А к тому моменту, как вы дорастете до них, конструкции этих библиотек станут вам уже привычны и понятны.

Таким образом, знать какой-то традиционный язык программирования (например, C++) или какой-то аналогичный (например, Python), чтобы стартануть в R – совсем не обязательно. Более того, я бы рекомендовал начинать с R, если вы не умеете программировать вовсе – это неплохая площадка для старта. Вы сможете пощупать все; сможете понять, как результат программы зависит от вашего кода; сможете поразбираться в ошибках и прочувствовать, когда и почему они возникают.

Это все очень ценно для новичка. И что важно – вам по минимуму придется отвлекаться на «борьбу» с операционной системой и прочими внешними факторами. Да, это камень в огород коллеги, языка Python, где такие «танцы с бубном» вокруг вашего Windows/Linux приходится выплясывать с завидной периодичностью.

С чего начать изучение языка R, чтобы процесс прошел быстро?

Если Вы совсем новичок в программировании, советую для начала почитать, как вообще работает компьютер и что такое «программирование». Т.е. как связаны программы, которые вы пишите; машинный код и работа железа. Это будет полезно всем – и вообще не важно, на каком языке.

Далее – познакомьтесь с инфраструктурой, которая сложилась вокруг R. Что такое язык R, как и для чего он был создан, где находятся основные библиотеки, кто их пишет, как их подключать, в чем писать код, как работать с RStudio и так далее. Это базовые вещи – еще до начала работы было бы хорошо найти ответы на эти вопросы, чтобы потом было понимание цельной картинки.

Следующий шаг уже непосредственно связан с языком – познакомьтесь с типами данных, с основными функциями и библиотеками. Узнайте подробнее про tidyverse, что туда входит, как и для чего с этим работать и так далее?

Сформулируйте для себя – что лично вы хотите от языка? Базовые библиотеки покрывают ваши потребности или нужно подключать сторонние? Если нужны дополнительные модули – поработайте с ними, прочувствуйте их. Большого труда это не составит, все библиотеки простроены по одному принципу, на самом деле.

И так дальше до бесконечности. Библиотек очень много, они наверняка покроют почти все ваши задачи, так что совершенно нет смысла учить все и сразу. Узнавайте что-то новое по мере возникновения потребности – разве это не интересно? Возник новый проект – изучил новую библиотеку или новую функцию, сразу же применил и запомнил на веки. Так и строится процесс обучения таким языкам, как R и Python.

Вот мой личный план, по которому я бы советовал пройтись всем:

  1. Основные типы данных, структуры данных
  2. Загрузка данных из основных источников
  3. Очистка и обработка данных
  4. Функции и циклы
  5. Базовая графика
  6. Продвинутая графика
  7. Далее – исходя из ваших конкретных задач.

Именно в таком порядке я и располагал темы в модуле по языку R в рамках курса по Бизнес-Аналитике. Мне кажется, это классика – умея работать с этими основными вещами, вы с легкостью сможете освоить любую другую библиотеку – это просто вопрос практики и вашего желания.

 

КУРС

АНАЛИТИК ДАННЫХ

Научитесь выстраивать процессы для роста бизнеса и увеличения прибыли.
 

Как выстроить процесс обучения?

Самое эффективное обучение – на реальных примерах. Однако, учиться на «боевых» данных не всегда разумно, т.к. в жизни все зачастую очень сложно, а сразу погружаться в дебри не хотелось бы. Так что делать, в таком случае?

Решение есть – в RStudio есть большое количество встроенных интересных датасетов, на которых вы сможете отточить почти любой свой навык: построение визуализаций, очистку данных, форматирование таблиц, создание аналитических отчетов, машинное обучение, – словом, что душа пожелает. При этом, если вы еще и историю этих датасетов будете узнавать, процесс станет еще интересней – скучное обучение приобретет оттенок исторической викторины.

Опять же, во время обучения не обязательно делать что-то простое и нудное. Например, с помощью небольшого датасета anscombe вы можете продемонстрировать знаменитый парадокс Анскомбе, блеснуть эрудицией, так еще и навыки программирования отточить. Веселей, чем сортировку пузырьком писать, согласитесь (кто в теме, тот поймет 🙂 ).

Если встроенных датасетов становится мало – отправляемся на Kaggle, ищем подходящий датасет и работаем на нем. Прелесть в том, что на одном наборе данных вы можете отрепетировать сразу множество навыков – так процесс обучения пойдет в разы быстрей.

Смотрите:

  1. Датасет надо загрузить
  2. Данные надо изучить
  3. Потом их надо очистить
  4. Потом их надо обработать и проанализировать
  5. Для этого надо понастроить разных графиков
  6. Если стоит задача что-то рассчитать или спрогнозировать, надо еще и расчеты произвести

Словом, всего лишь один файлик, а поле для деятельности огромное. И кто знает, может именно вы будете в результате щеголять с титулом Kaggle Grandmaster…

Что делать, если освоил базовые вещи? Как не потерять сноровку и не зайти в тупик?

Тут ответ прост. Если у вас так или иначе появляются новые задачи/проекты – используйте язык R для их решения. То, что можно сделать в Экселе, перенесите в R, попрактикуйтесь – это позволит вам сохранить навыки, а может даже и узнать что-то новое.

Еще один вариант – автоматизируйте свою рутину. У каждого из нас есть множество задач, которые мы изо дня в день делаем руками или в полуавтоматическом режиме.

Напишите небольшие скрипты, которые будут решать ваши задачи, – это позволит вам:

  1. Сэкономить кучу времени
  2. Прокачать навыки программирования
  3. Поднять свой профессиональный статус

Еще одно направление, в котором можно двигаться – собственные pet projects или участие в соревнованиях (пусть даже бесплатных). Если у вас есть время – создайте что-то свое с помощью языка R и/или других инструментов; примите участие в конкурсе, где необходимы навыки программирования на R. Все это позволит не только сохранить и приумножить скилл, но и позволит качественно и с пользой для дела провести время.

Ну и последнее – подпишитесь в социальных сетях на ключевых разработчиков, лидеров мнений в этой отрасли, а также на тематические хэштэги. Это позволит вам быть в курсе новостей индустрии, а также вы постоянно будете наталкиваться на какие-то кейсы, что однозначно заставит ваш мозг шевелиться и не забывать накопленные знания.

Эпилог

R – совсем не сложный язык. Даже наоборот, он очень простой и интересный. Главное – грамотно выстроить процесс своего обучения. Не слушайте, что говорят другие: если лично вам этот язык нравится, или он просто поможет вам в решении ваших задач – работайте с ним, даже не раздумывая. Естественно, с учетом пунктов, которые мы рассмотрели выше. И may the force be with you, как говорится. Рекомендуем записаться на наш открытый курс «Аналитика с SQL и R», если вы хотите начать изучать R.

Автор: Андрон Алексанян, СОО «Аптека-Центр», эксперт SF Education

 

КУРС

АНАЛИТИК ДАННЫХ

Научитесь выстраивать процессы для роста бизнеса и увеличения прибыли.