2. Ce este limbajul R ?
• Este un limbaj de scripting folosit pentru
manipularea si analiza datelor statistice, inspirat
dupa un alt limbaj de programare, folosit in
statistica ,“S”, dezvoltat de AT&T.
3. De ce “R” ?
• este open-source, poate fi implementat in domeniile
publice alaturi de limbajul statistic “S”,
• ca performanta este comparabil cu limbajele si
produsele comerciale de programare, de cele mai multe
ori fiind mult mai bun ,
• disponibil atat pentru Windows, Mac, Linux,
• ca orice limbaj de programare permite crearea unor
functii pentru a automatiza analizele efectuate,
• are o strucura de programare orientata pe obiect.
4. Un prim exercitiu
Crearea un set simplu de date, adica un vector care sa contina
numerele 1, 2 si 3, denumit x:
>x <- c(1,2,3)
Operatorul standard de atribuire este “<-” sau ‘’=‘’, sau functia
assign().
In loc de cifre se pot pune chiar si litere
>y <- c(“a”,”b”,”c”)
sau chiar combinatii.
>z <- c(“a”,13, “c”).
5. O data cu instalarea programului puteti beneficia de existenta unor seturi de
date pe care le puteti folosi. Pentru aceasta folositi functia data() :
>data()
>Nile – set de date deja existent
Plotarea unei histograme a acestui set se face utilizand functia hist() :
>hist(Nile)
>?hist – manual pentru aceasta functie
>help(hist) - //-
Editarea unui set de date se face cu functia edit()
>edit(Nile)
6. Structurile de date cu care lucreaza
limbajul R
• Vectori
>x <- c(1,2,3)
• Matrice – tehnic este un vector ce contine
2 atribute –nr de randuri si de coloane:
• > y <- matrix(c(1,2,3,4),nrow=2,ncol=2)
• >y
7. Sintaxa “matrix” este o functie ce creaza o
matrice care contine 2 vectori, vectorii fiind
stocati in “y”.
• Liste - structuri de date a caror continut
pot fi elemente din diverse tipuri de date si
sunt reprezentate prin semnul “$”
>x$u- se traduce prin: este “u” componenta
listei “X” ?
• Data frames –liste a caror vectori
corespund unor coloane dintr-o matrice
9. Exemple:
Lungimea unui vector poate fi obtinuta cu ajutorul functiei length():
>length(x)
Atribuirea valorilor sau declararea lor
>y <- c(5,12)
sau
> y <- vector(length=2) - declararea vectorului
> y[1] <- 5
>y[2] <- 12
Operatorii “:” seq() si rep()
Operatorul “:” genereaza o serie consecutiva de valori crescatoare sau descrecatoare
>5:9
[1] 5 6 7 8 9
> 5:1
[1] 5 4 3 2 1
11. Operatii logice cu vectori
• Puteti adauga vectori:
>x <- c(1,2,4)
> x + c(5,0,-1)
• [1] 6 2 3
Functiile any() si all():
>x <- 1:10
> if (any(x > 8)) print("exista cel putin un numar mai mare decat 8")
[1] " exista cel putin un numar mai mare decat 8 “
>if (all(x < 10)) print("Toate sunt mai mici ca 10")
13. Denumirea vectorilor
• Vectorii pot fi denumiti cu anumite acronime, folosind
functia name():
>x <- c(1,2,4)
>names(x)
• NULL
> names(x) <- c("a","b","ab")
> names(x)
• [1] "a" "b" "ab"
>x
• a b ab
• 124
14. Expresii de date logice
> z <- c(5,2,-3,8)
>z
[1] 5 2 -3 8
> z*z > 8
[1] TRUE FALSE TRUE TRUE