R-ohjelmointikieli – avoimen lähdekoodin kieli tilastotieteelle

R-ohjelmointikieli — avoimen lähdekoodin työkalu tilastotieteelle: tehokkaat tilastolliset mallit, laajat paketit ja analyysit Pythonin rinnalla.

Tekijä: Leandro Alegsa

R on sekä ohjelmointikieli että laaja ohjelmistoympäristö tilastotieteelle ja tietojen käsittelyyn. R:n perusajatus on tarjota luonnollinen, vapaasti saatavilla oleva työkalu tilastolliseen analyysiin, visualisointiin ja reproducible research -tyyppiseen raportointiin. Se on myös yksi yleisimmin käytetyistä kielistä datatieteessä ja tieteellisessä laskennassa.

Mitä R on

R on suunniteltu erityisesti tilastollista analyysiä ja datan visualisointia varten. Se tarjoaa laajan valikoiman valmiita funktioita tilastollisiin testeihin, regressiomalleihin, aikasarja-analyyseihin, koneoppimiseen ja monimutkaisiin datan käsittelytehtäviin. R toimii sekä interactiivisena komentorivinä että skriptauskielenä, ja sen avulla on helppo dokumentoida ja toistaa analyysiprosesseja.

Historia ja lisenssi

R kehitettiin 1990-luvulla osin S-kielen pohjalta; sen alkuperäiset kehittäjät ovat Ross Ihaka ja Robert Gentleman. R on ilmainen ja avoimen lähdekoodin ohjelmisto, jonka koodi on julkaistu GPL-lisenssillä. Kehitystä ylläpitää laaja kansainvälinen yhteisö ja CRAN (Comprehensive R Archive Network) toimii keskeisenä pakettien jakelukanavana.

Paketit ja ekosysteemi

  • CRAN tarjoaa kymmeniä tuhansia paketteja, jotka laajentavat R:n perusmahdollisuuksia eri sovellusalueilla.
  • Tunnettuja paketteja: ggplot2 (visualisointi), dplyr ja tidyr (datan muokkaus), data.table (suorituskykyinen taulukkojen käsittely), caret ja tidymodels (mallintaminen), lme4 (sekoitetut mallit) ja monet muut.
  • R:lle on myös saatavilla lisäympäristöjä, kuten Bioconductor biologiseen data-analytiikkaan.

Työkalut ja integraatiot

  • Suositut käyttöympäristöt: RStudio (nykyään Posit), Jupyter-notebookit ja muut editorit.
  • Raportointi ja toistettavuus: R Markdown ja knitr mahdollistavat analyysien yhdistämisen tekstiin ja kuvioihin automaattisesti.
  • Integraatio muihin kieliin: R voi kutsua C/C++/Fortran-koodia suorituskyvyn parantamiseksi ja käyttää Python-kirjastoja esimerkiksi reticulate-paketin kautta.

Käyttötapaukset

  • Tieteellinen tutkimus ja akateeminen data-analyysi
  • Liiketoiminnan analytiikka ja raportointi
  • Bioinformatiikka ja lääketieteellinen tutkimus
  • Koneoppiminen ja ennustemallit
  • Interaktiiviset visualisoinnit ja dashboardit (esim. shiny-paketin avulla)

Vahvuudet ja rajoitukset

  • Vahvuudet: laaja tilastollisten menetelmien kirjasto, erinomaiset visualisointimahdollisuudet, vahva yhteisö ja avoimuus.
  • Rajoitukset: erittäin suurten datamassojen käsittely voi vaatia lisäoptimointia tai ulkoisia työkaluja; suorituskykyä voi parantaa C/C++-integraatiolla tai käyttämällä erityispaketteja.

Kenelle R sopii

R on erityisen sopiva tilastotieteilijöille, tutkijoille, analyytikoille ja kaikille, jotka tarvitsevat tarkkaa ja toistettavaa tilastollista analyysiä sekä korkealaatuisia kuvia datasta. Se on myös hyvin soveltuva opetukseen ja tutkimusprojekteihin, joissa avoimuus ja toistettavuus ovat tärkeitä.

Yhteenvetona: R on monipuolinen ja vakiintunut työkalu tilastolliseen analyysiin ja datavisualisointiin. Sen laaja pakettiekosysteemi, avoimuus ja vahva yhteisö tekevät siitä erinomaisen valinnan niin tutkimukseen kuin teollisuuden sovelluksiin. R kehittyy jatkuvasti ja integroituu nykyään sujuvasti myös muihin ympäristöihin, kuten Python-työkaluihin.

 

Käyttö muilla alueilla

R-kieli on alun perin tehty tilastoja varten. Nykyään sitä käytetään kuitenkin myös monilla tieteenaloilla, kuten ekologiassa.

 

Kehityshistoria

Luetteloa R-julkaisujen muutoksista ylläpidetään CRANin (Comprehensive R Archive Network) eri "news"-tiedostoissa. Alla on lueteltu joitakin kohokohtia useista tärkeimmistä julkaisuista.

Julkaisu

Päivämäärä

Kuvaus

0.16

Tämä on viimeinen testiversio.

0.49

1997-04-23

Tämä on vanhin lähdekoodiversio, joka on tällä hetkellä saatavilla CRANissa. CRAN on aloitettu tänä päivänä, ja siinä on 3 peiliä, joissa oli aluksi 12 pakettia.

0.60

1997-12-05

R:stä tulee virallinen osa GNU-projektia. Koodia ylläpidetään CVS:ssä.

0.65.1

1999-10-07

Ensimmäiset versiot update.packages- ja install.packages-toiminnoista pakettien lataamiseen ja asentamiseen CRANista.

1.0

2000-02-29

Kehittäjät ilmoittivat, että se on riittävän vakaa tuotantokäyttöön.

1.4

2001-12-19

S4-menetelmät otetaan käyttöön, ja ensimmäinen versio Mac OS X:lle tulee pian sen jälkeen saataville.

1.8

2003-10-08

Otettiin käyttöön joustava ehtojen käsittelymekanismi ehto-objektien signalointia ja käsittelyä varten.

2.0

2004-10-04

Käyttöön otettiin nopea tietojen lataaminen järjestelmän muistia mahdollisimman vähän kuluttaen.

2.1

2005-04-18

Tuki UTF-8-koodaukselle. He aloittivat myös kansainvälistämisen ja lokalisoinnin eri kielille.

2.6.2

2008-02-08

Viimeinen versio, joka tukee Windows 95, 98, Me ja NT 4.0 -käyttöjärjestelmiä.

2.11

2010-04-22

Tuki 64-bittisille Windows-järjestelmille.

2.12.2

2011-02-25

Viimeinen Windows 2000:ta tukeva versio

2.13

2011-04-14

Lisätään uusi kääntäjäfunktio, joka mahdollistaa funktioiden nopeuttamisen muuntamalla ne tavukoodiksi.

2.14

2011-10-31

Pakettien pakolliset nimiavaruudet on lisätty. Lisätty uusi rinnakkaispaketti.

2.15

2012-03-30

Uudet kuorman tasaustoiminnot. Parannettu pitkien vektoreiden sarjallistamisnopeutta.

3.0.0

2013-04-03

Tuki numeerisille indeksiarvoille 231 ja suuremmille 64-bittisissä järjestelmissä.

3.3.3

2017-03-06

Viimeinen versio, joka tukee Microsoft Windows XP:tä.

3.4.0

2017-04-21

Oletusarvoisesti käytössä funktioiden ja silmukoiden Just-in-time-kääntäminen (JIT) tavukoodiksi.

3.5.0

2018-04-23

Paketit käännetään byte-kokoonpanoon asennuksen yhteydessä oletusarvoisesti. Kompakti kokonaislukusekvenssien sisäinen esitys. Lisätty uusi serialisointiformaatti tukemaan kompakteja sisäisiä esityksiä.

3.6.0

2019-04-26

4.0.0

2020-04-24

 

Yhteisöt

R:llä on maailmanlaajuisia paikallisyhteisöjä, joissa käyttäjät voivat jakaa ideoita ja oppia.

