R (язык программирования)

R (язык программирования)
R
Rlogo.jpg
Класс языка:

функциональный

Тип исполнения:

интерпретируемый

Появился в:

1993[1]

Автор(ы):

Росс Айхэка
Роберт Джентлмен

Релиз:

2.15.2 (26 октября 2012 года)

Типизация данных:

динамическая

Испытал влияние:

S, Scheme

Сайт:

r-project.org

R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU. Язык создавался как аналогичный языку S, разработанному в Bell Labs и является его альтернативной реализацией, хотя между языками есть существенные отличия, но в большинстве своём код на языке S работает в среде R. Изначально R был разработан сотрудниками статистического факультета Оклендского университета Россом Айхэкой (англ. Ross Ihaka) и Робертом Джентлменом (англ. Robert Gentleman) (первая буква их имён — R), на момент 2011 года язык и среда поддерживаются и развиваются организацией R Foundation.

R широко используется как статистическое программное обеспечение для анализа данных и фактически стал стандартом для статистических программ[2].

R доступен под лицензией GNU GPL. Распространяется в виде исходных кодов, а также откомпилированных приложений под ряд операционных систем: FreeBSD, Solaris[3] и другие дистрибутивы Unix и Linux, Microsoft Windows, Mac OS X.

В R используется интерфейс командной строки, хотя доступны и несколько графических интерфейсов пользователя, например пакет R Commander, RKWard, RStudio, Weka, Rapid Miner, KNIME, а также средства интеграции в офисные пакеты.

В 2010 году R вошёл в список победителей конкурса журнала InfoWorld в номинации на лучшее открытое программное обеспечение для разработки приложений[4].

Содержание

Особенности

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

Ещё одной особенностью R являются графические возможности, заключающиеся в возможности создания качественной графики, которая может включать математические символы.

Примеры

Средний балл выпускника вуза

# В переменную a поместить список всех оценок:
a <- c(4,3,3,3,3,4,4,4,4,4,5,4,4,4,5,5,5,5,+
3,5,5,4,4,3,3,4,4,3,5,5,4,3,3,4,4,3,3,5,4,5,5)
 
# В переменную n поместить количество оценок:
length(a) -> n
 
# Средний балл:
m <- mean(a)
 
# Таблица (горизонтальная) с подсчётом количества оценок:
t <- table(a)
 
# Преобразование в более удобный формат данных (вертикальную таблицу):
f <- as.data.frame(t)
 
# Вычисление процентной доли и запись её в третий столбец:
mapply(function(r) r*100/n, f[,2]) -> f[,3]
 
# Заголовки столбцов:
colnames(f) <- c("Оценка", "Кол-во", "%")
 
# Вывод результатов:
a
n
m
f

Результат:

 [1] 4 3 3 3 3 4 4 4 4 4 5 4 4 4 5 5 5 5 3 5 5 4 4 3 3 4 4 3 5 5 4 3 3 4 4 3 3 5
[39] 4 5 5
[1] 41
[1] 4
  Оценка Кол-во        %
1      3     12 29.26829
2      4     17 41.46341
3      5     12 29.26829

Полезные инструменты

Для удобства работы с R разработан ряд графических интерфейсов, в том числе:

Кроме того, в ряде текстовых и кодовых редакторов предусмотренные специальные режимы для работы с R, в частности:

Доступ к функциям и среде выполнения R возможен из Python с использованием пакета RPy[12].

Коммерциализация

Компания Revolution Analytics, основанная в 2007 году, целиком свой бизнес посвящает коммерциализации языка программирования R, в её коммерческом пакете Revolution R примечательны такие компоненты (не распространяемые со свободной версией языка), как ParallelR (поддержка многопоточности среды выполнения), R Productivity Environment (интегрированная среда разработки), RevoScaleR (поддержка массово-параллельной обработки в рамках концепции «больших данных»), RevoDeployR, библиотеки по интеграции с веб-службами, поддержка форматов статистических пакетов корпорации SAS Institute[13].

В октябре 2011 года корпорация Oracle выпустила аппаратно-программный комплекс Big Data Appliance — NoSQL-кластер серверов массово-параллельной обработки, с интегрированным программными средствами на основе языка R и Apache Hadoop[14][15], а в феврале 2012 года язык встроен в Oracle Database[16]. Также массово-параллельный анализ средствами R поддержан в аппаратно-программных комплексах Netezza корпорации IBM[17][18].

Также язык R поддерживают коммерческие программные среды Tibco Spotfire[19], SPSS (начиная с версии 16.0)[20], Statistica (начиная с версии 9.0)[21], Platform Symphony[22], SAS[23].

CRAN

