R | |
---|---|
Nyelvóra | több paradigma |
A végrehajtás típusa | értelmezni |
Megjelent | 1993 [1] |
Szerző |
Ross Ihaka Robert Gentleman |
Kiadás | 4.2.1 (2022. június 23. ) |
Típusrendszer | dinamikus |
Befolyásolva | S , séma |
Engedély | GNU GPL 2 [3] |
Weboldal | r-project.org _ |
OS | GNU/Linux [4] , BSD [4] , macOS [4] és Microsoft Windows [4] |
Médiafájlok a Wikimedia Commons oldalon |
Az R egy programozási nyelv statisztikai adatfeldolgozáshoz és grafikákhoz, valamint egy ingyenes és nyílt forráskódú számítási környezet a GNU Project keretében . A nyelvet a Bell Labs -ban kifejlesztett S nyelvhez hasonlóként hozták létre , és ennek alternatív megvalósítása, bár vannak jelentős különbségek a nyelvek között, de az S nyelv kódja többnyire R környezetben működik. Ross Aihaka ( eng. Ross Ihaka ) és Robert Gentleman ( eng. Robert Gentleman ) fejlesztette ki (nevük első betűje R); a nyelvet és a környezetet az R Alapítvány tartja karban és fejleszti [5] .
Széles körben használják statisztikai szoftverként adatelemzéshez, és a statisztikai programok de facto szabványává vált [6] .
A nyelv és a környezet a GNU GPL alatt érhető el ; forráskódok formájában terjesztve, valamint számos operációs rendszerre fordított alkalmazásokat: FreeBSD , Solaris [7] és Unix és Linux egyéb disztribúciói , Windows , macOS .
Az R parancssori felületet használ , bár számos grafikus felhasználói felület áll rendelkezésre , például az R Commander csomag , az RKWard , az RStudio , a Weka , a Rapid Miner , a KNIME és az irodai csomagokba való integráció.
2010-ben R bekerült az Infoworld magazinverseny győzteseinek listájára a legjobb nyílt forráskódú alkalmazásfejlesztő szoftver jelölésében [8] .
Az R egy értelmezett programozási nyelv, a vele való munka fő módja a parancsértelmező. A nyelv megkülönbözteti a kis- és nagybetűket, szintaxisát tekintve egyrészt hasonló a funkcionális nyelvekhez , mint a Scheme , másrészt a tipikus modern szkriptnyelvekhez , egyszerű szintaxissal és egy kis alapszintű készlettel. szerkezetek. Objektumnyelv: minden benne lévő programobjektumnak van egy attribútumkészlete - egy elnevezett értéklista, amely meghatározza.
A nyelv támogatja a primitív adattípusok minimális készletét: karakter (karakter), numerikus (numerikus), logikai (logikai) és összetett (komplex). A numerikus változók a közönséges számokon kívül felvehetik a NaN (Not a Number - "nem szám") és az Inf (Infinity - "végtelen") speciális értéket. Végtelent (pozitív vagy negatív) akkor kapunk, ha a számítási eredmény túllép a megvalósítás által képviselt tartomány határain, NaN - meghatározatlan eredménnyel végzett műveletek során. Ezeken kívül van még egy nagyon fontos különleges érték, az NA (Not Available). Rögzíthető vele, hogy a számításokban szereplő megfelelő értéket valamilyen okból nem kaptuk meg (a statisztikai számításoknál meglehetősen gyakori helyzet, amikor az adatgyűjtés hibái miatt egyes megfigyelések eredmény nélkül maradnak).
A primitív típusok értékei kombinálhatók vektorokká (vektorok), listákba (lista), mátrixokká vagy tömbökké (mátrixok), beleértve a többdimenziósakat is; ezek a kombinált típusok azonos primitív típusú adatkészleteket tárolnak. Ezenkívül a nyelv tartalmazza a tényezők (faktor) fogalmát - kategorikus vagy skálaadatok halmazait, amelyek szigorúan meghatározott értékkészletet vesznek fel. Végül táblázatok (adatkeretek) hozhatók létre - olyan adatstruktúrák, amelyek minden sorhoz (egyedihez) különböző (és különböző típusú) paraméterek (jellemzők) halmazát tárolják. Az R jellemzője, hogy a vektorokkal és mátrixokkal végzett műveletek a nyelv szintjén támogatottak, mint például az APL -ben .
Van egy művelet az adatok kinyerésére és írására (a hozzárendeléshez hasonlóan) " <-", valamint az adatokkal való munkavégzés szokásos műveletei, beleértve az aritmetikai műveleteket is. A vektorok és tömbök elemeihez való indexelés szögletes zárójelekkel, a listák attribútumaihoz való hozzáférés - a " " operátoron keresztül történik $. A gyakori kötelező programozási konstrukcióknak van egy minimális halmaza: feltételes operátor if, ciklusok whileés for. Az R-ben lévő kifejezések külön objektumokként írhatók le, és szükség szerint kiértékelhetők. A funkciók leírása ugyanezen a mechanizmuson alapul. Vannak beépített lehetőségek a kifejezések és függvények vektorokra és tömbökre történő alkalmazására.
Az R függvények csomagokba köthetők – betölthető modulokba, amelyek bármely programhoz csatlakoznak, és biztosítják a bennük kombinált számítási lehetőségeket. Az R-hez készült csomagok más programozási nyelveken is fejleszthetők, beleértve a C-t is, ami lehetővé teszi egyrészt magának az R nyelvnek a korlátozott vizuális erőforrásainak kompenzálását, másrészt szükség esetén nagy számítási teljesítmény elérését.
Maga a nyelv meglehetősen korlátozott és nem túl kényelmes eszközökkel rendelkezik az adatok leírására, de ezt kompenzálja a könyvtári eszközök jelenléte, amelyek lehetővé teszik a legtöbb nyílt és számos szabadalmaztatott formátumban bemutatott adatkészletek betöltését R-táblázatként. Így egyszerű szöveges formátumú táblázatok, különféle verziójú Excel -táblázatok, CSV- , XML -formátumú adatok és sok más könnyen betölthető az R-be.
Általánosságban elmondható, hogy programozási nyelvként az R meglehetősen egyszerű, sőt primitív. Legnagyobb erőssége, hogy csomagokkal korlátlanul bővíthető. Az R alapdisztribúciója magába foglalja a csomagok alapkészletét, és összesen 2019-ig több mint 15 316 csomag érhető el [9] . Az univerzális statisztikai számítástechnika szinte minden releváns eszköze az R-ben van megvalósítva, mint például a regressziós elemzés és az idősor-elemzés , valamint számos speciális algoritmus speciális problémák megoldására és bizonyos területeken végzett kutatásokra.
A nyelv másik jellemzője, hogy kiváló minőségű tipográfiai szintű grafikákat készíthet, amelyek exportálhatók általános grafikai formátumokba, és felhasználhatók prezentációkhoz vagy kiadványokhoz. Rendelkezésre állnak olyan csomagok, amelyek összekapcsolják az R-t GUI keretrendszerekkel (pl. Tcl/Tk alapján ), és lehetővé teszik speciális statisztikai elemző segédprogramok létrehozását grafikus felhasználói felülettel, és az eredményeket grafikonok és diagramok formájában jelenítik meg.
Eredmény:
[1] 4 3 3 3 3 4 4 4 4 4 5 4 4 4 5 5 5 5 3 5 5 4 4 3 3 4 4 3 5 5 4 3 3 4 4 3 3 5 | kimenet a (41-ből 38 szám illeszkedik a karakterláncba) [39] 4 5 5 | (maradék három szám) [1] 41 | kimenet n [1] 4 | kimenet m Becslési szám % | 1. oszlop - sorszám a táblázatban 1 3 12 29,26829 | 2. oszlop – értékelés típusa ("3"/"4"/"5") 2 4 17 41.46341111 | 3. oszlop – értékelések száma 3 5 12 29,26829 | 4. oszlop - az osztályzatok százalékos arányaSzámos grafikus felületet fejlesztettek ki az R-vel való munka kényelmesebbé tételére, köztük az RStudio , JGR , RKWard , SciViews-R , Statistical Lab , R Commander , Rattle és a Shiny szoftvercsomag .
Ezen kívül számos szöveg- és kódszerkesztő speciális módokat biztosít az R-vel való munkavégzéshez, különösen a ConTEXT , Emacs ( Emacs Speaks Statistics ), jEdit , Kate , Notepad++ , Syn , TextMate , Tinn-R , Vim , Bluefish , WinEdt (valamint RWinEdt csomag), Gedit (rgedit/gedit-r-plugin csomaggal). Létezik egy speciális R beépülő modul az Eclipse fejlesztői környezethez; Az R függvények és a futási környezet a Pythonból az RPy csomag használatával érhetők el ; Az R-vel a Gretl ökonometriai csomagból dolgozhat .
A 2007- ben alapított és a Microsoft által 2015-ben felvásárolt Revolution Analytics teljes üzleti tevékenységét az R programozási nyelv kereskedelmi forgalomba hozatalára alapozta a kereskedelmi Revolution R csomagjában , olyan (a nyelv ingyenes verziójával nem terjesztett) komponensekkel, mint a ParallelR (támogatás ). futásidejű többszálú kezeléshez) figyelemreméltóak ), R Productivity Environment ( integrált fejlesztői környezet ), RevoScaleR (masszívan párhuzamos feldolgozás támogatása a " big data " koncepció keretein belül ), RevoDeployR , könyvtárak a webszolgáltatásokkal való integrációhoz, SAS Institute támogatása statisztikai csomagformátumok [10] .
2011 októberében az Oracle Corporation kiadta a Big Data Appliance nevű NoSQL -fürtöt, amely az R nyelven és az Apache Hadoop -on alapuló integrált szoftvereszközökkel rendelkező, masszívan párhuzamos feldolgozó szerverekből áll [11] , majd 2012 februárjában a nyelvet beépítették az Oracle Database -ba [ 11]. 12] . 2011 -ben az IBM Corporation Netezza hardver-szoftver komplexumaiban R segítségével tömegpárhuzamos elemzést valósítottak meg [13] [14] ; Később a nyelvet az SAP Hana hardver- és szoftvercsomag támogatta .
Az R nyelvet a Tibco Spotfire , SPSS (16.0-s verziótól kezdődően) [15] , Statistica (9.0-s verziótól), Platform Symphony , Power BI , SAS , Tableau kereskedelmi szoftverkörnyezetek is támogatják .
Az R és a további csomagok a CRAN -on (a Comprehensive R Archive Network rövidítése) keresztül kerülnek terjesztésre . A 2010-es évek végén több mint 60 CRAN tükör kapható a világon, a fejcsomópont Bécsben ( Ausztria ) található [16] .
Az R Journal [17] , az évente két-három alkalommal megjelenő, szabadon terjesztett tájékoztató folyóirat statisztikai adatfeldolgozással és tervezéssel foglalkozó cikkeket tartalmaz, amelyek a nyelvhasználóknak és az R fejlesztőknek egyaránt szólnak. hírlevél R Hírek [18] .
Az egyik legnépszerűbb nyelvi konferencia a userR! ( The R User Conference ), amelyet 2004 óta évente rendeznek meg, különböző területek szakértőit gyűjti össze.
2009 óta minden tavasszal Chicagóban konferenciát rendeznek az R pénzügyekben való alkalmazásáról ( R/Finance: Applied Finance with R ). 2013 - ban rendezték meg az első konferenciát, amely az R biztosításban való felhasználásával foglalkozott ( R in Insurance ).
Matek szoftver | |
---|---|
Szimbolikus számítások | |
Numerikus számítások |