laboratorinis darbas nr2

20
VEIKSMAI IR PAGRINDIN¸S FUNKCIJOS R PROGRAMOJE (2-asis laboratorinis darbas) Viktoras Chadyas Veiksmai ir pagrindinºs funkcijos R programoje Skaidrºs 1/20

Upload: paulius-subacius

Post on 28-Dec-2015

19 views

Category:

Documents


0 download

DESCRIPTION

Labaratorinis nr 2

TRANSCRIPT

Page 1: Laboratorinis darbas NR2

VEIKSMAI IR PAGRINDINĖS FUNKCIJOSR PROGRAMOJE

(2-asis laboratorinis darbas)

Viktoras Chadyšas

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 1/20

Page 2: Laboratorinis darbas NR2

Aritmetikos veiksmai su skaičiais ir kitos funkcijos

+(sudėtis), −(atimtis), ∗(daugyba), /(dalyba),̂(kelti laipsniu),sqrt() – kvadratinė šaknis, abs() – absoliutinis dydis

1 2+52 2-53 2*54 2/55 2^56 sqrt(2)7 abs(2-4)

1 [1] 72 [1] -33 [1] 104 [1] 0.45 [1] 326 [1] 1.4142147 [1] 2

pi – π reikšmė

1 pi 1 [1] 3.141593

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 2/20

Page 3: Laboratorinis darbas NR2

sin(), cos(), tan() – trigonometrinės funkcijos

1 sin(pi/2)2 cos(pi)

1 [1] 12 [1] -1

exp() – eksponentinė funkcija ex

1 exp(1) 1 [1] 2.718282

log() – logaritminė funkcijos ln(x)

1 log(1)2 log(exp(1))

1 [1] 02 [1] 1

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 3/20

Page 4: Laboratorinis darbas NR2

factorial() – faktorialas n!

1 factorial(3) 1 [1] 6

choose() – derinių skaičius C kn = n!

k!(n−k)!

1 choose(12,5) 1 [1] 792

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 4/20

Page 5: Laboratorinis darbas NR2

Vektoriai ir veiksmai su jais

Skaitinio vektoriaus sudarymo pavyzdžiai

1 vekt<-c(1,5,3,7)2 vekt

1

2 [1] 1 5 3 7

arba

1 assign("vekt",c(1,5,3,7))2 vekt

1

2 [1] 1 5 3 7

Simbolių vektoriaus sudarymo pavyzdžiai

1 vekt2<-c("Jonas", "Lina")2 vekt2

1

2 [1] "Jonas" "Lina"

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 5/20

Page 6: Laboratorinis darbas NR2

Aritmetiniai veiksmai su vektoriais žymimi kaip ir veiksmai suskaičiais.

Aritmetiniai veiksmai su vektoriaisSudarome du skaitinius vektorius x ir y.

1 x<-c(1,2,3)2 y<-c(4,5,6)3 x4 y

1

2

3 [1] 1 2 34 [1] 4 5 6

Atliekami aritmetiniai veiksmai su šiais vektoriais.

1 x+y2 y-x3 y^x4 sin(x*pi)+cos(y*pi)

1 [1] 5 7 92 [1] 3 3 33 [1] 4 25 2164 [1] 1 -1 1

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 6/20

Page 7: Laboratorinis darbas NR2

Vektoriai ir jų funkcijos

length() – apskaičiuojamas vektoriaus ilgis,sort() – rikiuoja vektoriaus komponentes

1 vekt <- c(3, 2, 5, 1)2 length(vekt)3 sort(vekt)

1

2 [1] 43 [1] 1 2 3 5

sum() – vektoriaus komponenčių suma,prod() – vektoriaus komponenčių sandauga,diff() – skaičiuoja vektoriaus komponenčių skirtumus

1 sum(vekt)2 prod(vekt)3 diff(vekt)

1 [1] 112 [1] 303 [1] -1 3 -4

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 7/20

Page 8: Laboratorinis darbas NR2

cumsum() – kaupiamoji vektoriaus elementų reikšmių suma,cumprod() – kaupiamoji vektoriaus elementų reikšmių sandauga

1 vekt2 <- c(2,2,1,1,4)2 cumsum(vekt2)3 cumprod(vek2)

1

2 [1] 2 4 5 6 103 [1] 2 4 4 4 16

