R
Материал из MachineLearning.
(5 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | [[Изображение: | + | [[Изображение:Rlogo_2.svg|250px|right]] |
'''R''' — язык программирования для статистической обработки данных и работы с графикой, | '''R''' — язык программирования для статистической обработки данных и работы с графикой, | ||
а также программная среда с открытым исходным кодом, развиваемая в рамках проекта [[GNU]]. | а также программная среда с открытым исходным кодом, развиваемая в рамках проекта [[GNU]]. | ||
Строка 22: | Строка 22: | ||
Многие вещи, которые отличают R от S-PLUS, связаны с влиянием языка Scheme | Многие вещи, которые отличают R от S-PLUS, связаны с влиянием языка Scheme | ||
(функциональный язык программирования, один из наиболее популярных диалектов языка [[Lisp]]). | (функциональный язык программирования, один из наиболее популярных диалектов языка [[Lisp]]). | ||
+ | |||
+ | На середину 2016 года R догнал SAS и SPSS (которые являются платными) и вошел в тройку самых распространенных систем для обработки статистической информации. Также следует отметить, что R входит в 10 языков программирования общего назначения. | ||
== Возможности == | == Возможности == | ||
Строка 57: | Строка 59: | ||
(пакет для специализированного [[Кластеризация|кластерного анализа]] cluster, | (пакет для специализированного [[Кластеризация|кластерного анализа]] cluster, | ||
пакет для анализа нелинейных моделей nlme и другие). | пакет для анализа нелинейных моделей nlme и другие). | ||
- | Кроме того, можно поставить любой из почти | + | Кроме того, можно поставить любой из почти восьми тысяч (на середину 2016 года) доступных на [http://cran.r-project.org CRAN] пакетов. |
При наличии доступа в Интернет это можно сделать прямо из R командой <code>install.packages()</code> | При наличии доступа в Интернет это можно сделать прямо из R командой <code>install.packages()</code> | ||
Строка 72: | Строка 74: | ||
'''На русском:''' | '''На русском:''' | ||
- | * [http://www.inp.nsk.su/~baldin/DataAnalysis Страница Евгения Балдина] | + | * [http://www.inp.nsk.su/~baldin/DataAnalysis Страница Евгения Балдина]: статьи про R из журнала Linux Format. |
+ | * [http://www.mpoctok.narod.ru/r/intro.htm Страница А.Михальского]: Введение в R — систему статистического анализа данных. | ||
+ | * [http://herba.msu.ru/shipunov/software/r/r-ru.htm Страница А. Шипунова]: R — объектно-ориентированная статистическая среда. | ||
+ | * [http://www.uic.nnov.ru/~zny/ml Лабораторные работы по курсу «Машинное обучение»] — имеется достаточно полное описание ядра R и некоторых его пакетов. | ||
+ | * [http://m7876.wiki.zoho.com Проект R-Russian]: переводы документации по R на русский язык. | ||
{{stub}} | {{stub}} | ||
[[Категория:Инструменты и технологии]] | [[Категория:Инструменты и технологии]] | ||
+ | [[Категория:Прикладные системы анализа данных]] |
Текущая версия
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 на русский язык.