Зачем нужен язык R

Зачем нужен язык R

Для бигдаты, аналитики и точной статистики

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

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

Свободный язык от аналитиков для аналитиков

Первая версия языка R появилась в 1993 году, на два года позже, чем Python. В то время Python ещё не был так популярен и у него не было столько библиотек для анализа данных, сколько есть сейчас. Поэтому учёные из факультета статистики Оклендского университета создали язык для своих внутренних задач. А так как их звали Росс и Роберт, то и язык они назвали в честь первой буквы в имени — R.

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

Особенность языка R

Так как этот язык придумывали для задач учёных, авторы не старались делать его интуитивно понятным. Они исходили из того, что этим языком будут пользоваться люди, хорошо знакомые с математическим анализом, статистическими методами и вероятностными отклонениями. Именно поэтому R может показаться очень сложным языком, хотя внутри он очень прост и логичен.

Пример программы

В языке не так много привычных по другим языкам команд, но переменные, условные операторы и ввод-вывод есть. Главное — знать специальные команды языка по обработке данных. 

Например, если нам нужно посчитать средний балл оценок учеников с разбивкой по оценкам в процентном соотношении, то будет достаточно такого кода:

# В переменную a поместить список всех оценок:
a <- c(4,3,3,3,3,4,4,4,4,4,5,4,4,4,5,5,5,5,3,5,5,4,4,3,3,4,4,3,5,5,4,3,3,4,4,3,3,5,4,5,5)
# В переменную n поместить количество оценок:
length(a) -> n
# Средний балл:
m <- mean(a)
# Таблица (горизонтальная) с подсчётом количества оценок:
t <- table(a)
# Преобразование в более удобный формат данных (вертикальную таблицу):
f <- as.data.frame(t)
# Вычисление процентной доли и запись её в третий столбец:
mapply(function(r) r*100/n, f[,2]) -> f[,3]
# Заголовки столбцов:
colnames(f) <- c("Оценка", "Кол-во", "%")
# Вывод результатов:
a
n
m
f
Зачем нужен язык R
Программа на языке R с результатами работы и графиком в среде разработки RStudio.

Для чего нужен R

Основное применение языка R — анализ данных и построение выводов на их основе:

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

Отдельное направление в R — машинное обучение и нейросети. Так как язык R изначально был заточен на обработку огромных массивов данных, то на нём легко организовать модель глубокого обучения или сделать новую нейросеть.

Дополнительные модули

Чтобы работать с данными было ещё проще, сообщество учёных и разработчиков сделали много разных модулей, каждый под свою задачу (их ещё называют пакетами). Есть среди них и базовые модули, без которых в R работать не получится: базовый модуль base  или модуль grDevices, который отвечает за вывод графиков на экран.

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

Что дальше

В следующем выпуске расскажем подробнее про этот язык — из чего состоит, какие команды в нём есть и с чего в нём начать. 

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Виталий Вебер

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Как программируют станки на заводах
Как программируют станки на заводах

От токарных до лазерных

easy
препроцессоры
За что ты послал нам препроцессоры? Чем мы тебя прогневали?

Что такое препроцессоры CSS и зачем они нужны.

medium
SSL-сертификаты и безопасный интернет

Ваше соединение надёжно защищено. Или нет.

easy
Если вы гуманитарий, вы очень нужны в ИТ
Если вы гуманитарий, вы очень нужны в ИТ

Самое простое объяснение, почему технарям не обойтись без гуманитариев.

easy
Что такое Пик Балмера
Что такое Пик Балмера

И почему это не про продуктивность.

easy
Как начать программировать с нуля

Подборка материалов для начинающих.

easy
Как Вселенная может влиять на наши компьютеры
Как Вселенная может влиять на наши компьютеры

Почему электроника иногда даёт сбой сама по себе

medium
Как школьный учитель стал фронтенд-разработчиком
Как школьный учитель стал фронтенд-разработчиком

О старте карьеры фронтенд-разработчика

easy
Как автоматизировать сложные штуки на компьютере
Как автоматизировать сложные штуки на компьютере

Учимся писать сценарии для вашей операционки

medium
Чем будем замещать
Чем будем замещать

Бесплатные аналоги необходимого софта

easy
Зачем нужны счётчики аналитики на сайте и что они умеют
Зачем нужны счётчики аналитики на сайте и что они умеют

Переходим на новый уровень настройки сайтов.

easy
Программисты из SpaceX отвечают на вопросы про разработку
Программисты из SpaceX отвечают на вопросы про разработку

Переводим для вас популярный тред из Reddit.

easy
Карьера в Selectel: приходите строить большие российские облака
Карьера в Selectel: приходите строить большие российские облака

Кто нужен, чтобы развивать российскую ИТ-инфраструктуру

easy
easy