Yhä useammat R-tapahtumat kokoavat sen käyttäjiä yhteen, kuten konferenssit (esim. useR!, WhyR?, conectaR, SatRdays) ja muut tapaamiset.

 

useR! konferenssit

R-käyttäjien virallinen vuosittainen kokoontuminen on nimeltään "useR!". Ensimmäinen tällainen tapahtuma oli useR! 2004 toukokuussa 2004 Wienissä, Itävallassa. Vuoden 2005 väliin jättämisen jälkeen useR! -konferenssi on järjestetty vuosittain. Myöhempiä konferensseja ovat olleet mm:

  • useR! 2006, Wien, Itävalta
  • useR! 2007, Ames, Iowa, Yhdysvallat.
  • useR! 2008, Dortmund, Saksa
  • useR! 2009, Rennes, Ranska
  • useR! 2010, Gaithersburg, Maryland, Yhdysvallat.
  • useR! 2011, Coventry, Yhdistynyt kuningaskunta
  • useR! 2012, Nashville, Tennessee, Yhdysvallat.
  • useR! 2013, Albacete, Espanja
  • useR! 2014, Los Angeles, Kalifornia, Yhdysvallat.
  • useR! 2015, Aalborg, Tanska
  • useR! 2016, Stanford, Kalifornia, Yhdysvallat.
  • useR! 2017, Bryssel, Belgia
  • useR! 2018, Brisbane, Australia
  • useR! 2019, Toulouse, Ranska

Tulevia konferensseja suunnitellaan seuraavasti:

  • useR! 2020, St. Louis, Missouri, Yhdysvallat (Peruttu)
  • useR! 2021, Zürich, Sveitsi
 

The R Journal

R Journal on R-projektin avoin referoitu lehti. Se sisältää artikkeleita R-kielen käytöstä ja kehittämisestä.

 

Perussyntaksi

Seuraavat esimerkit havainnollistavat kielen perussyntaksia ja komentoriviliittymän käyttöä.

R:ssä yleisesti suositeltu osoitusoperaattori on kahdesta merkistä <- muodostuva nuoli. Sen sijaan voidaan tosin käyttää =-merkkiä.

> x <- 1:6 # Luo vektori. > y <- x^2 # Luo vektori kaavalla. > print(y) # Tulosta vektorin sisältö. [1] 1 4 9 16 25 36 > mean(y) # Vektorin aritmeettinen keskiarvo. [1] 15.16667 > var(y) # Vektorin otosvarianssi. [1] 178.9667 > model <- lm(y ~ x) # Lineaarinen regressiomalli y = A + B * x. > print(model) # Tulosta mallin tulokset.  Kutsu: lm(kaava = y ~ x) Kertoimet: (Intercept) x -9.333 7.000 > summary(model) # Näytä mallin perusteellinen yhteenveto.  Kutsu: lm(formula = y ~ x) Residuals:       1 2 3 4 5 6 3.3333 -0.6667 -2.6667 -2.6667 -2.6667 -0.6667 3.3333 Coefficients:             Arvio Std. virhe t arvo Pr(>|t|) (Intercept) -9,3333 2,8441 -3,282 0,030453 * x 7,0000 0,7303 9,585 0,000662 *** --- Signif. koodit: 0 '***' 0,001 '**' 0,01 '*' 0,05 '.' 0,1 ' ' ' 1 Residuaalin keskivirhe: 3,055 4 vapausasteella Moninkertainen R- neliö:  0,9583, Oikaistu R-r²:  0.9478 F-statistiikka: 91.88 1 ja 4 DF:llä, p-arvo: 0.000662 > par(mfrow = c(2, 2))  # Luo 2 x 2 -asettelu kuvioita varten. > plot(model) # Tulosta mallin diagnostiset piirrokset.

Diagnostic plots from plotting “model” (q.v. “plot.lm()” function). Notice the mathematical notation allowed in labels (lower left plot).

 

 


Etsiä
AlegsaOnline.com - 2020 / 2025 - License CC3