mean() – skaičiuoja vidurkį, var() – skaičiuoja dispersiją,min(), max() – atitinkamai mažiausia, didžiausia komponentė,table() – skaičiuoja pasikartojančias reikšmes (dažnius)

1 mean(vekt2)2 min(vekt2)3 max(vekt2)

1 [1] 22 [1] 13 [1] 4

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 8/20

Page 9: Laboratorinis darbas NR2

Visada galima išskirti tam tikrą vektoriaus poaibį, po jo vardolaužtiniuose skliaustuose nurodant sąlygą arba indeksų vektorių.

Loginis vektorius – vektoriaus reikšmės, tenkinančios sąlygą,paliekamos.

1 vekt <- c(3, 2, 5, 1)2 poaib<- vekt[vekt>2]3 poaib4 poaib2<- vekt[vekt<=3]5 poaib2

1

2

3 [1] 3 54

5 [1] 3 2 1

Loginiai operatoriai yra:<, <=, >, >=, == (lygybė), != (nelygybė).

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 9/20

Page 10: Laboratorinis darbas NR2

Sveikų teigiamų skaičių vektorius nurodo komponentes, kuriosturi būti paliktos vektoriuje.

1 vekt <- c(3, 2, 5, 1)2 poaib<- vekt[c(2,3,4)]3 poaib4 poaib2<- vekt[2:4]5 poaib2

1

2

3 [1] 2 5 14

5 [1] 2 5 1

Sveikų neigiamų skaičių vektorius nurodo komponentes, kuriosturi būti pašalintos iš vektoriaus.

1 poaib<- vekt[-c(2,3,4)]2 poaib3 poaib2<- vekt[-(2:4)]4 poaib2

1

2 [1] 33

4 [1] 3

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 10/20

Page 11: Laboratorinis darbas NR2

Skaičių sekos ir jų sudarymas

Sekoms sudaryti dažnai naudojamos funkcijos: c(), seq(), rep().

Skaičių sekos sudarymas su žingsniu 1 pagal nutylėjimą.

1 seka<-c(3:9)2 seka3 seka2<- seq(from=3,to=9)4 seka2

1

2 [1] 3 4 5 6 7 8 93

4 [1] 3 4 5 6 7 8 9

Skaičių sekos sudarymas su pasirinktu žingsniu.

1 seka<-seq(from=1,to=10,by=3)2 seka3 seka2<-seq(from=3,to=20,by=4)4 seka2

1

2 [1] 1 4 7 103

4 [1] 3 7 11 15 19

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 11/20

Page 12: Laboratorinis darbas NR2

Dėsningų sekų sudarymas.

Skaičiaus a kartojimas n kartų rep(a, times=n).

1 seka<-rep(5,times=3)2 seka

1

2 [1] 5 5 5

Turimos sekos x kartojimas n kartų rep(x, times=n).

1 x<-c(1,4,8)2 seka2<-rep(x,times=2)3 seka24

5 raides<-c("A","B")6 seka3<-rep(raides,times=2)7 seka3

1

2

3 [1] 1 4 8 1 4 84

5

6

7 [1] "A" "B" "A" "B"

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 12/20

Page 13: Laboratorinis darbas NR2

Atsitiktinių sekų sudarymas

n dydžio natūrinių skaičių seka iš N natūraliųjų skaičių bepasikartojimų sample(N,size=n).

1 seka<-sample(10,size=3)2 seka

1

2 [1] 5 3 2

n dydžio natūrinių skaičių seka iš N natūraliųjų skaičių supasikartojimais sample(N,size=n,replace=TRUE).

1 set.seed(12)2 seka2<-sample(5,size=3,replace=TRUE)3 seka2

1

2

3 [1] 1 5 5

Komanda set.seed(n), n - sveikasis skaičius, naudojama jeinorima generuoti vis tą pačią seką.

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 13/20

Page 14: Laboratorinis darbas NR2

n dydžio elementų seka be pasikartojimų iš turimo sąrašo.

1 n <-22 set.seed(2)3 r <- c("A", "B", "C", "D", "E")4 seka <- sample(r,size=n)5 seka

1

2

3

4 [1] "A" "C"

n dydžio elementų seka su pasikartojimais iš turimo sąrašo.

1 n <-32 set.seed(12)3 s<-sample(r,size=n,replace=TRUE)4 s5

6 s2<-sample(r,n,TRUE)7 s2

1

2

3

4 [1] "A" "E" "E"5

6 [1] "A" "E" "E"

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 14/20