R и дополнительные пакеты распространяются через CRAN (акроним Comprehensive R Archive Network). В настоящее время в мире доступны более 60 зеркал CRAN. Головной узел — (http://cran.r-project.org/) расположен в Вене (Австрия).

Информационный бюллетень R

Два-три раза в год выходит свободно-распространяемый информационный журнал R Journal[24]. Он содержит информацию по статистической обработке данных и разработке, что может быть интересно как пользователям, так и разработчикам R. С января 2001 г. по октябрь 2008 г. он выходил в качестве бюллетеня R News[25].

Примечания

  1. A Brief History R: Past and Future History, Ross Ihaka, Statistics Department, The University of Auckland, Auckland, New Zealand, available from the CRAN website
  2. Teaching-with-R.pdf (англ.)
  3. R-Project on Solaris
  4. InfoWorld Bossie Awards 2010
  5. SciViews
  6. Togaware: Rattle: Gnome Cross Platform GUI for Data Mining using R
  7. R syntax — jEdit Community
  8. http://www.kate-editor.org/syntax/2.5/r.xml
  9. http://syn.sourceforge.net/
  10. Tinn-R | Download Tinn-R software for free at SourceForge.net
  11. WalWare — Homepage
  12. http://rpy.sourceforge.net RPy on SourceForge
  13. 'Red Hat for stats' goes toe-to-toe with SAS
  14. Oracle Unveils the Oracle Big Data Appliance
  15. Oracle rolls its own NoSQL and Hadoop
  16. Prickett Morgan, Timothy Oracle tucks R stats language into database  (англ.). The Register (10 February 2012). Архивировано из первоисточника 3 июня 2012. Проверено 10 февраля 2012.
  17. Harris, Derrick. IBM Creates Big Data Frankenstein With Netezza-R Fusion  (англ.), The New York Times (2011-03-141). Проверено 19 ноября 2011.
  18. Rosenberg, Dave Open-source 'R' gets Hadoop integration  (англ.). CNet. CBS. Архивировано из первоисточника 17 февраля 2012. Проверено 19 ноября 2011.
  19. Spotfire Integration with S+ and R
  20. RSS Matters
  21. R Language Platform | StatSoft
  22. R" integrated with Symphony
  23. Calling Functions in the R Language (SAS/IML)
  24. R Journal
  25. CRAN: R News

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "R (язык программирования)" в других словарях:

  • Язык программирования C++ — Эта статья о книге; о языке программирования см.: C++. Язык программирования C++ The C++ Programming Language Автор: Бьёрн Страуструп Язык оригинала: английский Оригинал издан: 1986 Издательство: Addison–Wesley …   Википедия

  • Язык программирования Java — разработанный корпорацией Sun Microsistems межплатформенный, интерпретируемый, объектно ориентированный язык программирования, используемый для создания приложений, работающих в под управлением веб браузера и характеризующихся высоким уровнем… …   Финансовый словарь

  • Язык программирования Паскаль — процедурно ориентированный язык программирования высокого уровня, предназначенный для широкого класса задач. Язык Паскаль считается языком структурного программирования. По английски: Pascal language См. также: Процедурно ориентированные языки… …   Финансовый словарь

  • Язык программирования — искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора. По английски: Programming language Синонимы:… …   Финансовый словарь

  • Язык программирования COBOL — язык программирования, предназначенный для решения экономических задач и задач обработки коммерческой информации. Язык COBOL отличается развитыми средствами работы с файлами и формой записи, приближенной к английскому языку. По английски: COBOL… …   Финансовый словарь

  • Язык программирования Лисп — универсальный язык программирования высокого уровня. Язык Лисп: относится к декларативным языкам функционального типа; предназначен для обработки символьных данных, представленных в виде списков. Основой языка являются функции и рекурсивные… …   Финансовый словарь

  • Язык программирования Ада — универсальный язык программирования: предназначенный для создания сложных систем; характеризующийся высокой степенью независимости от операционных систем; обеспечивающий поддержку средств параллельной обработки данных в реальном времени. По… …   Финансовый словарь

  • Язык программирования Алгол — язык программирования, предназначенный для решения численных задач. Программа на языке ALGOL имеет блочную структуру, позволяющую эффективно реализовывать механизмы динамического распределения памяти. По английски: ALGOL language См. также:… …   Финансовый словарь

  • Язык программирования Модула — алгоритмический язык, предназначенный для составления программ, работающих в реальном времени. В языке Модула используются: понятия модуля и процесса; средства программирования низкого уровня. Программа на языке Модула формируется из независимых… …   Финансовый словарь

  • Язык программирования Пролог — язык логического программирования, программа на котором состоит: из логических утверждений, образующих базу данных; и из правила вывода новых утверждений из известных. По английски: PROLOG language См. также: Декларативные языки программирования… …   Финансовый словарь

  • Язык программирования Форт — процедурно ориентированный язык программирования, предназначенный для эффективной работы с персональными системами. Форт близок к языку ассемблера. См. также: Процедурно ориентированные языки программирования Финансовый словарь Финам …   Финансовый словарь


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»