R (programara lingvo)

programlingvo por statistiko

R estas programara lingvo kaj softvara medio por statistika komputiko kaj grafikaĵoj. La R lingvo estas ĝenerale uzita inter statistikistoj kaj datumaj ministoj por evolui statistikan softvaron[1][2] kaj datuman analizon.[2]Voĉdonadoj, enketoj de datumaj ministoj kaj studoj de sciencaj literaturaj datumaroj montras, ke populareco de R pliiĝis multe en lastatempaj jaroj.[3][4][5][6]

R

Lasta stabila versio4.3.3
ProgramlingvoC, Fortrano, R
PermesiloĜenerala Publika Permesilo de GNU, versio 2.0
Retejowww.r-project.org
vdr

R estas efektivigo de la S programara lingvo kombinita kun vortfarada scoping semantikoj inspirita de Plano.[7] S estis kreita de John Ĉambroj ĉe Bell Laboritorioj. Estas kelkaj gravaj diferencoj, sed multe de la kodo skribita por S kuras senŝanĝe.

R estis kreita de Ross Ihaka kaj Robert Sinjoro[8] ĉe la Universitato de Auckland, Nov-Zelando kaj estas nuntempe evoluigita de la R Evoluado Kerna Teamo, de kiu Ĉambroj estas membro. R estas nomita parte post kiam la unuaj nomoj de la unua du R aŭtoroj kaj parte kiel ludado sur la nomo de S.[9]

R estas GNUa projekto.[10][11] La fonta kodo por la R softvara medio estas skribita unuavice en C, Fortran kaj R. R estas libere havebla sub la GNU Ĝenerala Publika Licenco kaj pre-kompilita binaraj versioj estas provizita por diversaj funkciadaj sistemoj.[12] R uzoj komanda linia fasado; estas ankaŭ pluraj grafikaj uzantinterfacoj por ĝi.

Statistikaj ĉefaĵoj

R kaj ĝiaj bibliotekoj efektivigas larĝan varion de statistikaj kaj grafikaj teknikoj, inkluzivanta linian kaj nonlinear modeliganta, klasikaj statistikaj testoj, tempo-seria analizo, klasifiko, clustering kaj aliaj. R estas facile extensible tra funkcioj kaj etendaĵoj kaj la R komunumo estas notita por ĝiaj aktivaj kontribuaĵoj en terminoj de pakoj. Multaj de normaj funkcioj de R estas skribita en R ĝi mem, kiu faras ĝin facile por uzantoj sekvi la algoritmajn elektojn faris. Por computationally intensaj taskoj, C, C++ kaj Fortran kodo povas esti ligita kaj vokita ĉe kura tempo. Antaŭenirita uzantojn povas skribi C, C++, Java, .[13][14] RETO aŭ Python kodo manipuli R objektojn rekte.[15][16][17]

R estas tre extensible tra la uzo de uzanto-submetiĝita pakojn por specifaj funkcioj aŭ specifaj areoj de studo. Pro ĝia S heredaĵo, R havas pli fortan objekton-oriented programaraj servoj ol plej statistikaj komputikaj lingvoj. Etendanta R estas ankaŭ faciligita de ĝia vortfarada scoping reguloj.[18]

Alia forto de R estas senmovaj grafikaĵoj, kiu povas produkti eldonon-superkvalitaj grafeoj, inkluzivanta matematikajn simbolojn. Dinamikaj kaj interaktivaj grafikaĵoj estas haveblaj tra suplementaj pakoj.[19]

R havas ĝian propran LaTeX-kiel dokumentara formato, kiu estas uzita provizi ampleksan dokumentaron, ambaŭ enreta en nombro de formatoj kaj en malfacila kopio.

Programaraj ĉefaĵoj de R

