Зачем учить R в 2023 году?

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

Analytics Engineer в Trafficstars

Всем привет, я Дмитрий Володин, Analytics Engineer из TrafficStars. Сегодня я хочу немного порефлексировать на тему спроса на R и целесообразности его изучения.

Текст будет выражать личный опыт и мнение, я не буду проводить аналитическую работу по сравнению средних зарплат и количества вакансий на разных языках. Скорее поделюсь своими мыслями. И постараюсь оставаться не предвзятым по максимуму.

R как первый язык

R был моим первым языком программирования, который я использовал именно в работе. В школе были QBasic и Pascal, в институте был ещё Fortran. Была попытка начать учить Python, но как-то не зашло. А вот с R случилась любовь (или мэтч) с первого взгляда.

R называют сложным языком. Во многом как раз из-за того, что он векторный. В R не существует скалярных структур данных. Приходится сразу воспринимать векторы и списки как цельные объекты, к которым применяются функции, возвращающие вам по сути новые объекты. То есть сразу в голове держать и изменение всей коллекции и отдельно её элементов.

Но я считаю эти аспекты R наоборот его преимуществом для тех, кто не знает программирования и единственным инструментом аналитики данных для кого был Excel. Векторизованность присуща формулам в электронных таблиц (а ещё какие-то элементы функциональной парадигмы). И если вы не знакомы с программированием, но вам приходилось проводить анализ данных в Excel, то я настоятельно рекомендую начать изучать R, потому что вам будет легче. Потому что R в первую очередь именно про работу с данными и их анализ.

Ещё одним важным преимуществом R я считаю простоту получения первых результатов. Крайне важно для только ещё обучающегося аналитика получить первые вменяемые результаты. Даже в базовом R, без всяких tidyverse, вы можете получить информативный график, агрегированные данные и стат выводы буквально в пару строк кода без всякого boilerplate.

Но что делать потом, когда азы понятны и можно даже уже работать и получать зарплату? Учиться дальше. R имеет превосходные возможности по статистическому и машинному обучению. С визуализацией (а тем более интерактивной) у языка тоже полный порядок. Написать и доставить аналитическое веб приложеие на Shiny с одной стороны просто, но при этом функциональность можно задать любую: от простого графика с параметрами, до управленческого дэшборда с функциональными элементами. Также в MLflow и Spark есть интерфейсы на R, то есть писать аналитические приложения на современном стеке можно (и нужно) и на R.

К тому же очень редкий разработчик сейчас знает только один язык. R не только отличный первый язык, но и удобный мостик к другим языкам для работы с данными. Из R очень легко вкатиться в SQL, так как подход к работе с таблицами очень похож. Да и с тем же Python проблем не будет, если чуть более погрузиться в императивную парадигму и подучить алгоритмы.

Для меня R остаётся идеальным языком для начала карьеры в работе с данными. Но на нём одном замыкаться точно не стоит.

R как второй язык

Тут я буду больше фантазировать, потому что личного опыта нет. Если вы из академической среды с опытом в Fortran/Matlab/SPSS/Stata/APL, то R для вас может стать современным, но при этом довольно привычным инструментом работы с данными. Боюсь разжечь в комментариях пожар этими утверждениями, напоминаю, что это моё мнение, основанное на небольших теоретических знаниях о перечисленных инструментах.

Если вы уже крутой дата саентист и занимаетесь дип лёрнингом на Python, то и вам стоит посмотреть в сторону R. Хотя бы для расширения кругозора. Или для более удобных способов обработки и визуализации данных. Ну и для огромного арсенала статистических инструментов. Да к тому же привычные Torch, TensorFlow с Keras и H2O есть и в R.

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

Рынок труда

Самая больная тема для всех R-специалистов. Да, вакансий на R в разы меньше, чем на Python. Даже только в сфере работы с данными. Но ведь есть и обратная сторона: аналитиков на R гораздо меньше, чем на Python. То есть конкуренция может быть примерно одинаковой. А преимущества из первой части статьи всё ещё на месте.

К тому же компаниям, особенно небольшим, достаточно индифферентно, на каком языке вы работаете с данными. Там рады, что в принципе вышли из порочного круга 1С+Excel.

Освоив R и выбрав корпоративный карьерный путь, вы рано или рано натолкнётесь на SQL. А зачастую и его одного достаточно для получения неплохой работы. Я получал оффер в крупную российскую компанию на должность ведущего дата инженера после тестирвоания только SQL и немного теории. Причём на Hadoop стек, с которым я не был знаком и о чём сообщил, конечно же.

Ажиотаж вокруг айти пока ещё не утихает и многие стремятся в этот поезд запрыгнуть. Следующий мой совет будет не для абитуриентов, студентов и выпускников вузов, а для тех, кто решает сейчас менять свою карьеру. Я вам рекомендую начать свой путь именно с анализа данных на R. И становиться аналитиком в своей отрасли. Может быть прямо в вашей текущей компании. Так у вас будет два огромных преимущества: знания современных и мощных инструментов для анализа данных и широкий опыт в индустрии (то, что за бугром называют domain specific knowledge и считают огромным преимуществом для аналитиков). Ну а дальше набирайтесь опыта и новых знаний и ваша карьера будет активно развиваться. Строго говоря, это правило применимо для любой профессии. Учиться надо до самой пенсии, но и там не стоит останавливаться.

На своём курсе по R я как раз даю необходимый минимум для старта в профессии. После его окончания вы сможете получать, обрабатывать и визуализировать данные, проводить статистический анализ и представлять заказчикам его результаты.

  • Подробнее о курсе

Источник: https://habr.com/ru/company/otus/blog/723882/


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

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

Внимание! Вся представленная информация предназначена для ознакомления. Автор не несет никакой ответственности за причиненный вред с использованием изложенной информации.Ниже предс...
Всем привет. Я чуть больше полутора лет занимаюсь внутренним пентестом. И вроде бы уже многое знаю, но всегда кажется, что этого недостаточно и хочется знать больше. Когда часто делаешь похожую р...
Однажды я подумал, насколько трудно и дорого в наши дни сделать голосового помощника, который будет впопад отвечать на вопросы?А если конкретнее, то веб-приложение, которое записывает аудио с вопросом...
Оператор БПЛА — специалист, который отвечает за наземное управление беспилотным воздушным судном с земли. Это также человек, который управляет внешними нагрузками БВС, составляет полетный план, приним...
Привет!Хорошие новости для тех, кто давно хотел в IT — Parimatch Tech Academy объявляет о старте нового набора — на курсы Java + DevOps и QA Automation. В случае успешног...