R
Материал из MachineLearning.
(→Ссылки) |
|||
(4 промежуточные версии не показаны) |
Текущая версия
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()
Ссылки
- Основной сайт проекта.
- R FAQ.
- CRAN (Comprehensive R Archive Network) — центральная система хранения и распространения R и его пакетов.
- Поиск в материалах по R.
- Cправочный ресурс.
- Cправочный ресурс.
- Cоветы по использованию R.
- Cписок рассылки R-help.
- R (programming language) — материал из англоязычной Википедии.
На русском:
- Страница Евгения Балдина: статьи про R из журнала Linux Format.
- Страница А.Михальского: Введение в R — систему статистического анализа данных.
- Страница А. Шипунова: R — объектно-ориентированная статистическая среда.
- Лабораторные работы по курсу «Машинное обучение» — имеется достаточно полное описание ядра R и некоторых его пакетов.
- Проект R-Russian: переводы документации по R на русский язык.