R estas interpretita lingvon; uzantoj tipe aliras ĝin tra komanda-linia interpretisto. Se uzantaj tipoj 2+2 ĉe la R komanda akurata kaj premas eniras, la komputilaj respondoj kun 4, kiel montrita sub: Kiel aliaj similaj lingvoj kiel APL kaj MATLAB, R subtena matrico aritmetiko. Datumaj strukturoj de r inkluzivas vektorojn, matricoj, aroj, datumo kadras (similan al tabloj en interrilata datumaro) kaj listoj.[20] Extensible de r objekta sistemo inkluzivas objektojn por (inter aliaj): regresaj modeloj, tempo-serio kaj geo-spacaj koordinatoj. La scalar datuma tipo estis neniam datuma strukturo de R. Scalar estas reprezentita kiel vektoro kun longeco unu en R.[21]

R subtenoj procedura programaro kun funkcioj kaj, pro tio ke kelkaj funkcioj, objekto-oriented programaro kun kolektivaj funkcioj. Kolektiva funkcio agas malsame dependanta sur la tipo de argumentoj pasita al ĝi. En aliaj vortoj, la kolektiva funkcio ekspedas la funkcian (metodon) specifa al tiu tipo de objekto. Ekzemple, R havas kolektivan gravuraĵan funkcion kiu povas presi preskaŭ ĉiun tipon de objekto en R kun simpla gravuraĵo(objectname) sintakso.

Kvankam uzita plejparte de statisticians kaj aliaj praktikistoj postulanta medion por statistika komputado kaj softvara evoluado, R ankaŭ povas funkcii kiel ĝenerala matrica kalkulo toolbox – kun elfaro taksas kompareblan al GNU Octave aŭ MATLAB.[22] Aroj estas entenita en kolumno-grava ordo.[23]

Ekzemploj

Ekzemplo 1

La sekvantaj ekzemploj ilustras la bazan sintakson de la lingvo kaj uzo de la komanda-linia fasado.

En R, la ĝenerale preferita komisian operacianton estas sago farita de du karakteroj <-, kvankam = povas esti uzita male.[24][25][26][27][28]

Ekzemplo 3

La faciliĝo de funkcia kreo de la uzanto estas unu el la fortoj uzi R. Objektoj restas lokan al la funkcio, kiu povas esti revenita kiel ajna datuma tipo.[29] Malsupre estas ekzemplo de la strukturo de funkcio:

Pakoj

La kapabloj de R estas etendita tra uzanto-kreita pakojn, kiu permesas specialigita statistikajn teknikojn, grafikaj aparatoj (ggplot2), importaĵa/eksportaĵo kapabloj, raportanta ilojn (knitr, Sweave), ktp. Ĉi tiuj pakoj estas evoluigita unuavice en R kaj foje en Java, C, C++ kaj Fortran.Kerna aro de pakoj estas inkluzivita kun la instalaĵo de R, kun pli da ol 7,000 suplementaj pakoj (kiel de aŭgusto 2015[ĝisdatigo]) havebla ĉe la Ampleksa R Arkiva Reto (CRAN), Bioconductor, Omegahat, GitHub kaj aliaj deponejoj.[5][30]

La "Taska Vida" paĝa (temo listo) sur la CRANa retejo enlistigas larĝan gamon de taskoj (en kampoj kiel Financo, Genetics, Alta Elfara Komputiko, Maŝina Lernado, Kuraca Figurado, Sociaj Sciencoj kaj Spaca Statistiko) al kiu R estis aplikita kaj por kiu pakoj estas haveblaj.[31] R ankaŭ estis identigita de la FDA kiel taŭga por interpretanta datumon de klinika esploro.[32]

Alia R pakaj rimedoj inkluzivas Crantastic Arkivigite je 2008-04-30 per la retarkivo Wayback Machine, komunuma ejo por aprezanta kaj revizianta ĉiuj CRANaj pakoj kaj R-Forĝi, centra platformo por la collaborative evoluado de R pakoj, R-rilata softvaro kaj projektoj. R-Forĝi ankaŭ gastigas multajn neeldonitajn betajn pakojn kaj evoluadaj versioj de CRANaj pakoj.

La Bioconductor projekto provizas R pakojn por la analizo de genomic datumo, kiel Affymetrix kaj cDNA microarray objekto-oriented datumo-pritraktanta kaj analizaj iloj kaj komencis provizi ilojn por analizo de datumo de sekvanta-generacia alto-throughput sequencing metodoj.

