Нужно ли питонисту учить R
Если вы осваиваете Python и встречали на своем пути R, то могли задуматься: стоит ли учить и его? Рассказали, для каких проектов подойдет R.
585 открытий3К показов
Если вы осваиваете Python и встречали на своем пути R, то могли задуматься: стоит ли учить и его? Получится ли дополнить им свой стек “в прикуску”? Давайте подробнее рассмотрим, для каких проектов подойдет язык и есть ли вообще смысл тратить на него время.
Применение
R был специально разработан для статистического анализа и визуализации данных (dataviz). В этих сферах и Python вполне применим, однако R – более удачный выбор по ряду причин:
- Встроенные компоненты упрощают работу: вам не потребуется тратить время на освоение документации и бесконечные новые методы и аргументы к ним.
- R, хоть и не предназначен для работы с большими данными, позволяет быстрее собирать прототипы и обнаруживать инсайты.
Библиотеки и пакеты
Для R создано большое количество библиотек и пакетов. Например ggplot2, dplyr, Leaflet, simplevis, которые делают его мощным инструментом для визуализации и обработки данных.
Сообщество
R достаточно популярен среди статистиков и исследователей данных. Сообщество насчитывает примерно 2 миллиона человек.
Такой на первый взгляд незначительный нюанс значит очень много, когда вы окунаетесь в многочасовой дебаггинг. Треды на тех жe StackExchange / StackOverflow заполнены ответами на самые заковыристые вопросы из сфер статистического анализа, что позволяет буквально строить свою карьеру на “отработанных” граблях предшественников.
(Но для сравнения у Python 8,2 миллиона пользователей — и сообщество там активнее).
Производительность
R еще медленнее, чем Python: намеренно возьмем цикл for
, который, как правило, замедляет код, и подсчитаем скорость обработки списка. Конвертируем этот код в R и запустим на онлайн-IDE Programiz.
Кстати, если вы затрудняетесь с выбором онлайн-среды разработки, почитайте мою статью с полным разбором некоторых популярных веб-сред.
Выходит, что даже на таких простых вещах R уже показывает отставание – 0.000012 против 0.02779651 секунд, то есть в 2300+ раз медленнее.
Синтаксис
На мой взгляд, языки примерно одинаковы по лаконичности и читаемости:
Python:
R:
Внимательные уже заметили, что аналога модуля datetime подключать в R-версии не потребовалось. Повторюсь: в статанализе, статистическом обучении довольно много специфических нюансов, которые создатели языка внедрили в ядро R, без необходимости подключать сторонние библиотеки. Это означает еще и однообразность синтаксиса.
Заключение
В случае, если вы выбрали стать веб-разработчиком, дата-сайентистом, дата-аналитиком или дата-инженером, R вы встретите в небольшом количестве вакансий, он пригодится в разве что для расширения кругозора. Однако если вы планируете строить академическую карьеру, повлиять на науки статистики, теории вероятности и смежных направлений, R подойдет. На этом языке учат лучшие факультеты СПбГУ, МФТИ и других культовых университетов страны.
Более того, его можно использовать в ВМЕСТЕ с Python: один язык для подготовки данных и очистки, другой – для визуализации.
Какой язык был у вас первым?
Python
R
Другой язык
Хочу увидеть результат
585 открытий3К показов