Sunteți pe pagina 1din 12

Analiza datelor în R

Curs 1

C. Zaharia Curs 1

Despre R

I
program open source pentru calcul statistic
I
bazat pe limbajul S (J. Chambers, 1976)
I
dezvoltat de R. Gentleman ¸si R. Ihaka (1993); în prezent -
mii de contribuitori
I
interfa¸ta bazat ˘ a pe linii de comand ˘ a˘ →
flexibilitate I tehnici ¸si facilita¸ti pentru: ˘
I
organizare de date
I
grafica˘
I
calcul numeric
I
inferen¸ta statistic ˘ a ¸si modelare ˘
I
simulare

C. Zaharia Curs 1

Resurse utile
1. G. James, D. Witten, T. Hastie, R. Tibshirani - An
Introduction to Statistical Learning with Applications in R,
Second Edition, Springer, 2021, https://hastie.su.
domains/ISLR2/ISLRv2_website.pdf
2. T. Fischetti - Data Analysis with R, Packt Publishing, 2015.
3. W. J. Braun, D. J. Murdoch - A first course in statistical
programming with R, Cambridge University Press, 2007. 4. H.
Wickham - Advanced R, Second Edition,
https://adv-r.hadley.nz/index.html

C. Zaharia Curs 1

R ¸si RStudio
Instalare
https://www.r-project.org
https://www.rstudio.com/products/rstudio/
Directorul curent
Session → Set Working Directory → Choose...

Instruc¸tiuni
I
se introduc dupa Command prompt ( > ) ¸si se execut ˘ a cu
˘ Enter
I
o comanda nefinalizat ˘ a se poate continua pe linia
˘ urmatoare, care va începe cu "+" ˘
I
mai multe comenzi pe o linie se separa prin ; ˘
I
instruc¸tiunile pot fi grupate într-un script ¸si rulate apoi cu
Ctrl+Enter → reproductibilitatea analizelor!!
I
comentariile se pun dupa # ˘

C. Zaharia Curs 1

Pachete
I
Pachete: colec¸tii de func¸tii, documenta¸tie aferenta ¸si seturi ˘ de
date
I
În prezent sunt disponibile >18000 pachete R
(https://cran.r-project.org/web/packages/
available_packages_by_name.html).
I
Instalare: install.packages("nume_pachet") I Încarcare în sesiunea
de lucru curent ˘ a:˘
library(nume_pachet)
I
Identificarea pachetelor încarcate pentru sesiunea de lucru ˘
curenta:˘ sessionInfo()
I
Un set de date dintr-un pachet deja încarcat se aduce în ˘
workspace cu data(nume_set_date)
I
Dezvoltare pachete: a se vedea https://r-pkgs.org/ C. Zaharia Curs 1

Opera¸tii elementare

I
Opera¸tii aritmetice: +, - , * , / ,b, %%, %/%
I
Asignarea se face cu <- sau =.
I
Numele variabilelor pot con¸tine litere, cifre ¸si . ¸si încep
întotdeauna cu o litera. (Case sensitive!) ˘
I
De evitat numele rezervate (q, c, T, F etc).
I
Implicit, R afi ¸seaza 7 cifre semnificative. Acest lucru se ˘
poate modifica utilizând

options(digits=x)

I
Operatori logici: &, |, !
I
Operatori rela¸tionali: ==, <, >, <=, >=, ! =

C. Zaharia Curs 1

Opera¸tii elementare
I
Func¸tii matematice predefinite: sin(), cos(), tan(), exp(),
log(), sqrt(), floor(), ceiling(), etc
I
Constante predefinite e.g. pi.
I
help:
?nume_functie
args(nume_functie)
I
redirec¸tionarea output-ului catre un fi ¸sier: ˘

sink("numefisier.txt")
...
sink()

C. Zaharia Curs 1

Vectori
I I
se definesc cu ajutorul func¸tiei c(...) ("concatenate")
elementele se separa prin virgul ˘ a˘
I
componentele sunt de acela ¸si tip, numeric, logic
(T=TRUE, F=FALSE) sau caracter
I
selectare elemente:
a[i]
a[i:j]
a[c(i1, i2, ..., ik)]
a[-i]
a[-c(i1, i2, ..., ik)]
I
numarul de componente se determin ˘ a cu ˘
length(nume_vector)

C. Zaharia Curs 1

Vectori
Modalita¸ti de definire automat ˘ a:˘
I
a:b → a, a + 1, a + 2, . . . , ≤ b
I
seq(a, b, by=pas)
I
seq(a, b, length=k)
I
numeric(n) → vector de lungime n cu toate componentele 0
I
rep(n,k) → vector în care n se repeta de ˘ k ori C. Zaharia Curs 1

Opera¸tii cu vectori

I
Opera¸tiile cu vectori (+, -, *, /,b) se efectueaza element cu ˘
element.
I
Variabilele numerice sunt vectori de lungime 1.
I
: este executat înainte de +, -, *, /, dar nu ¸si de b. I
Atunci când o opera¸tie implica doi vectori de lungimi ˘
diferite, cel mai scurt este "reciclat" de oricâte ori este
necesar.
I
Compararea a doi vectori se face element cu element.
Rezultatul este un vector de valori logice corespunzatoare ˘
compara¸tiilor individuale.

C. Zaharia Curs 1

Exerci¸tii
1. Sa se genereze urm ˘ atoarele
¸siruri: ˘ i) 1, 3, 5, . . . , 999.
ii) 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3
iii) 1, 1, 1, 2, 2, 3, 3
iv) 1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1
v) 1, 1/2, 1/3, . . . , 1/10
vi) 1, 8, 27, 64, 125, 216

C. Zaharia Curs 1

Exerci¸tii

2. Sa se calculeze ¸si s ˘ a se discute: ˘ i) seq(0,10.5,by=1)


ii) -0.5:10
iii) 0:10-0.5
iv) seq(0.5, 9.5)
v) 10:22/10
vi) 10/2:22
vii) (10/2):22
viii) (1:2)
*(0:3)
ix) r=1:5; s=-2:2; s/r; r/s; s/s C. Zaharia Curs 1

S-ar putea să vă placă și