R (език за програмиране)

From Wikipedia, the free encyclopedia

R (език за програмиране)
Remove ads

Програмният език R е система за статистически анализи и графики, създадена от Рос Ихака и Робърт Джентълмен. R е едновременно и програмен език и софтуерна среда. Този език се смята за диалект на езика S, създаден от AT&T Bell Laboratories.

Бързи факти Парадигма, Реализиране през ...
Remove ads

История

Създаден през 1996 г. (самия проект стартира още през 1990 г.) от двама професори по статистика – Робърт Джентълмен и Рос Иака от Университета в Оукланд, Нова Зеландия, като open-source алтернатива на програмния език S. В самото си начало той е озаглавен GNU S като по-късно е преименуван на R, което произлиза от началните букви на малките имена на неговите създатели. S, като език за програмиране е творение на екипа на Джон Чембърс от лабораториите на Бел в Ню Джърси, САЩ и широко разпространен измежду статистиците и математиците. По своята същност R е като своеобразен диалект на S.

Remove ads

Какво е R и как работи?

Какво е R?

Както се разбира от неговото пълно име: програмен език и развойна среда за статистическа и математическа обработка на данни, мощен инструмент използван от хиляди учени, преподаватели и студенти по света, от най-различни дисциплини и направления. През последните години изучаването на езика се превръща в стандарт в катедрите по статистика и математика на повечето от университетите в Западна Европа и САЩ. Все повече и повече научни и бизнес институции където се провеждат статистически и математически изследвания и обработка на данни изискват от настоящите и бъдещи си служители умения за работа с R. Сред поддържащите и използващите езика институции са компании като: Google, Astra, Merck, АТ&Т Labs, Baxter Healthcare Corporation и много други. По думите на Дарил Прегибон, изследовател в „Google“ и цитиран в статията във вестник New York Times посветена на R, ”Езика за компанията е толкова важен че е трудно да си представим какво би било ако него го нямаше. R позволява на учените да провеждат сложни анализи без да е необходимо те да притежават задълбочени познания в областта статистиката, математиката, както и на компютрите и компютрите системи”.

Езика включва възможности за работа с различни типове данни – както числови, така и низови и логически (булеви). Обектни структури като: вектори, фактори, списъци, матрици и датафреймове, if-else, for, repear и други. Възможностите на R в това отношение понастоящем се използват широко при изграждането на математически симулации и модели на различни биологични и природни системи.

„R“ е наличен в няколко форми: сорс файлове (главно написани на С, с някои съчетания с „Fortran“), главно за „Unix“ и „Linux“ платформи, както и под формата на прекомпилирани бинарни файлове за Windows, Linux и Macintosh. Файловете нужни за инсталирането на „R“, както под формата на сорс файлове, така и на прекомпилирани двоични файлове, се предоставят от интернет сайта на „Comprehensive R Archive Network (CRAN)“, където са налични и инструкциите за инсталация.

Как работи R?

Синтаксисът в „R“ езикът е много прост и интуитивен. При него не се изисква компилиране на кода, а той се изпълнява при изписване. За пример може да се направи линейна регресия с командата „lm(x ~ x).“ За да се изпълни една функция тя винаги трябва да бъде записана със скоби, без значение дали са нужни или не. Ако бъде изписано името на функцията, без скоби, „R“ ще изведе на екрана съдържанието на функцията.

При изпълнение на „R“ променливите, информацията, функциите, резултатите и т.н. се запазват в „RAM“ паметта на компютъра, под формата на обекти, които имат име. Потребителят може да манипулира тези обекти посредством оператори (аритметически, логически, за сравнение и други) и функции (това са самите обекти). На фигурата по-долу е дадена графика на една „R“ функция.

Thumb

Аргументите могат да бъдат обекти (информация, формули, изрази и други), някои от които могат да се определят, като функции по подразбиране (стойностите по подразбиране могат да бъдат променяни от потребителя). Една „функция“ в езика „R“ може да изисква аргументи: всички аргументи могат да са дефинирани по подразбиране или може да съществува такава, в която няма аргументи.

Както бе посочено по-горе, всички действия се извършват върху обекти, разположени в „RAM“ паметта и не се изискват временни файлове „(temporary files).“ Четенето и писането на файлове се използва за вход и изход на информация и резултат. Потребителят изпълнява функцията чрез команди. Резултатът се визуализира директно на екрана, запазва се в обект или се записва на твърдия диск. Тъй като резултатите сами по себе си са обекти, те могат да бъдат разглеждани като информация, която може да бъде анализирана. На фигурата по-долу е изобразено как работи „R.“

Функциите, налични за потребителя, се намират в библиотеки, които са разположени в директорията „R_HOME/library“ („R_HOME“ е директорията, където „R“ инсталиран). В тази директория се съдържат групи („packages)“ от функции, които също са структурирани в папки. Основната група от функции в „R“ се нарича „base“ (база) и съдържа в себе си основните функции, за четене и манупилиране на информация, на езика.

Remove ads

Статистически характеристики

