R (язык программирования) | это... Что такое R (язык программирования)? (original) (raw)
У этого термина существуют и другие значения, см. R.
R
Класс языка: | функциональный |
Тип исполнения: | интерпретируемый |
Появился в: | 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].
Содержание
- 1 Особенности
- 2 Примеры
- 3 Полезные инструменты
- 4 Коммерциализация
- 5 CRAN
- 6 Информационный бюллетень R
- 7 Примечания
- 8 Ссылки
Особенности
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 разработан ряд графических интерфейсов, в том числе:
- JGR
- RKWard
- SciViews-R[5]
- Statistical Lab
- R Commander
- Rattle[6].
- RStudio
Кроме того, в ряде текстовых и кодовых редакторов предусмотренные специальные режимы для работы с R, в частности:
- ConTEXT
- Emacs (Emacs Speaks Statistics)
- jEdit[7]
- Kate[8]
- Syn[9]
- TextMate
- Tinn-R[10]
- Vim
- Bluefish
- R-плагин для среды разработки Eclipse[11]
- WinEdt с пакетом RWinEdt
- Gretl
Доступ к функциям и среде выполнения 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].
Примечания
- ↑ A Brief History R: Past and Future History, Ross Ihaka, Statistics Department, The University of Auckland, Auckland, New Zealand, available from the CRAN website
- ↑ Teaching-with-R.pdf (англ.)
- ↑ R-Project on Solaris
- ↑ InfoWorld Bossie Awards 2010
- ↑ SciViews
- ↑ Togaware: Rattle: Gnome Cross Platform GUI for Data Mining using R
- ↑ R syntax — jEdit Community
- ↑ http://www.kate-editor.org/syntax/2.5/r.xml
- ↑ http://syn.sourceforge.net/
- ↑ Tinn-R | Download Tinn-R software for free at SourceForge.net
- ↑ WalWare — Homepage
- ↑ http://rpy.sourceforge.net RPy on SourceForge
- ↑ 'Red Hat for stats' goes toe-to-toe with SAS
- ↑ Oracle Unveils the Oracle Big Data Appliance
- ↑ Oracle rolls its own NoSQL and Hadoop
- ↑ Prickett Morgan, Timothy Oracle tucks R stats language into database (англ.). The Register (10 February 2012). Архивировано из первоисточника 3 июня 2012. Проверено 10 февраля 2012.
- ↑ Harris, Derrick. IBM Creates Big Data Frankenstein With Netezza-R Fusion (англ.), The New York Times (2011-03-141). Проверено 19 ноября 2011.
- ↑ Rosenberg, Dave Open-source 'R' gets Hadoop integration (англ.). CNet. CBS. Архивировано из первоисточника 17 февраля 2012. Проверено 19 ноября 2011.
- ↑ Spotfire Integration with S+ and R
- ↑ RSS Matters
- ↑ R Language Platform | StatSoft
- ↑ R" integrated with Symphony
- ↑ Calling Functions in the R Language (SAS/IML)
- ↑ R Journal
- ↑ CRAN: R News
Ссылки
- R-Project.org (англ.)
- Шипунов А. Б. R — объектно-ориентированная статистическая среда (рус.)
- Графическая галерея R — примеры графики, генерируемой R
- Примеры работы с R (рус.) — подборка статей о работе с R
- Золотых Н. Ю., Половинкин А. Н. Введение в R (рус.)
- Введение от Vincent Zoonekynd (англ.) — знакомит с работой R.
- R: A Language and Environment for Statistical Computing. Reference Index / The R Development Core Team (англ.)
Математическое программное обеспечение | |
---|---|
Open source | Символьные вычисления: Axiom • GAP • Maxima • ; Численные вычисления: Fityk • FreeMat • GNU Octave • gretl • LabPlot • QtiPlot • R • Sage • SciDAVis • Scilab • |
Proprietary | Символьные вычисления: Mathcad • Maple • Mathematica • SMath Studio ; Численные вычисления: GAUSS • LabVIEW • MagicPlot • MATLAB • Origin • SigmaPlot • Speakeasy • VisSim |