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
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.

Povijest

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

Osobine

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.

Primjeri

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 modelCall:lm(formula = y ~ x)Residuals:1       2       3       4       5       63.3333 -0.6667 -2.6667 -2.6667 -0.6667  3.3333Coefficients: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 ‘ ’ 1Residual standard error: 3.055 on 4 degrees of freedomMultiple R-squared: 0.9583,Adjusted R-squared: 0.9478F-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š

  • Lista statističkih paketa
  • Poređenje statističkih paketa

Reference

Literatura