R и библиотеките му имплементират голяма разновидност от статистически и графични технологии, включително линейни и нелинейни модели, класически статистически тестове, времеви анализи, класификации и други. R е лесно разширяем чрез функции и допълнения. Много от стандартните функции в езика са написани на R, което улеснява потребителите да следват алгоритъма. За интензивно изчислителни задачи, С, С++ и Fortran код могат да бъдат извикани и стартирани, по време на изпълнение на програмата. За по-напредналите потребители е предоставена възможност да пишат собствен С, С++, Java, .NET или Python код, който директно да манипулира R обекти.

Както беше отбелязано по-горе, R е лесно разшируем език, чрез използване на потребителски пакети за конкретни функции или конкретни области на изследване. Поради сходствата си със S, R предоставя по-големи ООП удобства спрямо повечето статистически езици.

Друга силна черта в езика R са статичните графики, които могат да създадат висококачествени графики, включвайки математически символи. Посредством външни библиотеки са достъпни динамични и интерактивни графики.

Програмистки характеристики

R е интерпретиран език. Обикновено потребителите имат достъп чрез командния ред. Ако потребител въведе 2+2 в командния прозорец на R и натисне „ENTER“, компютърът отговаря с 4, както е показано по-долу:

> 2+2
[1] 4

Както други подобни езици, като APL и MATLAB, R поддържа матрична алгебра. Структурите от данни включват вектори, матрици, масиви, листове и други. Разширените обекти в R включват: регресивни модели, географски координати и други. R поддържа процедурно програмиране с функции и ООП с функции с широко приложение. Функциите с широко приложение извършват различни изчисления спрамо подадените аргументи. За пример, R притежава функция print, която печата почти всякакъв обект, чрез синтаксиса print(objectname).

Remove ads

Примери

Match()

Намира на коя позиция в масива 'c' се намира 5. Изписва позиция 3.

> print(match(5, c(2,7,5,3))) # 5 is in 3rd place
[1] 3

sum()

Събира числата в скобите.

> sum(1,3,5)
[1] 9

rep()

> rep("Yo ho!", times = 3)
[1] "Yo ho!" "Yo ho!" "Yo ho!"

sqrt()

Намира корен от числото в скобите.

> sqrt(16)
[1] 4

seq()

Пример 1: Изписва числата от първия параметър (5) до втория параметър (9).

Пример 1: Изписва числата от първия параметър (5) до втория параметър (9), като увеличава с всяко с 0,5.

> seq(5,9)
[1] 5 6 7 8 9

> seq(5, 9, 0.5)
[1] 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0

Вектор от низове

1: Създаваме променлива (масив от низове) sentence, която съдържа „walk, the, plank“,

2: Изписваме на конзолата третия елемент съдържащ се в масива sentence.

3: Променяме третия елемент на 'dog'.

4: Изписваме първия и третия елемент в масива.

> sentence <- c('walk', 'the', 'plank')
> sentence[3]
[1] "plank"

> sentence[3] <- 'dog'

> sentence[c(1, 3)]
[1] "walk" "dog"

Работа с променлива

1: Създаваме 'х' със стойност 42.

2: Разделяме 'х' на 2 и на конзолата се изписва 21.

3: Създаваме променлива 'c' която съдържа „a,b,c“ и тя се изписва на конзолата.

> x <- 42
> x/2
 [1]21

> c('a', 'b', 'c')
 [1] "a" "b" "c"
Remove ads

Важни събития

Пълният списък на промените се съхранява във файла "R News" при CRAN. Някои основни положения са описани по-долу за няколко важни редакции.

Повече информация Релийз, Дата ...
Remove ads

Интерфейси

Графичен потребителски интерфейс

  • RStudio
  • Deducer
  • Java GUI for R
  • Rattle GUI
  • R Commander]
  • Revolution R Productivity Environment (RPE)
  • RGUI
  • RKWard
  • RWeka

useR! конференции

„useR!“ е името дадено на официалното годишно събиране на потребителите на R. Първото такова събитие бе наречено useR! 2004 и се проведе през май 2004 година във Виена, Австрия. След като бе пропусната 2005 година, конференцията на потребителите на R се провежда ежегодно, като обикновено се получава редуване между Европа и Северна Америка. Следващите конференции се проведоха, както следва:

  • useR! 2006, Виена, Австрия
  • useR! 2007, Еймез, Айова, САЩ
  • useR! 2008, Дортмунд, Германия
  • useR! 2009, Рен, Франция
  • useR! 2010, Гайтесбург, Мериленд, САЩ
  • useR! 2011, Ковънтри, Великобритания
  • useR! 2012, Нашвил, Тенеси, САЩ
  • useR! 2013, Албасете, Испания
  • useR! 2014, Лос Анжелис, САЩ
  • useR! 2015, Аалборг, Дания
Remove ads

Допълнения

От сайта на фондацията www.r-project.org са достъпни за безплатно сваляне множество допълнителни ръководства и безплатни книги посветени на програмирането с R. Има издадени над 50 учебници ръководства както в областта на статистиката и математиката като цяло, така и посветени на спецификата при различните науки като физика, биология, екология, медицина, сеизмология, геология и др.

Външни препратки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads