R

Материал из MachineLearning.

Версия от 18:02, 24 октября 2016; SanSanich (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

R — язык программирования для статистической обработки данных и работы с графикой, а также программная среда с открытым исходным кодом, развиваемая в рамках проекта GNU. Имеются реализации R для операционных систем Linux, Mac OS X, Windows. Основным рекомендуемым режимом работы с R является командная строка. Для Mac и Windows имеется штатный GUI.

Содержание

История

R возник как свободный аналог среды S-PLUS, которая, в свою очередь, является коммерческой реализацией языка расчётов S. Язык S — довольно старая разработка (почти как TeX). Он возник в 1976 году в компании Bell Labs, и был назван, естественно, «по мотивам» языка С. Начиная с третьей версии (1988 г.), коммерческая реализация S называется S-PLUS.

В августе 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()

Ссылки

На русском:

Личные инструменты