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

програмски језик за статистичко рачунарство

R је програмски језик и програмско окружење за статистичке израчуне и графике. Он је изведен из програмског језика S са лексичком семантиком инспирисаном Scheme-ом. R су створили Рос Ихака и Роберт Џентлмен[2] на Аукланд универзитету (University of Auckland), Нови Зеланд, а сад га развија R Development Core Team. Назван је делимично према именима аутора, а делом као игра речи на име S.[3]

R
Модел3.3.2
Појавио се1993.[1]
Аутор(и)R Development Core Team
Дизајнер(и)Ross Ihaka и Robert Gentleman
Датум актуелне верзије31. октобар 2016. године
УтицајиS
Оперативни системиCross-Platform
ЛиценцаGNU General Public License
Веб-сајтhttp://www.r-project.org/

Језик R је постао стандард међу статистичарима који развијају статистички софтвер,[4][5] и широко је коришћен за развој статистичког софтвера и анализу података.[5]

R је део ГНУ пројекта.[6] Његов изворни код је слободан и под условима које даје ГНУ-ова општа јавна лиценца, а прекомпилиране бинарне верзије су обезбеђене за различите оперативне системе. R користи интерфејс командне линије, кроз више графичких корисничких окружења.

Историја уреди

R је имплементација програмског језика S помешаног са програмским језиком Scheme.[7] Језик S je направио Џон Чемберс док је радио за Белове лабораторије. Има великих промена у R, али ипак велики део S кода ради и у R.[8]

Пројекат је настао 1992. године, прва верзија је изашла 1995. године док је стабилна бета верзија изашла 2000. године.[9][10][11]

Особине уреди

R обезбеђује широк избор статистичких (линеарних и нелинеарних модела, класичних статистичких тестова, анализа временских серија, класификација, кластери, и остало) и графичких техника. R, је слично као S, пројектован као прави програмски језик, и омогућава корисницима додатну функционалност дефинисањем нових функција. Постоји више важних разлика, али доста кода може бити искориштен као S, непромењен. Много R-овог система је такође писана у овом језику, што га чини лакшим за кориснике при формирању алгоритама. Код захтевних задатака, C, C++ и Фортран код може бити повезан и покренут. Напредни корисници могу писати C код за манипулисање R-ових објеката директно.

R може бити проширен, кроз пакете обезбеђене од корисника, за специфичне функције или специфичне области проучавања. Због свог S наслеђа, R има бољу подршку за Објектно-оријентисано програмирање него остали статистички програмски језици. Проширивост R-а је олакшана и његовим попустљивим језичким опсегом.[12]

Следећа предност R-а су његове графичке могућности, које обезбеђују графике квалитета довољно доброг за публиковање који укључују математичке симболе. R има сопствени LaTeX-олики формат докумената, који се користи за представљање свеобухватне документације, преко интернета у бројним форматима или као штампана копија.

Иако је R претежно кориштен од статистичара и практичара који захтевају окружење за статистичке прорачуне и развој софтвера, такође може бити кориштен као општи алат за израчунавање матрица учинка упоредивог са оним од ГНУ Октава и његовог власничког конкурента, MATLAB.[13] RWeka[14] сучеље је додато популарном софтверу за излучивање података Weka које дозвољава могућност уписа и читања у arff формату који даље омогућава кориштење могућности програма.

Примери уреди

Следећи примери илуструју основе синтаксе језика и кориштење командне линије.

 
Дијагностички графови начињени plot.lm() функцијом. Примери укључују математичке ознаке на осама, од доле лево.
> x <- c(1,2,3,4,5,6)   # Create ordered collection
> y <- x^2              # Square the elements of x
> mean(y)               # Calculate arithmetic mean of y
[1] 15.16667
> var(y)                # Calculate sample variance
[1] 178.9667
> summary(lm(y ~ x))    # Fit a linear regression model

Call:
lm(formula = y ~ x)

