R (programski jezik)

U računarstvu, R je programski jezik i programsko okruženje za statističke izračune i grafike. On je izvedba S programskog jezika sa leksičkom semantikom inspirisanom Scheme (programski jezik) -om. R su stvorili Ros Ihaka i Robert DŽentlmen[2] na Aukland univerzitetu (University of Auckland), Novi Zeland, a sad ga razvija R Development Core Team. Nazvan je djelimično prema imenima autora, a djelom kao igra riječi na ime S.[3]

R
R logo.svg
Izdavač:R Development Core Team; Ross Ihaka and Robert Gentleman
Zadnja inačica:3.1.0 / 1993 [1]
Operacijski sustav:Cross-platform
Vrsta:
Licenca:GNU General Public License
Web stranica: http://www.r-project.org/

R jezik je postao standard među statističarima koji razvijaju statistički softver,[4][5] i široko je korišćen za razvoj statističkog softvera i analizu podataka.[5]

R je dio GNU projekta.[6] NJegov izvorni kod je slobodan i pod uslovima koje daje GNU-ova opšta javna licenca, a prekompilirane binarne verzije su obezbjeđene za različite operativne sisteme. R koristi interfejs komandne linije, kroz više grafičkih korisničkih okruženja.

PovijestUredi

R je implementacija programskog jezika S u kombinaciji inspiriran programskim jezikom Scheme. "S" je razvio John Chambers 1976. godine tijekom svog rada u tvrtki Bell Labs. Postoje razlike izmedu dva prethodno navedena programska jezika, međutim veliki dio koda napisan za "S" stoji nepromijenjen[7]. R su razvili Ross Ihaka i Robert Gentleman sa Sveučilišta u Aucklandu na Novom Zelandu te ga trenutno nadograđuje i razvija R Development Core Team, čijeg je John Chambers i danas član[8]. R je dobio ime po imenima dva prvotna autora te djelomično kao igra riječi budući da je S ime programskog jezika na čijem je temelju nastao R. Projekt je započet 1992. godine, a prva verzija izdana je 1995., a stabilna beta verzija 2000. godine[9][10][11].

OsobineUredi

R obezbjeđuje širok izbor statističkih (linearnih i nelinearnih modela, klasičnih statističkih testova, analiza vremenskih serija, klasifikacija, klasteri, i ostalo) i grafičkih tehnika. R, je slično kao S, projektovan kao pravi programski jezik, i omogućava korisnicima dodatnu funkcionalnost definisanjem novih funkcija. Postoji više važnih razlika, ali dosta koda može biti iskorišten kao S, nepromjenjen. Mnogo R-ovog sistema je takođe pisana u ovom jeziku, što ga čini lakšim za korisnike pri formiranju algoritama. Kod zahtjevnih zadataka, C, C++ i Fortran kod može biti povezan i pokrenut. Napredni korisnici mogu pisati C kod za manipulisanje R-ovih objekata direktno.

R može biti proširen, kroz pkete obezbjeđene od korisnika, za specifične funkcije ili specifične oblasti proučavanja. Zbog svog S nasleđa, R ima bolju podršku za Objektno-orijentisano programiranje nego ostali statistički programski jezici. Proširivost R-a je olakšana i njegovim popustljivim jezičkim opsegom.[12]

Sljedeća prednost R-a su njegove grafičke mogućnosti, koje obezbjeđuju grafike kvaliteta dovoljno dobrog za publikovanje koji uključuju matematičke simbole. R ima sopstveni LaTeX-oliki format dokumenata, koji se koristi za predstavljanje sveobuhvatne dokumentacije, preko interneta u brojnim formatima ili kao štampana kopija.

Iako je R pretežno korišten od statističara i praktičara koji zahtjevaju okruženje za statističke proračune i razvoj softvera, takođe može biti korišten kao opšti alat za izračunavanje matrica učinka uporedivog sa onim od GNU Oktav i njegovog vlasničkog konkurenta, MATLAB.[13] RWeka[14] sučelje je dodato popularnom softveru za izlučivanje podataka Weka koje dozvoljava mogućnost upisa i čitanja u arff formatu koji dalje omogućava korištenje mogućnosti programa.

PrimjeriUredi

Sljedeći primjeri ilustruju osnove sintakse jezika i korištenje komandne linije.

 
Dijagnostički grafovi načinjeni plot.lm() funkcijom. Primjeri uključuju matematičke oznake na osama, od dole lijevo.
> 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

Vidi jošUredi

ReferenceUredi

  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". http://gentleman.fhcrc.org/. Pristupljeno 20. 7. 2009.. 
  3. Kurt Hornik. The R FAQ: Why is R named R?. ISBN 3-900051-08-9. http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-is-R-named-R_003f. Pristupljeno 29. 1. 2008.. 
  4. Fox, John and Andersen, Robert (January 2005). "Using the R Statistical Computing Environment to Teach Social Statistics Courses" (PDF). Department of Sociology, McMaster University. pristup na dan 3. 8. 2006..
  5. 5,0 5,1 Vance, Ashlee (6. 1. 2009.). "Data Analysts Captivated by R's Power". New York Times. http://www.nytimes.com/2009/01/07/technology/business-computing/07program.html. Pristupljeno 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?". http://www.r-project.org/about.html. Pristupljeno 28. 4. 2009.. 
  7. https://www.r-project.org/about.html Pristupljeno 04.02.2020.
  8. Thieme, Nick (2018-08). "R generation". Significance (in English) 15 (4): 14–19. doi:10.1111/j.1740-9713.2018.01169.x. Pristupljeno 2020-02-04.  Check date values in: |date= (help)
  9. https://blog.revolutionanalytics.com/2016/03/16-years-of-r-history.html Pristupljeno 04.02.2020.
  10. https://www.stat.auckland.ac.nz/~ihaka/downloads/Massey.pdf Pristupljeno 04.02.2020.
  11. Eddelbuettel, Dirk; François, Romain (2011). "Rcpp : Seamless R and C++ Integration". Journal of Statistical Software (in English) 40 (8). ISSN 1548-7660. doi:10.18637/jss.v040.i08. Pristupljeno 2020-02-04. 
  12. Jackman, Simon (2003). "R For the Political Methodologist" (PDF). The Political Methodologist (Political Methodology Section, American Political Science Association) 11 (1): 20–22. Pristupljeno 2006-08-03. 
  13. "Speed comparison of various number crunching packages (version 2)". SciView. http://www.sciviews.org/benchmark. Pristupljeno 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. http://CRAN.R-project.org/package=RWeka. Pristupljeno 2009. 

LiteraturaUredi