1  Trumpa istorija apie R

1.1 R ištakos

R kalba yra S programavimo kalbos dialektas. Tai reiškia, kad R nėra visiškai nepriklausoma – jos šaknys glaudžiai susijusios su S kalba.

1.2 Kas yra S?

S kalba buvo sukurta John Chambers ir jo kolegų Bell Telephone Laboratories, kurios priklausė AT&T Corp. Ji buvo pradėta kurti 1976 metais kaip vidinė statistinės analizės aplinka, iš pradžių įgyvendinta naudojant Fortran bibliotekas. 1998 metais išleista S kalbos 4 versija.

Bendra S filosofija yra svarbi tiek S, tiek R naudotojams, nes ji nulemia kalbos dizainą. S kalba buvo sukurta iš esmės duomenų analizei, o jos kūrėjai siekė supaprastinti duomenų analizės procesą pirmiausia sau, o vėliau ir kitiems vartotojams.

Pagrindinė filosofija, kuria vadojauntis buvo sukurta S, tai perėjimas nuo paprasto vartotojo į kūrėją ar vystytoją (developer’į). Vartotojams buvo suteikta interaktyvi aplinka, kurioje nereikėjo gilintis į kalbos subtilybes. Laikui bėgant, augant vartotojo poreikiams ir kalbo išmanymo pažangai, vartotojai galėjo palaipsniui pereiti prie gilesnio programavimo, kai kalbos ir sistemos aspektai tapo svarbesni.

1.3 R pradžia

R kalba pradėjo plisti po S kalbos sukūrimo. Viena iš pagrindinių S kalbos naudojimą ribojančių savybių buvo ta, kad ji buvo prieinama tik per komercinį paketą – S-PLUS. Kaip atviro kodo alternatyvą, 1991 metais Ross Ihaka ir Robert Gentleman Statistikoje katedroje Oklando universitete (Naujoji Zelandija) sukūrė R kalbą. 1993 metais R buvo pirmą kartą pristatyta visuomenei.

Ross Ihaka 2010 m. (šaltinis: Wikipedia)

Ross Ihaka 2010 m. (šaltinis: Wikipedia)

Robert Gentleman 2020 m. (šaltinis: wikipedia)

Robert Gentleman 2020 m. (šaltinis: Wikipedia)

R kalbos pavadinimas kilo dėl dviejų priežasčių: pirmiausia, raidė R yra pirmoji jos kūrėjų varduose, o antra – tai žaisminga nuoroda į pirmtakę S kalbą.

1.3.1 Chronologinė raida:

  • 1991 – Ross Ihaka ir Robert Gentleman pradeda darbą su nauju S dialektu kaip tyrimų projektu Statistikos katedroje Oklando universitete.
  • 1993 – Pirmasis R pristatymas pasirodo viešoje erdvėje per StatLib duomenų archyvą ir s-news pašto sąrašą.
  • 1995 – Statistikas Martin Mächler įtikina R kūrėjus išleisti kalbą pagal GNU laisvosios programinės įrangos licenciją, padarant R nemokamą ir atviro kodo.
  • Ihaka ir Gentleman išleidžia esminį straipsnį, pristatantį R pasauliui.
  • 1997 – Susidaro R Core komanda, turinti išskirtinę teisę keisti R šaltinio kodą bei peržiūrėti ir įgyvendinti siūlomus pakeitimus. Tais pačiais metais įkuriama Comprehensive R Archive Network (CRAN) – atviro kodo R programinės įrangos paketų saugykla, padedanti specialistams spręsti įvairias užduotis.
  • 2000 – Pirmoji R versija 1.0.0 išleista visuomenei.
  • 2003 – Įsteigiamas R fondas, skirtas administruoti R programinės įrangos autorių teises ir teikti paramą R kalbos projektui.
  • 2004 – Išleista R versija 2.0.0.
  • 2009 – Įkurtas R žurnalas – atviras žurnalas statistiniams skaičiavimams ir tyrimams.
  • 2013 – Išleista R versija 3.0.0.
  • 2020 – Išleista R versija 4.0.0.
  • 2025 m. kovo mėn. – Šiuo metu naudojama R versija 4.4.3.

1.4 Ar R yra populiari kalba?

Programavimų kalbų reitingus galima apžvelgti:

Skirtingai nei tokios kalbos kaip Python ir Java, R nėra bendros paskirties programavimo kalba. Vietoj to, ji laikoma srities specifine kalba (angl. domain specific language), reiškiančia, kad jos funkcijos ir naudojimo sritis yra skirtos konkrečiam taikymui. Todėl lyginant šią programavimo kalbą su kitomis, bendros paskirties, kalbomis, R nusileidžia savo populiarumu.

2 R diegimas, sistema ir CRAN

2.1 R diegimas

Pirmas žingsnis, norint pradėti dirbti su R, yra įdiegti ją savo kompiuteryje. R veikia beveik visuose šiuolaikiniuose platformose, įskaitant ir Windows, Mac OS X, Linux operacines sistemas.

  • Diegimo žingsniai (Windows OS)
  1. Eiti į https://cran.r-project.org/

  2. Pasirinkti Download R for Windows

  3. Pasirinkti base subdirektoriją

  4. Parsisiųsti naujausią R versijos diegimo failą [Download R-* for Windows], kur * reiškia versijos numerį.

  5. Vykdyti numatytąjį diegimo procesą.

2.2 R sistema ir CRAN