Mejloŝtonoj

La plena listo de ŝanĝoj estas daŭrigita en la "R Sciiga" dosiero ĉe CRAN.[33] Kelkaj ĉefaĵoj estas enlistigita malsupre por pluraj gravaj elkarcerigoj.

EldonadoDatoPriskribo
0.16Tio ĉi estas la lasta alpha versio evoluigis unuavice de Ihaka kaj Sinjoro. Multe de la baza funkcio de la "Blanka Libro" (vidas S historion) estis efektivigita. La poŝtantaj listoj komencita la 1an de aprilo, 1997.
0.491997-04-23Tio ĉi estas la malnova havebla fonta elkarcerigo kaj kompilas sur limhava nombro de Unix-kiel platformoj. CRAN estas komencita sur ĉi tiu dato, kun 3 speguloj kiu komence gastigis 12 pakojn. Alpha versioj de R por Microsoft Fenestroj kaj Mac OS estas farita haveblan abrupte post kiam ĉi tiu versio.
0.601997-12-05R fariĝas oficiala parto de la GNUa Projekto. La kodo estas gastigita kaj daŭrigita sur CVS.
1.02000-02-29Konsiderita de ĝiaj ellaborantoj stabila sufiĉa por produktada uzo.[34]
1.42001-12-19S4 metodoj estas enkondukita kaj la unua versio por Mac OS X estas farita haveblan baldaŭ poste.
2.02004-10-04Enkondukis maldiligentan ŝarĝadon, kiu ebligas rapidan ŝarĝadon de datumo kun minimuma elspezo de sistema memoro.
2.12005-04-18Subteno por UTF-8 kodado kaj la komencoj de internaciigo kaj localization por malsamaj lingvoj.
2.112010-04-22Subteno por Fenestroj 64 mordis sistemojn.
2.132011-04-14Aldonanta novan compiler funkcio kiu permesas rapidanta supre funkciojn de transformanta ilin al byte-kodo.
2.142011-10-31Aldonita devigan namespaces por pakoj. Aldonita novan paralelan pakon.
2.152012-03-30Nova ŝarĝo ekvilibriganta funkciojn. Plibonigita seriiĝadan rapidon por longaj vektoroj.
3.02013-04-03Subteno por numeraj indeksaj valoroj 231 kaj pli granda sur 64 mordis sistemojn.
3.12014-04-10
3.22015-04-16
4.02020-04-24
4.12021-05-18
4.22022-04-22
4.32023-04-21

Fasadoj

Grafikaj uzantaj fasadoj

  • Arkitekta – kruco-platforma turniro fonta IDE por datuma scienco bazita sur Eklipso kaj StatET
  • Deducer – GUI por menuo veturita datuman analizon (simila al SPSSa/JMP/Minitab).[35]
  • Java GUI por R – kruco-platforma starejo-sola R morta kaj redaktoro bazita sur Java (ankaŭ sciita kiel JGR).
  • Rasla GUI – kruco-platforma GUI bazita sur RGtk2 kaj specife desegnita por datuma minado.
  • R Komandanta – kruco-platforma menuo-veturita GUI bazita sur tcltk (plura ŝtopilo-ins al Rcmdr estas ankaŭ havebla).
  • Revolucio R Produktiva Medio (RPEa) – Revolucio Analytics provizis Vidan Studion bazita IDE kaj havas planojn por araneaĵo bazita punkton kaj klakan fasadon.
  • RGUI – venas kun la pre-kompilita version de R por Microsoft Fenestroj.
  • RKWard – extensible GUI kaj IDE por R.
  • RStudio – kruco-platforma turniro fonta IDE (kiu ankaŭ povas esti kurita sur izolita linux servilo).

Estas speciala afero de la Revuo de Statistika Softvaro kiu diskutas GUIs por R.[36]

Redaktoroj kaj IDEs

