Основне функције

Рачунање израза:

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.

Оператор доделе у R-у је <-, али може да се користи и =.

x <- 9

Постоји и оператор -> за доделу са друге стране.

9 -> x

Нумеричке променљиве

Променљиве којиа додељујемо неке нумеричке вредности. Нумеричке вредности су подразумевано типа double.

x <- 3 # isto sto i 3->x
x # ispisivanje vrednosti
## [1] 3

Овако декларисану променљиву можемо користити и различитим изразима:

x+x
x+3
exp(x^2)

Променњиве типа character

променљиве које садрже неке стрингове

x<-"neke reci" 
x
## [1] "neke reci"

Логичке променњиве

променљиве логичког типа могу да имају вредности TRUE или FALSE (у R-у је исто што и T, F)

A <- TRUE 
A #ili
## [1] TRUE
A <- T 
A
## [1] TRUE

Логичке променњљиве се добијају и као резултат релацијских израза:

3<4
3!=3
x<-(2<4)&(3==3)
x
## [1] TRUE

Провера типа података

is.numeric(x)
## [1] FALSE
is.character(x)
## [1] FALSE
is.logical(x)
## [1] TRUE

Вектори

Начини задавања вектора:

  1. функција COMBINE
v<-c(2,3,4,4)
v
## [1] 2 3 4 4
  1. задавањем почетног и крајњег елемента низа
v<-1:30
v
##  [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
  1. функција SEQUENCE

Задајемо почетни и крајњи елемент вектора ако желиммо да се сваки следећи елемент увећа за 1.

v<-seq(5,25)
v
##  [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.

v<-seq(5,25,5)
v
## [1]  5 10 15 20 25
v<-seq(0,1,0.1)
v
##  [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

Ако желимо опадајући низ, ставимо да корак буде негативан.

v<-seq(10,1,-1)
v
##  [1] 10  9  8  7  6  5  4  3  2  1

Приступање елементима вектора

v[1]

Мењање вредности елемената вектора

v[2]<-27
v
##  [1] 10 27  8  7  6  5  4  3  2  1

Додавање новог елемента на крај вектора

v[11] <- 0
v
##  [1] 10 27  8  7  6  5  4  3  2  1  0

Издвајање подвектора

Подвектор можемо издвојити навођењем индекса елемената које желимо да издвојимо.

v[1:3]
v[c(1,3)] # Podvektor koji sadrzi prvi i treci element

Фукнције скалара примењене на векторе

  • делују на сваки елемент вектора посебно
sin(v)
v+1
v/2

НАПОМЕНА: оператор : има већи приоритет од аритметичких операција

n<-10
v1<-1:n-1
v1
##  [1] 0 1 2 3 4 5 6 7 8 9
v2<-1:(n-1)
v2
## [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

Операције између два вектора

a<-c(1,2,3,4)
b<-c(2,3,4,5)
r<-a/b
r
## [1] 0.5000000 0.6666667 0.7500000 0.8000000

Графичко приказивање вектора

barplot(v)

  • График зависности вектора
plot(a,b)

plot(b,a)# obrnute ose

  • Све текуће променњиве су смештене у workspace-у
ls()
## [1] "a"  "A"  "b"  "n"  "r"  "v"  "v1" "v2" "x"
  • Ако желимо да обришемо неку
a<-3
rm(a)
  • Брисање свих објеката
rm(list=ls())