Язык r для начинающих. Среда статистических вычислений R: опыт использования в преподавании. R нерационально использует вычислительные ресурсы, в частности - память

Недавно столкнулся с таким феноменом - про язык программирования R слышали многие. Но знают что это такое очень мало людей.

Поскольку являюсь носителем этого языка и заинтересован в его популяризации, попытаюсь немного раскрыть тему в этом посте. Будет интересно!

План простой:

1) Что такое язык R

2) Популярность в России

Что такое язык R

R (вики) - язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU.

По нашему: Язык идеально подходящий для поиска рыночных закономерностей. Бесплатный, быстрый и свободный.

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

Это САМЫЙ популярный язык программирования алготрейдеров на западе. Это передовая того что сейчас доступно в области машинного обучения и статистики.

Для того чтобы писать программы на R, достаточно скачать R-Studio и всё



Некоторое время назад, в рамках популяризации языка, записал мини-курс «R для каждого». Бесплатный. Посмотрите как просто всё это работает и как быстро на нём писать скрипты. Это просто великолепно!

Популярность в России

Оставляет желать лучшего.

Если на западе 90% всех исследований проводиться с помощью этого языка, то в России редкая неделя проходит на СмартЛабе, в которой можно найти хоть одно упоминание о нём. Т.е. число людей знающих R - критически мало.

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

Важно лишь то, что популярность этого языка в России и СНГ неуклонно растёт.

Российские пользователи устали от неработающих АПИ и дорогих торговых систем. Бесплатный язык R, в контексте трейденга, очень скоро займёт достойное место в их инструментарии. Присоединяйся!

На этом сегодня всё. Надеюсь было интересно.

Смотрите мой бесплатный курс, чтобы понять, как просто писать код. Пишите роботов!

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

Что такое R?

Прежде чем дать четкое определение, следует отметить, что R - это нечто большее, чем просто программа: это и среда, и язык, и даже движение! Мы рассмотрим R с разных ракурсов.

R - это среда вычислений , разработанная учеными для обработки данных, математического моделирования и работы с графикой. R можно использовать как простой калькулятор, можно , можно проводить простые статистические анализы (например, ANOVA или регрессионный анализ) и более сложные длительные вычисления, проверять гипотезы, строить векторные графики и карты. Это далеко не полный перечень того, что можно делать в этой среде. Стоит отметить, что она распространяется бесплатно и может быть установлена как на Windows, так и на операционные системы класса UNIX (Linux и MacOS X). Другими словами, R - это свободный и кроссплатформенный продукт.

R - это язык программирования , благодаря чему можно писать собственные программы (скрипты ) при помощи , а также использовать и создавать специализированные расширения (пакеты ). Пакет - это набор , файлов со справочной информацией и примерами, собранных вместе в одном архиве. играют важную роль, так как они используются как дополнительные расширения на базе R. Каждый пакет, как правило, посвящен конкретной теме, например: пакет "ggplot2" используется для построения красивых векторных графиков определенного дизайна, а пакет "qtl" идеально подходит для генетического картирования. Таких пакетов в библиотеке R насчитывается на данный момент более 7000! Все они проверены на предмет ошибок и находятся в открытом доступе.


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

Как выглядит среда R?

Существует много "оболочек" для R, внешний вид и функциональность которых могут сильно отличаться. Но мы коротко рассмотрим лишь три наиболее популярных варианта: Rgui, Rstudio и R, запущенный в терминале Linux/UNIX в виде командной строки.


Язык R в мире статистических программ

На данный момент насчитываются десятки качественных статистических пакетов, среди которых явными лидерами являются SPSS, SAS и MatLab. Однако, в 2013 году, несмотря на высокую конкуренцию, R стал самым используемым программным продуктом для статистического анализа в научных публикациях (http://r4stats.com/articles/popularity/). Кроме того, в последнее десятилетие R становится все более востребованным и в бизнес-секторе: такие компании-гиганты, как Google, Facebook, Ford и New York Times активно используют его для сбора, анализа и визуализации данных (http://www.revolutionanalytics.com/companies-using-r). Для того чтобы понять причины растущей популярности языка R, обратим внимание на его общие черты и отличия от других статистических продуктов.

В целом большинство статистических инструментов можно разделить на три типа:

  1. программы с графическим интерфейсом , основанные на принципе "кликни здесь, тут и получи готовый результат";
  1. статистические языки программирования , в работе с которыми необходимы базовые навыки программирования;
  1. "смешанный" , в которых есть и графический интерфейс (GUI ), и возможность создания скриптовых программ (например: SAS, STATA, Rcmdr).

Особенности программ с GUI

Программы с графическим интерфейсом имеют привычный для обычного пользователя вид и легки в освоении. Но для решения нетривиальных задач они не подходят, так как имеют ограниченный набор стат. методов и в них невозможно писать собственные алгоритмы. Смешанный тип сочетает в себе удобство GUI оболочки и мощь языков программирования. Однако, при детальном сравнении статистических возможностей с языками программирования SAS и STATA проигрывают и R, и MatLab (сравнение статистических методов R, MatLab, STATA, SAS, SPSS). К тому же за лицензию для этих программ придется выложить приличную сумму денег, а единственным бесплатной альтернативой является Rcmdr: оболочка для R с GUI (Rcommander).

Сравнение R с языками программирования MatLab, Python и Julia

Среди языков программирования, используемых в статистических расчетах, лидирующие позиции занимают R и Matlab. Они схожи между собой, как по внешнему виду, так и по функциональности; но имеют разные лобби пользователей, что и определяет их специфику. Исторически MatLab был ориентирован на прикладные науки инженерных специальностей, поэтому его сильными сторонами являются мат. моделирование и расчеты, к тому же он гораздо быстрее R! Но так как R разрабатывался как узкопрофильный язык для статистической обработки данных, то многие экспериментальные стат. методы появлялись и закреплялись именно в нем. Этот факт и нулевая стоимость сделали R идеальной площадкой для разработки и использования новых пакетов, применяемых в фундаментальных науках.

Другими "конкурирующими" языками являются Python и Julia. По моему мнению, Python, являясь универсальный языком программирования, больше подходит для обработки данных и сбора информации с применением веб-технологий, чем для статистического анализа и визуализации (основные отличия R от Python хорошо описаны ). А вот статистический язык Julia - довольно молодой и претенциозный проект. Основной особенностью этого языка является скорость вычислений, в некоторых тестах превышающая R в 100 раз! Пока Julia находится на ранней стадии развития и имеет мало дополнительных пакетов и последователей, но в отдаленный перспективе Julia - это, пожалуй, единственный потенциальный конкурент R.

Заключение

Таким образом, в настоящее время язык R является одним из ведущих статистических инструментов в мире. Он активно применяется в генетике, молекулярной биологии и биоинформатике, науках об окружающей среде (экология, метеорология) и сельскохозяйственных дисциплинах. Также R все больше используется в обработке медицинских данных, вытесняя с рынка такие коммерческие пакеты, как SAS и SPSS.

Достоинства среды R:

  • бесплатная и кроссплатформенная;
  • богатый арсенал стат. методов;
  • качественная векторная графика;
  • более 7000 проверенных пакетов;
  • гибкая в использовании:
    - позволяет создавать/редактировать скрипты и пакеты,
    - взаимодействует с другими языками, такими: C, Java и Python,
    - может работать с форматами данных для SAS, SPSS и STATA;
  • активное сообщество пользователей и разработчиков;
  • регулярные обновления, хорошая документация и тех. поддержка.

Недостатки:

  • небольшой объем информации на русском языке (хотя за последние пять лет появилось несколько обучающих курсов и интересных книг);
  • относительная сложность в использовании для пользователя, незнакомого с языками программирования. Частично это можно сгладить работая в GUI оболочке Rcmdr, о которой я писал выше, но для нестандартных решений все же необходимо использовать командную строку.

Список полезных источников

  1. Официальный сайт: http://www.r-project.org/
  2. Сайт для начинающих: http://www.statmethods.net/
  3. Один из лучших справочников: The R Book, 2nd Edition by Michael J. Crawley, 2012
  4. Список доступной литературы на русском + хороший блог

В августе 1993 г. двое молодых новозеландских ученых из университета Окленда анонсировали свою новую разработку, которую они назвали R. По замыслу создателей, Роберта Джентльмена (Robert Gentleman) и Росса Ихака (Ross Ihaka), она должна была стать новой реализацией языка S, отличающейся от S-PLUS некоторыми деталями, например, обращением с глобальными и локальными переменными, а также работой с памятью. Фактически, они создали не полный аналог S-PLUS, а новую «ветку» на «дереве S». Многие вещи, которые отличают R от S-PLUS, связаны с влиянием языка Scheme (функциональный язык программирования, один из наиболее популярных диалектов языка Lisp).

На середину 2016 года R догнал SAS и SPSS (которые являются платными) и вошел в тройку самых распространенных систем для обработки статистической информации. Также следует отметить, что R входит в 10 языков программирования общего назначения.

Возможности

В среде R реализованы многие статистические методы: линейные и нелинейным модели , проверка статистических гипотез , анализ временных рядов , классификация , кластеризация , графическая визуализация . Язык R позволяет определять собственные функции. Многие функции R написаны на самом R. Для вычислительно сложных задач имеется возможность реализации функций на C, C++ и Fortran. Продвинутые пользователи могут непосредственно обращаться с объектами R из кода на языке C. R является более строгим объектно-ориентированным языком, чем большинство языков, предназначенных для статистических вычислений. Графические функции позволяют создавать графики хорошего полиграфического качества, с возможностью включения математических символов. Имеется собственный LaTeX -подобный формат документации.

Хотя R чаще всего применяется для статистических вычислений, он также может использоваться в качестве средства матричных вычислений. Как и MATLAB , R трактует результат любой операции с числами как вектор единичной длины. Скаляров в R, вообще говоря, нет.

Скрипты

Просто открыть сессию R и вводить в окно программы команды, одну за другой - это лишь один из возможных способов работы. Гораздо более продуктивный метод, который является заодно и серьёзнейшим преимуществом R - это создание скриптов (программ), которые потом загружаются в R и интерпретируются им. С самого начала работы следует создавать скрипты, даже для таких задач, которые кажутся пустяковыми - в будущем это значительно сэкономит время. Создание скриптов по любому поводу и даже без особого повода - одна из основ культуры работы в R.

Пакеты

Ещё одно важное преимущество R - наличие для него многочисленных расширений или пакетов. Несколько базовых пакетов присутствуют сразу после установки R на компьютер, без них система просто не работает (скажем, пакет, который так и называется base, или пакет grDevices, который управляет выводом графиков), а также «рекомендованные» пакеты (пакет для специализированного кластерного анализа cluster, пакет для анализа нелинейных моделей nlme и другие). Кроме того, можно поставить любой из почти восьми тысяч (на середину 2016 года) доступных на CRAN пакетов. При наличии доступа в Интернет это можно сделать прямо из R командой install.packages()

Ссылки

  • CRAN (Comprehensive R Archive Network) - центральная система хранения и распространения R и его пакетов.

Programming on R. Level 1. Basics

Язык R – самый популярный в мире инструмент статистического анализа данных. Он содержит широчайший спектр возможностей для анализа данных, их визуализации, а также создания документов и веб-приложений. Хотите освоить этот мощный язык под руководством опытного наставника? Приглашаем вас на курс «Программирование на языке R. Уровень 1. Базовые знания» .

Этот курс предназначен для широкого круга специалистов, которым необходимо искать закономерности в большом количестве данных, визуализировать их и строить статистически корректные выводы: социологов, менеджеров клинических испытаний/фармакологов, исследователей (астрономия, физика, биология, генетика, медицина и т.д.), IT-аналитиков, бизнес-аналитиков, финансовых аналитиков, маркетологов. Курс также понравится специалистам, которым не подходит функционал (или платность) / .

На занятиях вы получите основные навыки анализа и визуализации данных в среде R . Большая часть времени отводится практическим заданиям и работе с реальными наборами данных. Вы изучите все новые инструменты работы с данными и научитесь их применять в своей работе.

После курса выдается удостоверение о повышении квалификации центра.

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

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

Что такое язык R, зачем он вам нужен и как его можно использовать с умом, можно узнать из прекрасного Руслана Купцова, который он провёл чуть меньше года назад в рамках GeekWeek-2015.

Книги

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


Интернет-ресурсы

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

Но опять проникшись заботой к тем, кто английский язык выучить ещё не успел, а вот изучить R ну очень хочет, упомянем несколько российских ресурсов:

А пока довершим картину небольшим списком англоязычных, но от этого не менее познавательных сайтов:

CRAN - собственно, место где можно загрузить к себе на компьютер среду разработки R. Кроме того мануалы, примеры и прочее полезное чтиво;

Quick-R - коротко и понятно про статистику, методы её обработки и язык R;

Burns-Stat - про R и про предшественника его S с огромным количеством примеров;

R for Data Science - ещё одна книга от Гаррета Гроулмунда (Garrett Grolemund), переведённая в формат онлайн учебника;

Awesome R - подборка лучшего кода с официального сайта, размещённая на нашем любимом GitHub;

Mran - язык R от Microsoft;

Tutorial R - ещё один ресурс с упорядоченной информацией с официального сайта.

В продолжение темы:
Право

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

Новые статьи
/
Популярные