tekstaj redaktoroj kaj Integraj evoluadaj medioj (IDEs) kun iu subteno por R inkluzivas:KUNTEKSTO,Eklipso (StatET),Emacs (Emacs Parolas Statistikon),LyX (kapsuloj por knitr kaj Sweave),Vim,jEdit,Kate,Revolucio R Entrepreno DevelopR (parto de Revolucio R Entrepreno),RStudio,Nobla Teksto,TextMate,Atomo,WinEdt (R Pako RWinEdt),Tinn-R Arkivigite je 2015-07-13 per la retarkivo Wayback Machine,Notbloko++ kajArkitekto.[37][38][39][40][41][42][43]

Scripting lingvoj

R f[44] unkcio estis farita alireblan de pluraj scripting lingvoj kiel Python, Perl, Ruby, F# kaj Julia.[45][46][47][48][49][50] Scripting en R ĝi mem eblas tra fronta-fino vokis littler.[51]

useR! Konferencoj

“useR!” Estas la nomo donita al la oficiala ĉiujara renkontiĝo de R uzantoj. La unua tia evento estis useR! 2004 en majo 2004, Vieno, Aŭstrio.[52] Ne estis konferenco en 2005, sed poste la konferenco de uzantoj okazis ĉiujare, kutime alternanta inter lokoj en Eŭropo kaj Nord-Ameriko.[53] Postaj konferencoj estis:

  • useR! 2006, Vieno, Aŭstrio
  • useR! 2007, Ames, Iovao, Usono
  • useR! 2008, Dortmund, Germanio
  • useR! 2009, Rennes, Francio[54]
  • useR! 2010, Gaithersburg, Marilando, Usono
  • useR! 2011, Coventry, Britio
  • useR! 2012, Nashville, Tenesio, Usono
  • useR! 2013, Albacete, Hispanio
  • useR! 2014, Los Angeles, Usono
  • useR! 2015, Aalborg, Danio[55]

Komparo kun SAS, SPSS kaj Stata

La ĝenerala interkonsentiĝo estas ke R komparas bone kun aliaj popularaj statistikaj pakoj, kiel SAS, SPSS kaj Stata.[56] En januaro 2009, la The New York Times kuris artikolon pri R akiranta akcepton inter datumaj analizistoj kaj prezentanta potencialan minacon por la merkata interŝanĝado okupita de komercaj statistikaj pakoj, kiel SAS.[57][58]

Komerca subteno por R

En 2007, Revolucio Analytics estis fondita provizi komercan subtenon por Revolucio R, ĝia disdonado de R, kiu ankaŭ inkluzivas erojn evoluigita de la firmao. Gravaj suplementaj eroj inkluzivas: ParallelR, la R Produktiva Medio IDE, RevoScaleR (por granda datuma analizo), RevoDeployR, araneaĵaj servoj kadro kaj la kapableco por leganta kaj skribanta datumon en la SASa dosiera formato.[59] En 2015, Microsoft Kompanio kompletigis la akiron de Revolucio Analytics.

Por organizoj en tre reguligita sektorojn postulanta konfirmita version de R, Mango Solvoj evoluigis la ValidR Arkivigite je 2015-09-20 per la retarkivo Wayback Machine produkto kiu plene observas kun la Manĝaĵo kaj Droga Administro gvidlinioj por Softvara konfirmo kaj validumado.

En oktobro 2011, Oracle anoncis la Grandan Datuman Aparaton, kiu integrigas R, Apache Hadoop, Oracle Linukso kaj NoSQL datumaro kun la Exadata ladaĵejo.[60][61][62] Oracle R Entrepreno estas nun unu el du eroj de la "Oracle Altnivela Analytics Elekto" (la alia ero estas Oracle Datuma Minado).[63][64]

IBMaj proponoj subteno por je-Hadoop ekzekuto de R kaj provizas programaran modelon por grandege paralela en-datumaro analytics en R.[65][66]

Aliaj gravaj komercaj softvaraj sistemoj subtenanta konektojn al aŭ integrigo kun R inkluzivas:JMP,Mathematica,MATLAB,Spotfire,SPSS,STATISTICA,Platforma Simfonio,SAS,TableaukajDundas.[67][68][69][70][71][72][73][74][75][76]

Tibco proponas runtime versio R kiel parto de Spotfire.[77]

Referencoj

Eksteraj ligiloj