Residuals:
1       2       3       4       5       6
3.3333 -0.6667 -2.6667 -2.6667 -0.6667  3.3333

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)  -9.3333     2.8441  -3.282 0.030453 *
x             7.0000     0.7303   9.585 0.000662 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.055 on 4 degrees of freedom
Multiple R-squared: 0.9583,	Adjusted R-squared: 0.9478
F-statistic: 91.88 on 1 and 4 DF,  p-value: 0.000662

> par(mfrow=c(2, 2))    # Request 2x2 plot layout
> plot(lm(y ~ x))       # Diagnostic plot of regression model

useR! конференције уреди

Званично окупљање корисника R-а зове се "useR!".[15]

Прва конференција, useR! 2004 Архивирано на сајту Wayback Machine (14. септембар 2013), одржана је у мају 2004. године у Бечу у Аустрији.[16] Конференција се од 2006. године одржава годишње, углавном наизменично у земљама Европе и Северне Америке.[17]

Од тада су одржане следеће конференције: [15]

Види још уреди

Референце уреди

  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. ^ „Robert Gentleman's home page”. Архивирано из оригинала 23. 6. 2006. г. Приступљено 20. 7. 2009. 
  3. ^ Kurt Hornik. The R FAQ: Why is R named R?. ISBN 978-3-900051-08-2. Приступљено 29. 1. 2008. 
  4. ^ Fox, John & Andersen, Robert (јануар 2005). „Using the R Statistical Computing Environment to Teach Social Statistics Courses” (PDF). Department of Sociology, McMaster University. Архивирано из оригинала (PDF) 11. 06. 2016. г. Приступљено 3. 8. 2006. 
  5. ^ а б Vance, Ashlee (6. 1. 2009). „Data Analysts Captivated by R's Power”. New York Times. Приступљено 28. 4. 2009. „R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca... 
  6. ^ „What is R?”. Приступљено 28. 4. 2009. 
  7. ^ Morandat, Frances; Hill, Brandon; Osvald, Leo; Vitek, Jan (2012). „Evaluating the design of the R language: objects and functions for data analysis” (PDF). ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming. Архивирано из оригинала (PDF) 11. 10. 2017. г. Приступљено 17. 5. 2016. 
  8. ^ „R: What is R?”. R-Project. Приступљено 7. 2. 2016. 
  9. ^ „R : Past and Future History -- A Free Software Project”. cran.r-project.org. Приступљено 30. 5. 2016. 
  10. ^ „Over 16 years of R Project history”. Revolutions. Приступљено 30. 5. 2016. 
  11. ^ Ihaka, Ross. „The R Project: A Brief History and Thoughts About the Future” (PDF). stat.auckland.ac.nz. 
  12. ^ Jackman, Simon (пролеће 2003). „R For the Political Methodologist” (PDF). The Political Methodologist. Political Methodology Section, American Political Science Association. 11 (1): 20—22. Архивирано из оригинала (PDF) 21. 7. 2006. г. Приступљено 3. 8. 2006. 
  13. ^ „Speed comparison of various number crunching packages (version 2)”. SciView. Архивирано из оригинала 16. 10. 2007. г. Приступљено 3. 11. 2007. 
  14. ^ „RWeka: An R Interface to Weka. R package version 0.3-17”. Kurt Hornik, Achim Zeileis, Torsten Hothorn and Christian Buchta. Приступљено 2009.  Проверите вредност парамет(а)ра за датум: |access-date= (помоћ)
  15. ^ а б "useR!". Retrieved from https://www.r-project.org/conferences.html Архивирано на сајту Wayback Machine (29. јун 2015)
  16. ^ „useR! 2004 - The R User Conference”. 27. 5. 2004. Архивирано из оригинала 14. 09. 2013. г. Приступљено 18. 9. 2013. 
  17. ^ R Project (9. 8. 2013). „R-related Conferences”. Архивирано из оригинала 29. 06. 2015. г. Приступљено 18. 9. 2013. 

Литература уреди