Ques/Help/Req Нужно ли питонисту учить R

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
Если вы осваиваете Python и встречали на своем пути R, то могли задуматься: стоит ли учить и его? Получится ли дополнить им свой стек “в прикуску”? Давайте подробнее рассмотрим, для каких проектов подойдет язык и есть ли вообще смысл тратить на него время.

Нужно ли питонисту учить R0


Применение​


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

  • Встроенные компоненты упрощают работу: вам не потребуется тратить время на освоение документации и бесконечные новые методы и аргументы к ним.
  • R, хоть и не предназначен для работы с большими данными, позволяет быстрее собирать прототипы и обнаруживать инсайты.

Библиотеки и пакеты​


Для R создано большое количество библиотек и пакетов. Например ggplot2, dplyr, Leaflet, simplevis, которые делают его мощным инструментом для визуализации и обработки данных.

Нужно ли питонисту учить R1


Интересное представление распределений известного датасета ирисов на ggplot2

Сообщество​


R достаточно популярен среди статистиков и исследователей данных. Сообщество насчитывает примерно 2 миллиона человек.

Такой на первый взгляд незначительный нюанс значит очень много, когда вы окунаетесь в многочасовой дебаггинг. Треды на тех жe StackExchange / StackOverflow заполнены ответами на самые заковыристые вопросы из сфер статистического анализа, что позволяет буквально строить свою карьеру на “отработанных” граблях предшественников.

(Но для сравнения у Python 8,2 миллиона пользователей — и сообщество там активнее).

Производительность​


R еще медленнее, чем Python: намеренно возьмем цикл for, который, как правило, замедляет код, и подсчитаем скорость обработки списка. Конвертируем этот код в R и запустим на онлайн-IDE Programiz.

Кстати, если вы затрудняетесь с выбором онлайн-среды разработки, почитайте мою статью с полным разбором некоторых популярных веб-сред.
Нужно ли питонисту учить R2


Python-версия скрипта
Нужно ли питонисту учить R3


R-версия скрипта

Выходит, что даже на таких простых вещах R уже показывает отставание – 0.000012 против 0.02779651 секунд, то есть в 2300+ раз медленнее.

Синтаксис​


На мой взгляд, языки примерно одинаковы по лаконичности и читаемости:

Разработчик Форсайт АО «Гринатом», Москва, можно удалённо, По итогам собеседования tproger.ru Вакансии на tproger.ru

Python:

from datetime import datetime start_time = datetime.now() lst = [‘lorem’, ‘ipsum’, ‘dolor’, ‘sit’, ‘amen’] i = 0 while i < len(lst): lst += lst i += 1 end_time = datetime.now() duration = end_time — start_time print(duration)

R:

start_time <- Sys.time() lst <- c(«lorem», «ipsum», «dolor», «sit», «amen») i <- 0 while (i < length(lst)) { lst <- paste(lst, lst, sep = «») i <- i + 1 } end_time <- Sys.time() duration <- end_time — start_time print(duration)

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

Заключение​


В случае, если вы выбрали стать веб-разработчиком, дата-сайентистом, дата-аналитиком или дата-инженером, R вы встретите в небольшом количестве вакансий, он пригодится в разве что для расширения кругозора. Однако если вы планируете строить академическую карьеру, повлиять на науки статистики, теории вероятности и смежных направлений, R подойдет. На этом языке учат лучшие факультеты СПбГУ, МФТИ и других культовых университетов страны.

Более того, его можно использовать в ВМЕСТЕ с Python: один язык для подготовки данных и очистки, другой – для визуализации.

Нужно ли питонисту учить R4


Какой язык был у вас первым?

  • Python
  • R
  • Другой язык
  • Хочу увидеть результат

Написать свой вариант
 
198 207Темы
635 179Сообщения
3 618 416Пользователи
artvladimir2004Новый пользователь
Верх