Introducere

Obiectivul acestui capitol este de a prezenta o scurtă introducere în programul R (cu ajutorul interfeței grafice RStudio). O descriere detaliată a acestui program precum și versiunile disponibile pentru descărcat se găsesc pe site-ul www.r-project.org. Pentru mai multe detalii se pot consulta (Davies 2016) și (Matloff 2011).

Programul R este un program gratuit destinat, cu precădere, analizei statistice și prezintă o serie de avantaje:

  • rulează aproape pe toate platformele și sistemele de operare
  • permite folosirea metodelor statistice clasice cu ajutorul unor funcții predefinite
  • este adoptat ca limbaj de analiză statistică în majoritatea domeniilor aplicate
  • prezintă capabilități grafice deosebite
  • permite utilizarea tehnicilor statistice de ultimă oră prin intermediul pachetelor dezvoltate de comunitate (în prezent sunt mai mult de 10000 de pachete)
  • are o comunitate foarte activă și în continuă creștere

Figura 1 prezintă evoluția numărului de pachete din R în funcție de versiunea acestuia:

Figura 1: Evoluția numărului de pachete din R.

Interfața RStudio

Interfața RStudio (vezi Figura 2) este compusă din patru ferestre:

  • Fereastra de editare (stânga sus): în această fereastră apar fișierele, de tip script, în care utilizatorul dezvoltă propriile funcții ori script-uri.
  • Fereastra de comandă sau consola (stânga jos): în această fereastră sunt executate comenzile R
  • Fereastra cu spațiul de lucru/istoricul (dreapta sus): conține obiectele definite în memorie și istoricul comenzilor folosite
  • Fereastra de explorare (dreapta jos): în această fereastră ne putem deplasa în interiorul repertoriului (tab-ul Files), putem vedea graficele trasate (tab-ul Plots) dar și pachetele instalate (tab-ul Packages). De asemenea, tot în această fereastră putem să și căutăm documentația despre diferite funcții, folosind fereastra de ajutor (tab-ul Help).

Figura 2: Interfața aplicației RStudio cu cele patru ferestre.

Pachetele ajutătoare

Pe lângă diferitele pachete conținute în versiunea de bază a programului R se mai pot instala și pachete suplimentare. Pentru a instala un pachet suplimentar se apelează comanda:

install.packages("nume pachet")

Odată ce pachetul este instalat, pentru a încărca pachetul, și prin urmare funcțiile disponibile în acesta, se apelează comanda:

library("nume pachet")

Instalarea unui pachet se face o singură dată dar încărcarea acestuia trebuie făcută de fiecare dată când lansăm o sesiune nouă.

Primele comenzi în R

Programul R poate fi folosit și pe post de calculator (mai avansat). De exemplu putem face calcule elementare de tipul

5 - 1 + 10
[1] 14
7 * 10 / 2
[1] 35
exp(-2.19)
[1] 0.1119167
pi
[1] 3.141593
sin(2 * pi/3)
[1] 0.8660254
log(123, base = 2)
[1] 6.942515

De asemenea, atunci când este necesar, rezultatele calculelor pot fi stocate într-o variabilă folosind operatorul de atribuire <- (sau =)

a <- (1+sqrt(5)/2)/2

păstrată în memorie (a apare în fereastra de lucru - Environment) și care poate fi reutilizată ulterior

# aici folosim pentru ilustrare operatorul de atribuire "=" 
asq = sqrt(a) 
asq
[1] 1.029086

Pentru a vedea numele obiectelor (afișate în ordine alfabetică) definite în sesiunea curentă se poate folosi comanda ls()

ls()
 [1] "a"              "addTrans"       "asq"            "def.chunk.hook"
 [5] "major_releases" "myblue"         "mybrown"        "mygreen"       
 [9] "myred"          "p"              "pkgs"          

Operațiile binare în R sunt date în Tabelul 1 de mai jos:

Tabelul 1: Operații binare în R.
Operatorul Descriere
+ Adunare
- Scădere
* Înmulțire
/ Împărțire
^ or ** Exponențiere
%/% Câtul împărțirii
%% Restul împărțirii

Pentru a șterge toate variabilele din memorie trebuie să folosim comanda următoare (după cum am afirmat mai sus, funcția ls() listează numele obiectelor din memorie iar comanda rm() șterge obiectele; de asemenea se poate folosi și comanda ls.str() pentru a lista obiectele împreună cu o scurtă descriere a lor)

ls.str()
rm(list = ls())

Folosirea documentației

Funcția help() și operatorul de ajutor ? ne permit accesul la paginile de documentație pentru funcții, seturi de date și alte obiecte din R. Pentru a accesa documentația pentru funcția standard mean() putem să folosim comanda help(mean) sau ?mean în consolă. Pentru a accesa documentația unei funcții dintr-un pachet care nu este în prezent încărcat (dar este instalat) trebuie să adăugăm în plus numele pachetului, de exemplu help(rlm, package = "MASS") iar pentru a accesa documentația întregului pachet putem folosi comanda help(package = "MASS").

help(mean)
?mean # versiunea prescurtata la help(mean)

help(rlm, package = "MASS")
help(package = "MASS")

O altă funcție de căutare des utilizată, în special în situația în care nu știm cu exactitate numele obiectului pe care îl căutăm, este funcția apropos(). Aceasta permite căutarea obiectelor (inclusiv funcții), disponibile în pachetele încărcate în sesiunea curentă, după un șir de caractere specificat (se pot folosi și expresii regulate). De exemplu dacă apelăm apropos("mean") vom obține toate funcțiile care conțin șirul de caractere mean.

apropos("mean") # functii care contin mean
 [1] ".colMeans"      ".rowMeans"      "colMeans"       "cummean"       
 [5] "kmeans"         "mean"           "mean.Date"      "mean.default"  
 [9] "mean.difftime"  "mean.POSIXct"   "mean.POSIXlt"   "mean_cl_boot"  
[13] "mean_cl_normal" "mean_sdl"       "mean_se"        "rowMeans"      
[17] "weighted.mean" 
apropos("^mean") # functii care incep cu mean
 [1] "mean"           "mean.Date"      "mean.default"   "mean.difftime" 
 [5] "mean.POSIXct"   "mean.POSIXlt"   "mean_cl_boot"   "mean_cl_normal"
 [9] "mean_sdl"       "mean_se"       

Următorul tabel prezintă funcțiile de ajutor, cel mai des utilizate:

Tabelul 2: Funcții folosite pentru ajutor
Funcție Acțiune
help.start() Modul de ajutor general
help("nume") sau ?nume Documentație privind funcția nume (ghilimelele sunt opționale)
help.search(nume) sau ??nume Caută sistemul de documentație pentru instanțe în care apare șirul de caractere nume
example("nume") Exemple de utilizare ale funcției nume
RSiteSearch("nume") Caută șirul de caractere nume în manualele online și în arhivă
apropos("nume", mode = "functions") Listează toate funcțiile care conțin șirul nume în numele lor
data() Listează toate seturile de date disponibile în pachetele încărcate
vignette() Listează toate vinietele disponibile
vignette("nume") Afișează vinietele corespunzătoare topicului nume

În plus, Tabelul 3 de mai jos furnizează o serie de link-uri utile în analiza și vizualizarea datelor :

O listă completă de documente online utile în procesul de învățare al limbajului R se găsește pe pagina RStudio.

Referințe

Davies, Tilman. 2016. The Book of r. A First Course in Programming and Statistics. 1st ed. No Starch Press, Inc.
Matloff, Norman. 2011. The Art of r Programming. A Tour of Statistical Software Design. 1st ed. No Starch Press, Inc.