R sistemą galima suskirstyti į dvi pagrindines dalis:

  1. bazinę R sistemą, kuri įdiegiama kartu su R,
  2. papildomus elementus - visi kiti paketai, kurie neįdiegiami pagal numatytuosius nustatymus.

Parsisiuntus ir įdiegus R, gaunate vadinamąją bazinę sistemą – base R. Tai yra paketų, funkcijų ir kitų esminių komponentų rinkinys. Visas R funkcionalumas suskirstytas į paketus. Bazinėje R sistemoje yra įdiegtas paketas base, suteikiantis galimybę vykdyti R komandas ir pateikiantis pačias svarbiausias funkcijas. Kiti paketai, kurie įdiegiami kartu su bazine sistema: compiler, datasets, graphics, grDevices, grid, methods, parallel, splines, stats, stats4, tcltk, tools, utils.

Nors šie paketai ir suteikia pagrindinį, gana platų funkcionalumą, egzistuoja daugybė papildomų paketų. Šiuo metu yra daugiau nei 20 tūkst. oficialių, veikiančių paketų. Visi jie laikomi vienoje didelėje saugykloje, vadinamoje Comprehensive R Archive Network (CRAN). (nuoroda į pagrindinį CRAN puslapį).

2.2.1 CRAN Mirrors

Siekiant užtikrinti spartą ir patikimumą, CRAN turinys kopijuojamas į serverius skirtingose pasaulio vietose. Šios kopijos, dar vadinamos CRAN mirrors, leidžia R naudotojams parsisiųsti paketus iš artimiausios kopijos ir taip pagerinti siuntimo greitį bei patikimumą. Visą CRAN kopijų sąrašą, kartu su jas prižiūrinčiomis įstaigomis, galite rasti pagrindiniame CRAN puslapyje arba čia.

2.2.2 CRAN Task Views: R paketų apžvalga

CRAN Task Views – tai parengtos R paketų kolekcijos, suskirstytos pagal konkrečias sritis ar uždavinius.

  • Jos padeda naudotojams greitai rasti aktualius paketus įvairioms R taikymo sritims, tokioms kaip duomenų analizė, mašininis mokymasis, statistinis modeliavimas, duomenų vizualizacija ir kt.
  • Kiekviena „Task View“ pateikia R paketų sąrašą, naudingą konkrečiai sričiai ar užduočiai.
  • „CRAN Task Views“ nuolat atnaujina ir prižiūri R bendruomenė, kad atspindėtų naujausias tendencijas.

Daugiau informacijos rasite čia: CRAN Task Views.

3 RStudio IDE

Daugelis programavimo kalbų turi vadinamąsias integruotas kūrimo aplinkas (angl. Integrated Development Environment, trumpiau – IDE). Tokios aplinkos padeda naudotojams kurti, testuoti ir valdyti kodą, paprastai suteikdamos kodo redaktoriaus, kompiliatoriaus, derinimo (debugging) įrankius ir kitus svarbius komponentus vienoje vietoje. Pavyzdžiui, Python turi keletą populiarių IDE, tokių kaip Jupyter, PyCharm ar IDLE.

RStudio logotipas

RStudio logotipas

RStudio yra populiariausia ir plačiausiai naudojama R kalbos IDE. Ji buvo sukurta 2009 metais kaip atvirojo kodo projektas, o ilgainiui, prisijungus gausiam būriui bendruomenės narių, išplėtojusių įvairius paketus ir funkcijas, projektas tapo įmone. 2022 m. kasmetinėje įmonės konferencijoje buvo paskelbtas naujasis pavadinimas – Posit. Šis pokytis atspindi įmonės teikiamų pasiūlymų įvairovę, apimančią ne tik R, bet ir Python ekosistemą.

„Posit“ teikia platų paslaugų spektrą, apimantį tiek komercinius, tiek ir atvirojo kodo sprendimus. Tarp komercinių produktų – „Posit Connect“, „Posit Workbench“, tarp atvirųjų projektų - RStudio IDE, Shiny. Daugiau apie įmonę galima sužinoti svetainėje: https://posit.co/.

3.1 RStudio diegimas

Norint naudotis RStudio turi būti įdiegtas pats R. RStudio diegimo žingsniai:

  1. Eiti į https://posit.co/download/rstudio-desktop/.

  2. Atsisiųsti diegimo failą - DOWNLOAD RSTUDIO DESKTOP FOR WINDOWS.
    Žemiau yra pateikiami ir kitų OS diegimo failai.

  3. Vykdyti numatytąjį diegimo procesą.

3.2 R ir RStudio naudojimas debesyje

Jeigu neturite galimybės ar dėl kitų priežasčių negalite naudoti RStudio lokaliai, galima pasinaudoti įvairiais debesijos įrankiais. „Posit“ suteikia galimybę naudoti RStudio jų serveriuose – užtenka susikurti paskyrą ir prisijungti (nuoroda). Tuomet galima kurti viešus arba privačius projektus ir naudotis visomis RStudio teikiamomis galimybėmis.

Taip pat R galima naudoti per Google Colab, tik prieš tai reikia tinkamai susikonfigūruoti aplinką sklandžiam darbui.

Svarbi pastaba

Naudojant debesijos įrankius, būtina tinkamai įvertinti duomenų įkėlimo aspektus:

  • ar duomenyse nėra jautrios, konfidencialios informacijos?
  • kur jie iš tikrųjų bus saugomi ir ar galima prašyti įrankio tiekėjų juos pašalinti?
  • kiti saugumo ir privatumo klausimai, susiję su duomenų laikymu debesijoje.