R - язык программирования и программная среда для статистических вычислений, анализа и представления данных в графическом виде. Разработка R проходила под существенным влиянием двух существующих языков программирования: в основном языки программирования S с семантикой, унаследованной от Scheme. Язык программирования R названа в честь первых букв фамилий ее основателей Роса Ихакы (Ross Ihaka) и Роберта Джентлмена (Robert Gentleman) - работников Оклендского университета, в Новой Зеландии. Несмотря на некоторые принципиальные отличия, большинство программ, написанных на языке программирования S, запускаются в среде R.
R распространяется бесплатно, по лицензии GNU General Public License, в виде свободно доступного исходного кода или откомпилированных бинарных версий большинства операционных систем: Linux, FreeBSD, Microsoft Windows, Mac OS X , Solaris. R использует текстовый интерфейс, однако существуют разного рода графические интерфейсы пользователя.
R содержит широкие возможности для проведения статистических анализов, включая линейную и нелинейную регрессию, классические статистические тесты, анализ временных рядов (серий), кластерный анализ и многое другое. R легко перестраивается благодаря использованию дополнительных функций и пакетов, доступных на сайте Comprehensive R Archive Network (CRAN). Большая часть стандартных функций R, написанная на языке R, однако существует возможность подключать код, написанный на C ,C++ , или Fortran. Также с помощью программного кода на C или Java можно непосредственно манипулировать R объектами.
Особенности
R относится к интерпретируемым языкам программирования и для работы используется командный интерпретатор. Например, работа R в терминале выглядит следующим образом:
> 1 +1
[1] 2
В языке программирования R все переменные являются объектами, каждый объект относится к некоторому классу. Данные в виде объектов: векторов, массивов, датафреймов (таблиц данных), списков. R поддерживает концепцию объектно-ориентированного программирования (ООП), включая generic функции, результат выполнения которой зависит от аргументов (типа объектов), передаваемых generic функции. Хотя R ориентирована на решение и анализ статистических задач, может использоваться для матричных вычислений с быстродействием сравнительной с математическими пакетами GNU Octave или MATLAB .
Создано большое количество пакетов для статистических вычислений, биоинформатики, оптимизации и т.д..
Среда R включает средства для визуализации результатов вычислений (2-мерные, 3-мерные графики, диаграммы, гистограммы, диаграммы Ганта и т.д.). Графические возможности R позволяют создавать высококачественные графики с различными атрибутами, включая также математические формулы и символы.
Другой особенностью является функция Sweave, позволяющая интеграцию и выполнение кода R в документах, написанных с помощью LaTeX, с целью создания динамических отчетов.
R De-facto стал стандартом в международном сообществе специалистов в области статистики, и широко используется в разработках статистических программ и анализе данных. Согласно ежегодном опросу Rexer's Annual Data Miner Survey в 2010 году, большинство (43%) среди опрошенных специалистов по анализу данных используют в своей работе среду R.