Основне функције
Рачунање израза:
4+4
(2*2)+1
5/0
Елементарне функције: exp(), cos(), sin(), tan(), log(), log10(), sqrt(),...
Аритметички оператори: +,-,*,/,...
Логички оператори: <=,>=, ==, !=, <,>, & , |, !,...
Ако нас занима више о некој функцији:
help(cos) # ili
?cos
example(exp)
За покретање линије кода (за RStudio): \(Ctrl+Enter\)
Све од знака # до краја реда је КОМЕНТАР!
Променљиве
Подаци се у R чувају у променљивим. Приликом декларације променљиве не наводимо тип променљиве, већ јој само додељујемо вредност. Име променљиве може да садржи слова, бројеве и тачку, а битно је да почиње словом. R је case sensitive, дакле X!=x.
- Основни типови података су:
numerical, character, logical - Специјални типови података су:
missing values, NULL, NaN, - / + Inf
Оператор доделе у R-у је <-, али може да се користи и =.
Постоји и оператор -> за доделу са друге стране.
Нумеричке променљиве
Променљиве којиа додељујемо неке нумеричке вредности. Нумеричке вредности су подразумевано типа double.
## [1] 3
Овако декларисану променљиву можемо користити и различитим изразима:
x+x
x+3
exp(x^2)
Логичке променњиве
променљиве логичког типа могу да имају вредности TRUE или FALSE (у R-у је исто што и T, F)
## [1] TRUE
## [1] TRUE
Логичке променњљиве се добијају и као резултат релацијских израза:
3<4
3!=3
## [1] TRUE
Вектори
- начин представљања низова у R-у
- индексирање почиње од 1
Начини задавања вектора:
- функција COMBINE
## [1] 2 3 4 4
- задавањем почетног и крајњег елемента низа
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
## [26] 26 27 28 29 30
- функција SEQUENCE
Задајемо почетни и крајњи елемент вектора ако желиммо да се сваки следећи елемент увећа за 1.
## [1] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Ако желимо да корак буде различит од 1, наводимо корак као трећи аргумент функције seq(). За многе функције постоје опциони аргументи који ако се експлицитно не наведу у позиву функције, узимају неку default вредност. Овде је та вредност 1.
## [1] 5 10 15 20 25
## [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Ако желимо опадајући низ, ставимо да корак буде негативан.
## [1] 10 9 8 7 6 5 4 3 2 1
Приступање елементима вектора
v[1]
Издвајање подвектора
Подвектор можемо издвојити навођењем индекса елемената које желимо да издвојимо.
v[1:3]
v[c(1,3)] # Podvektor koji sadrzi prvi i treci element
Фукнције скалара примењене на векторе
- делују на сваки елемент вектора посебно
sin(v)
v+1
v/2
НАПОМЕНА: оператор : има већи приоритет од аритметичких операција
## [1] 0 1 2 3 4 5 6 7 8 9
## [1] 1 2 3 4 5 6 7 8 9
Функције за рад са векторима
length(v)
max(v)
min(v)
range(v)
sort(v)
order(v)
sum(v)
mean(v) # uzoracka sredina
var(v) # popravljena uzoracka disperzija
sd(v) # standardna devijacija
Копија вектора помоћу функције rep() REPLICATE и варијанте ове функције
rep(v)
rep(v,5) # novi vektor koji sadrzi 5 nadovezanih kopija pocetnog, isto sto i rep(v,times=5)
rep(v,each=3) # kopira svaki element 3 puta uzastopno
rep(v,length.out=2) # kopira prva dva elementa
NA вредности - not available
v<-c(1,4,6,NA,23)
sum(v)
Ако желимо да функција игнорише NA вредности
sum(v,na.rm=T)
Вектори стрингова
v<-c("aaaa","c","bbb")
sort(v)
Логички вектори
- добијају се као резултат релацијских израза са векторима
v<-c(2,6,3,7,8)
v==1:5 # Poredi svaki element vektora sa odgovarajucim
v>3 # Poredi svaki element sa 3
Операције између два вектора
## [1] 0.5000000 0.6666667 0.7500000 0.8000000