14
Programare in “ R

Programare r 1

Embed Size (px)

Citation preview

Page 1: Programare r 1

Programare in “R”

Page 2: Programare r 1

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.

Page 3: Programare r 1

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.

Page 4: Programare r 1

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”).

Page 5: Programare r 1

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)

Page 6: Programare r 1

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

Page 7: Programare r 1

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

Page 8: Programare r 1

Vectori

Pot fi:

• Numere intregi(integer)

• Zecimale (floating)

• Caractere (string)

• Expresii logice (bollean)

• Complexe

• Obiecte

Page 9: Programare r 1

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

Page 10: Programare r 1

• Operatorul seq() (secventa) genereaza o secventa aritmetica

>seq(3,7)[1] 3 4 5 6 7

> seq(12,30,3)[1] 12 15 18 21 24 27 30

Operatorul rep() (“repeat”) –repeta

>x <- rep(7,4)

> x[1] 7 7 7 7

>rep(1:3,2)

[1] 1 2 3 1 2 3

Page 11: Programare r 1

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")

Page 12: Programare r 1

Indexarea vectorilor

> y <- c(1.2,3.9,0.4,0.12)> y[c(1,3)][1] 1.2 0.4>y[2:3][1] 3.9 0.4> z <- c(5,12,13)z[-1] # exclude elementul 1[1] 12 13

Page 13: Programare r 1

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• 1 2 4

Page 14: Programare r 1

Expresii de date logice

> z <- c(5,2,-3,8)

> z

[1] 5 2 -3 8

> z*z > 8

[1] TRUE FALSE TRUE TRUE