Page 15: Laboratorinis darbas NR2

Veiksmai su aibių elementais

union() – įvykių sąjunga,intersect() – įvykių sankirta,setdiff() – įvykių skirtumas.

1 A <-c(2,4,6) # Įvykis A2 B <-c(1,3,5) # Įvykis B3 union(A,B)4 intersect(A,B)5 setdiff(A,B)6 intersect(A,B) Sankirta7 intersect(A,B) # Sankirta

1

2

3 [1] 2 4 6 1 3 54 numeric(0)5 [1] 2 4 66 Error: unexpected ...7 numeric(0)

Komandinės eilutės, arba tekstas suprantamas kaip komentarai,jei rašomos prieš tai ženklas #.

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 15/20

Page 16: Laboratorinis darbas NR2

Matricos ir jų veiksmai

Matrica sudaroma iš vektoriaus, nurodant jam matavimą irelementų išdėstymą matricoje, naudojant funkciją:matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,dimnames = NULL)

1 x<-c(1,2,3,4,5,6)2 A<-matrix(x,nrow=2,ncol=3)3 A4

5

6

7

8 B<-matrix(x,2,3,byrow=TRUE)9 B

1

2

3 [,1] [,2] [,3]4 [1,] 1 3 55 [2,] 2 4 66

7

8

9 [,1] [,2] [,3]10 [1,] 1 2 311 [2,] 4 5 6

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 16/20

Page 17: Laboratorinis darbas NR2

Kitas būdas įvesti matricai:

1 A <- numeric(s) # Elementu skaicius2 dim(A)<-c(n,m) # n - eil. sk., m - stulp. sk.)3 matrica <- edit(A) # Reiksmiu ivedimas

* – paelementinė matricų daugyba,% ∗ % – tikroji matricų daugyba,dim() – pateikia matricos eilučių ir stulpelių skaičių,det() – kvadratinės matricos determinanto skaičiavimas,t() – matricos transponavimas.

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 17/20

Page 18: Laboratorinis darbas NR2

Tarkime A - matrica, o b - vektorius:solve(A) – surandama matricos A atvirkštinė,solve(A,b) – surandamas tiesinių lygčių sistemos Ax=bsprendinys.

Išspręskite duotą tiesinių lygčių sistemą:2x1 + x2 = 1,6x1 + x2 + x3 = 1,

−x1 − 3x2 + 2x3 = −3.

1 x <-c(2,1,0,6,1,1,-1,-3,2)2 y <-c(1,1,-3)3 A <-matrix(x,3,3,TRUE)4 b <-matrix(y,ncol=1)5 ats <-solve(A,b)6 ats

1

2

3 [,1]4 [1,] 05 [2,] 16 [3,] 0

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 18/20

Page 19: Laboratorinis darbas NR2

Savarankiškas darbas

Sudarykite du skirtingo ilgio vektorius x ir y suskirtingomis reikšmėmis. Sudarykite naują vektorių zapjungiant vektorių x ir y reikšmes. Išrikiuokite naujaisudaryto vektoriaus komponentes didėjimo tvarka,apskaičiuokite jo ilgį ir vidurkį.

Kiekvieno mėnesio pelnas (Lt, tūkst.) įmonės, kuriprekiavo AUDI automobiliais 2012 metais buvo: 25, 35, 60,75, 120, 85, 90, 105, 130, 90, 45, 20. Įveskite duomenis į Rkaip vektorių. Apskaičiuokite visą įmonės pelną per 2012metus. Koks mažiausias ir didžiausias mėnesio pelnas?Kiek mėnesių pelnas buvo didesnis negu 80 tūkst. Lt?Koks tai procentas?

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 19/20

Page 20: Laboratorinis darbas NR2

Generuodami atsitiktines sekas imtuokite lietuviškosmonetos mėtymą 100 kartų. Funkcijos table() pagalbaraskite skaičiaus ir vyčio atsivertimo dažnius.Apskaičiuokite atitinkamas skaičiaus ir vyčio atsivertimotikimybes. Patikrinkite, ar didinant eksperimentų skaičiųšios tikimybės tikrai artėja į 0.5.

R programos pagalba išspręskite tiesinių lygčių sistemą:2x1 + 2x2 + x3 = 2,

−3x1 − 3x3 = 3,6x1 + 3x2 + 4x3 = 0.

Veiksmai ir pagrindinės funkcijos R programoje Skaidrės 20/20