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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
R
Rlogo.jpg
Класс языка:

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

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

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

Появился в:

1997

Автор(ы):

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

Релиз:

2.14.1 (22 декабря 2011 года)

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

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

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

S, Scheme

Сайт:

r-project.org

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

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

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

В R используется интерфейс командной строки, хотя доступны и несколько графических интерфейсов пользователя.

В 2010 году R вошёл в список победителей конкурса «InfoWorld Bossie Awards 2010: The best open source application development software» лучшего открытого программного обеспечения года[3].

Содержание

[править] Особенности

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[11].

[править] Коммерациализация

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

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

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

[править] CRAN

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

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

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

[править] Примечания

[править] Ссылки

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Участие
Печать/экспорт
Инструменты
На других языках