R | |
---|---|
Kieliluokka | moniparadigma |
Toteutustyyppi | tulkittu |
Esiintyi | 1993 [1] |
Tekijä |
Ross Ihaka Robert Gentleman |
Vapauta | 4.2.1 (23. kesäkuuta 2022 ) |
Tyyppijärjestelmä | dynaaminen |
Vaikutettu | S , Kaavio |
Lisenssi | GNU GPL 2 [3] |
Verkkosivusto | r-project.org _ |
OS | GNU/Linux [4] , BSD [4] , macOS [4] ja Microsoft Windows [4] |
Mediatiedostot Wikimedia Commonsissa |
R on ohjelmointikieli tilastolliseen tietojenkäsittelyyn ja grafiikkaan sekä ilmainen ja avoimen lähdekoodin laskentaympäristö GNU Projectin alaisuudessa . Kieli luotiin samankaltaiseksi kuin Bell Labsissa kehitetty S -kieli , ja se on sen vaihtoehtoinen toteutus, vaikka kielten välillä on merkittäviä eroja, mutta suurimmaksi osaksi S-kielen koodi toimii R-ympäristössä. kehittivät Ross Aihaka ( eng. Ross Ihaka ) ja Robert Gentleman ( eng. Robert Gentleman ) (heidän nimensä ensimmäinen kirjain on R); kieltä ja ympäristöä ylläpitää ja kehittää R Foundation [5] .
Käytetään laajasti tilastoohjelmistona tietojen analysointiin ja siitä on tullut tilastoohjelmien tosiasiallinen standardi [6] .
Kieli ja ympäristö ovat saatavilla GNU GPL : n alla ; jaetaan lähdekoodien muodossa sekä käännetyt sovellukset useille käyttöjärjestelmille: FreeBSD , Solaris [7] ja muut Unix- ja Linux -jakelut , Windows , macOS .
R käyttää komentorivikäyttöliittymää , vaikka saatavilla on useita graafisia käyttöliittymiä , kuten R Commander -paketti , RKWard , RStudio , Weka , Rapid Miner , KNIME ja integraatiot toimistosovelluksiin.
Vuonna 2010 R pääsi Infoworld- lehtikilpailun voittajien listalle parhaan avoimen lähdekoodin sovelluskehitysohjelmiston ehdokkuudessa [8] .
R on tulkittu ohjelmointikieli, pääasiallinen tapa työskennellä sen kanssa on komentotulkki. Kieli on isot ja pienet kirjaimet erotteleva, syntaksilta se muistuttaa toisaalta toiminnallisia kieliä , kuten Scheme , toisaalta tyypillisiä nykyaikaisia komentosarjakieliä yksinkertaisella syntaksilla ja pienellä perusjoukolla rakenteet. Objektikieli: millä tahansa siinä olevalla ohjelmaobjektilla on joukko attribuutteja - nimetty luettelo arvoista, jotka määrittelevät sen.
Kieli tukee vähimmäisjoukkoa primitiivisiä tietotyyppejä: merkki (merkki), numeerinen (numeerinen), looginen (looginen) ja kompleksi (kompleksi). Numeeriset muuttujat voivat tavallisten lukujen lisäksi ottaa erikoisarvot NaN (Ei numero - "ei numero") ja Inf (Infinity - "ääretön"). Ääretön (positiivinen tai negatiivinen) saadaan, kun laskentatulos ylittää toteutuksen edustaman alueen rajat, NaN - määrittelemättömän tuloksen operaatioissa. Näiden lisäksi on toinen erittäin tärkeä erikoisarvo, NA (Ei saatavilla). Sillä voidaan korjata se tosiasia, että laskelmiin liittyvää vastaavaa arvoa ei jostain syystä saatu (tilastolaskennoissa melko yleinen tilanne, kun tiedonkeruun epäonnistumisen vuoksi osa havainnoista jää ilman tuloksia).
Alkuperäisten tyyppien arvot voidaan yhdistää vektoreiksi (vektoriksi), listoiksi (lista), matriiseiksi tai taulukoiksi (matriisi), mukaan lukien moniulotteiset; nämä yhdistetyt tyypit tallentavat saman primitiivityypin tietojoukkoja. Lisäksi kieli sisältää tekijöiden (tekijän) käsitteen - kategorisen tai mittakaavan datan joukot, jotka ottavat tiukasti määritellyt arvot. Lopuksi voidaan luoda taulukoita (tietokehyksiä) - tietorakenteita, jotka tallentavat joukon erilaisia (ja joilla on erityyppisiä) parametreja (ominaisuuksia) jokaiselle riville (yksittäiselle). R:n ominaisuus on, että operaatioita vektoreilla ja matriiseilla tuetaan itse kielen tasolla, kuten esimerkiksi APL :ssä .
On olemassa toiminto tietojen poimimiseen ja kirjoittamiseen (analoginen tehtävän kanssa) " <-" sekä tavanomaiset toiminnot tietojen käsittelyyn, mukaan lukien aritmeettiset. Pääsy indeksin avulla vektorien ja taulukoiden elementteihin tapahtuu hakasulkeilla, pääsy luetteloiden attribuutteihin - operaattorin " $" kautta. On olemassa pieni joukko yleisiä pakottavia ohjelmointirakenteita: ehdollinen operaattori if, silmukat whileja for. R:n lausekkeet voidaan kuvata erillisinä objekteina ja arvioida tarpeen mukaan. Toimintojen kuvaus perustuu samaan mekanismiin. On sisäänrakennetut tilat lausekkeiden ja funktioiden soveltamiseen vektoreihin ja taulukoihin.
R-funktiot voidaan niputtaa paketeiksi - ladattaviin moduuleihin, jotka liittyvät mihin tahansa ohjelmaan ja tarjoavat niihin yhdistetyt laskentaominaisuudet. R-paketteja voidaan kehittää muilla ohjelmointikielillä, mukaan lukien C, mikä mahdollistaa toisaalta kompensoida itse R-kielen rajalliset visuaaliset resurssit ja toisaalta saavuttaa tarvittaessa korkea laskentateho.
Itse kielellä on melko rajalliset ja ei kovin kätevät keinot tietojen kuvaamiseen, mutta tämän kompensoi kirjastotyökalut, joiden avulla voit ladata tietojoukkoja, jotka on esitetty useimmissa avoimissa ja monissa patentoiduissa muodoissa R-taulukoina. Joten pelkkä tekstimuodossa olevat taulukot, eri versioiden Excel -taulukot, CSV -tiedostot , XML -muodot ja monet muut voidaan helposti ladata R:hen.
Yleisesti ottaen R on ohjelmointikielenä melko yksinkertainen ja jopa primitiivinen. Sen suurin vahvuus on kyky laajentaa loputtomasti pakettien avulla. R:n perusjakelu sisältää pakettien ydinjoukon, ja yhteensä vuodesta 2019 lähtien on saatavilla yli 15 316 pakettia [9] . Lähes kaikki merkitykselliset universaalin tilastollisen laskennan työkalut on toteutettu R:ssä, kuten regressioanalyysi ja aikasarjaanalyysi , sekä monia erityisiä algoritmeja erittäin erikoistuneiden ongelmien ratkaisemiseen ja tiettyjen alueiden tutkimukseen.
Toinen kielen ominaisuus on kyky luoda korkealaatuista typografista tason grafiikkaa, joka voidaan viedä yleisiin grafiikkamuotoihin ja käyttää esityksissä tai julkaisuissa. Saatavilla on paketteja, jotka yhdistävät R:n GUI-kehyksiin (esim. Tcl/Tk -pohjaisten ) ja mahdollistavat erikoistuneiden tilastollisen analyysin apuohjelmien luomisen graafisella käyttöliittymällä ja tulosten näyttämisellä kaavioiden ja kaavioiden muodossa.
Tulos:
[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 | tulosta a (38 numeroa 41:stä mahtuu merkkijonoon) [39] 4 5 5 | (jäljellä kolme numeroa) [1] 41 | lähtö n [1] 4 | lähtö m Arvio nro % | 1. sarake - taulukon rivin numero 1 3 12 29,26829 | 2. sarake – arviointityyppi ("3"/"4"/"5") 2 4 17 41.46341111 | 3. sarake - arvioiden määrä 3 5 12 29,26829 | 4. sarake - arvosanojen prosenttiosuusR:n kanssa työskentelyn helpottamiseksi on kehitetty useita graafisia käyttöliittymiä, mukaan lukien RStudio , JGR , RKWard , SciViews-R , Statistical Lab , R Commander , Rattle ja Shiny - ohjelmistopaketti .
Lisäksi useat teksti- ja koodieditorit tarjoavat erikoistiloja R:n kanssa työskentelyyn, erityisesti ConTEXT , Emacs ( Emacs Speaks Statistics ), jEdit , Kate , Notepad++ , Syn , TextMate , Tinn-R , Vim , Bluefish , WinEdt (ja RWinEdt-paketti), Gedit ( paketin rgedit/gedit-r-plugin kanssa). Eclipse - kehitysympäristöön on erikoistunut R-laajennus ; R-funktioita ja suoritusaikaa voidaan käyttää Pythonista RPy-paketin avulla; Voit työskennellä R:n kanssa Gretl -ekonometrisesta paketista .
Vuonna 2007 perustettu ja Microsoftin vuonna 2015 ostama Revolution Analytics perusti koko liiketoimintansa ohjelmointikielen R kaupallistamiseen kaupallisessa Revolution R -paketissaan , kuten ParallelR (tuki ). ajonaikaisessa monisäikeistuksessa ) ovat huomionarvoisia ), R Productivity Environment ( integroitu kehitysympäristö ), RevoScaleR (tuki massiiviselle rinnakkaiskäsittelylle " big data " -käsitteen puitteissa), RevoDeployR , verkkopalveluihin integroitavat kirjastot, tuki SAS Institutelle tilastolliset pakettimuodot [10] .
Oracle Corporation julkaisi lokakuussa 2011 Big Data Appliancen , NoSQL -klusterin, joka koostuu massiivisesti rinnakkaisista prosessointipalvelimista integroiduilla ohjelmistotyökaluilla, jotka perustuvat R-kieleen ja Apache Hadoopiin [ 11] , ja helmikuussa 2012 kieli rakennettiin Oracle-tietokantaan . 12] . Vuonna 2011 massa-rinnakkaisanalyysi toteutettiin IBM Corporationin Netezza -laitteisto-ohjelmistokompleksissa [13] [14] ; myöhemmin kieltä tuettiin SAP Hana -laitteisto- ja ohjelmistopaketissa .
R-kieltä tukevat myös kaupalliset ohjelmistoympäristöt Tibco Spotfire , SPSS (versiosta 16.0 alkaen) [15] , Statistica (versiosta 9.0 alkaen), Platform Symphony , Power BI , SAS , Tableau .
R- ja lisäpaketit jaetaan CRAN :in kautta (lyhenne sanoista Comprehensive R Archive Network ). 2010-luvun lopulla maailmassa on saatavilla yli 60 CRAN - peiliä , pääsolmu sijaitsee Wienissä ( Itävalta ) [16] .
R Journal [17] , kahdesta kolmeen kertaa vuodessa ilmestyvä vapaasti levitettävä tietolehti, joka sisältää tilastotietojen käsittelyä ja suunnittelua koskevia artikkeleita sekä kielten käyttäjille että R-kehittäjille. uutiskirje R News [18] .
Yksi suosituimmista kielikonferensseista on userR! Vuodesta 2004 lähtien vuosittain järjestettävä R User Conference kokoaa yhteen eri alojen asiantuntijoita.
Vuodesta 2009 lähtien joka kevät Chicagossa on pidetty konferenssi, joka on omistettu R:n soveltamiselle rahoituksessa ( R/Finance: Applied Finance with R ). Vuonna 2013 pidettiin ensimmäinen R:n käyttöön vakuutuksissa ( R in Insurance ) omistettu konferenssi.
Matemaattinen ohjelmisto | |
---|---|
Symboliset laskelmat | |
Numeeriset laskelmat |