R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje)...

75
Uvod Osnove R-a Neke mogu´ cnosti R-a Grafika Zakljuˇ cak R programski jezik - osnovne informacije i pregled mogu´ cnosti Danijel Grahovac Odjel za matematiku Sveuˇ ciliˇ ste u Osijeku 26.1.2011. Danijel Grahovac R programski jezik - osnovne informacije i pregled mogu´ cnosti

Transcript of R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje)...

Page 1: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R programski jezik - osnovne informacije i pregledmogucnosti

Danijel Grahovac

Odjel za matematikuSveuciliste u Osijeku

26.1.2011.

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 2: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Sadrzaj1 Uvod

OpcenitoSucelja

2 Osnove R-aManipuliranje podacima i osnovni objektiKontrola toka i petlje

3 Neke mogucnosti R-aMatricne operacijeNumericka preciznostOptimizacija

4 GrafikaOsnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

5 ZakljucakR: za i protivLiteraturafortunes

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 3: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Sadrzaj1 Uvod

OpcenitoSucelja

2 Osnove R-aManipuliranje podacima i osnovni objektiKontrola toka i petlje

3 Neke mogucnosti R-aMatricne operacijeNumericka preciznostOptimizacija

4 GrafikaOsnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

5 ZakljucakR: za i protivLiteraturafortunes

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 4: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Sadrzaj1 Uvod

OpcenitoSucelja

2 Osnove R-aManipuliranje podacima i osnovni objektiKontrola toka i petlje

3 Neke mogucnosti R-aMatricne operacijeNumericka preciznostOptimizacija

4 GrafikaOsnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

5 ZakljucakR: za i protivLiteraturafortunes

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 5: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Sadrzaj1 Uvod

OpcenitoSucelja

2 Osnove R-aManipuliranje podacima i osnovni objektiKontrola toka i petlje

3 Neke mogucnosti R-aMatricne operacijeNumericka preciznostOptimizacija

4 GrafikaOsnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

5 ZakljucakR: za i protivLiteraturafortunes

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 6: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Sadrzaj1 Uvod

OpcenitoSucelja

2 Osnove R-aManipuliranje podacima i osnovni objektiKontrola toka i petlje

3 Neke mogucnosti R-aMatricne operacijeNumericka preciznostOptimizacija

4 GrafikaOsnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

5 ZakljucakR: za i protivLiteraturafortunes

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 7: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Uvod

R - programski jezik (okruzenje) za statistiku, analizu podataka igrafiku

R je dijalekt programskog jezika S (S-PLUS)

R su razvili Ross Ihaka i Robert Gentleman

R sadrzi veliki broj statistickih i grafickih metoda

mocan alat za izradu kvalitetnih slika

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 8: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

R je besplatan i moze se naci nahttp://www.r-project.org/

jednostavno se instalira

pokretanjem se ucitava 20-ak standardnih paketa (za matrice,grafiku, linearne modele itd.)

ukupno postoji 2725 paketa koji se jednostavno instaliraju

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 9: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Slika: Osnovno suceljeDanijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 10: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Postoji mnostvo dodataka koji R mogu uciniti pristupacnijimkorisniku

Editori brojni editori koji zamjenjuju standardni R scripteditor (Tinn-R, Komodo Edit, Crimson Editor,Vim)oznacavaju kljucne rijeci, omogucavaju slanjegrupa naredbi u R konzolu

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 11: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Slika: Tinn-R - napredni R script editorDanijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 12: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

GUI graficka korisnicka sucelja (R Commander,SciViews-R, JGR, RKward)cine R pristupacnim prosjecnom korisnikuza jednostavne operacije nije potrebnoprogramirati, vec kliknuti nekoliko puta

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 13: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Slika: R Commander - graficko sucelje za RDanijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 14: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

RExcel

R.M. HEIBERGER, E. NEUWIRTH - R Through Excel:

”Let’s not kid ourselves: The most widely used piece of softwarefor statistics is Excel.”

RExcel - dodatak za Excel koji ukljucuje sve mogucnosti R-a

daje graficko sucelje iz R Commandera u Excelu i brojne drugemogucnosti

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 15: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Slika: RExcelDanijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 16: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Revolution R Enterprise

komercijalna implementacija R-abesplatna za studente i predavace na fakultetimau potpunosti kompatibilan s besplatnom verzijom, ali poboljsanu mnogim stvarimasadrzi dobar editor, debugger, a uskoro bi trebao imati i grafickosuceljeiskoristava vise jezgri procesoraposebna podrska za velike baze, specijalni brzi algoritminpr. jednostavna linearna regresija na bazi s 123 milijuna redakaza 40-ak sekundi na prosjecnom racunalunpr. logisticka regresija na 6 varijabli i 10 milijuna redaka(250MB) - oko 1 minutu

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 17: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

OpcenitoSucelja

Slika: Revolution RDanijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 18: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

Neke naredbe u R-u

> 2+2[ 1 ] 4

> exp ( 1 )[ 1 ] 2 .718282

# p o z i v a n j e h e l p ah e l p ( ” i f ” )? ” i f ”?? h i s t o g r a mexample ( h i s t )

pretrazivanje funkcija, helpa, vinjeta (opisi paketa), mail arhivahttp://search.r-project.org/kako pronaci potrebni paket?http://cran.r-project.org/web/views/popis paketa po podrucjima, npr. Finance-Risk management

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 19: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

# z a d a v a n j e v e k t o r a> a <− c ( 2 , 3 , 4 , 5 )> ( a <− c ( 2 , 3 , 4 , 5 ) )

[ 1 ] 2 3 4 5> c ( a , a )

[ 1 ] 2 3 4 5 2 3 4 5> a∗a

[ 1 ] 4 9 16 25> a ˆ3

[ 1 ] 8 27 64 125> 3 :10

[ 1 ] 3 4 5 6 7 8 9 10> ( x <− seq ( from =1 , t o =12 , by = 2 ) )

[ 1 ] 1 3 5 7 9 11> ( x <− seq ( 1 , 1 2 , 2 ) )

[ 1 ] 1 3 5 7 9 11> seq ( 1 , 1 0 , l e n g t h =7)

[ 1 ] 1 . 0 2 . 5 4 . 0 5 . 5 7 . 0 8 . 5 1 0 . 0

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 20: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

> r e p ( 1 : 4 , 2 ) ; r e p ( 1 : 4 , 1 : 4 ) ; r e p ( 1 : 4 , each =3)[ 1 ] 1 2 3 4 1 2 3 4[ 1 ] 1 2 2 3 3 3 4 4 4 4[ 1 ] 1 1 1 2 2 2 3 3 3 4 4 4

# i n d e k s i r a n j e v e k t o r a> x <− 1 :20> x [ 3 : 1 5 ]

[ 1 ] 3 4 5 6 7 8 9 10 11 12 13 14 15> x [ 1 : 1 0 ] [ −5 ]

[ 1 ] 1 2 3 4 6 7 8 9 10> x [ x<=5]

[ 1 ] 1 2 3 4 5

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 21: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

# z a d a v a n j e m a t r i c a> r b i n d ( 1 : 4 , 1 : 4 )

[ , 1 ] [ , 2 ] [ , 3 ] [ , 4 ][ 1 , ] 1 2 3 4[ 2 , ] 1 2 3 4> c b i n d ( 1 : 4 , 1 : 4 )

[ , 1 ] [ , 2 ][ 1 , ] 1 1[ 2 , ] 2 2[ 3 , ] 3 3[ 4 , ] 4 4> t ( c b i n d ( 1 : 4 , 1 : 4 ) )

[ , 1 ] [ , 2 ] [ , 3 ] [ , 4 ][ 1 , ] 1 2 3 4[ 2 , ] 1 2 3 4

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 22: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

> m a t r i x ( 1 , 2 , 3 )[ , 1 ] [ , 2 ] [ , 3 ]

[ 1 , ] 1 1 1[ 2 , ] 1 1 1> m a t r i x ( 1 : 6 , nrow =2)

[ , 1 ] [ , 2 ] [ , 3 ][ 1 , ] 1 3 5[ 2 , ] 2 4 6> d i a g ( 1 , 2 )

[ , 1 ] [ , 2 ][ 1 , ] 1 0[ 2 , ] 0 1> d i a g ( c ( 4 , 5 ) )

[ , 1 ] [ , 2 ][ 1 , ] 4 0[ 2 , ] 0 5

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 23: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

# i n d e k s i r a n j e e l e m e n a t a m a t r i c e> ( a <− m a t r i x ( 1 : 1 2 , nrow =3 , byrow=TRUE ) )

[ , 1 ] [ , 2 ] [ , 3 ] [ , 4 ][ 1 , ] 1 2 3 4[ 2 , ] 5 6 7 8[ 3 , ] 9 10 11 12> a [ 2 , 3 ][ 1 ] 7> a [ 2 , ][ 1 ] 5 6 7 8> a [2 :3 , −1]

[ , 1 ] [ , 2 ] [ , 3 ][ 1 , ] 6 7 8[ 2 , ] 10 11 12

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 24: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

osim uobicajenih objekata vektora, matrica i polja postoje jos i:

data.frame slican matrici, ali stupci mogu biti razlicitih tipova

> L i g n j e <− r e a d . t a b l e ( f i l e =” l i g n j e . t x t ” ,+ h e a d e r =TRUE, dec=” , ” )> L i g n j e

Uzorak Godina Mjesec Mjes to Spol GSI1 1 1 1 1 2 10 .44322 2 1 1 3 2 9 .83313 3 1 1 1 2 9 .73564 4 1 1 1 2 9 .31075 5 1 1 1 2 8 .9926. . . . . . .. . . . . . .> L i g n j e $GSI [ 1 ][ 1 ] 10 .4432

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 25: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

ts objekt za vremeske nizove

> j j <− r e a d . t a b l e ( ” j j . d a t ” )> j j <− t s ( j j , s t a r t =1960 , f r e q u e n c y =4)> j j

Qt r1 Qtr2 Qtr3 Qtr41960 0 .710000 0 .630000 0 .850000 0 .4400001961 0 .610000 0 .690000 0 .920000 0 .5500001962 0 .720000 0 .770000 0 .920000 0 .6000001963 0 .830000 0 .800000 1 .000000 0 .770000. . . . .. . . . .

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 26: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

list niz objekata bilo kojeg tipa, vecina procedura daje kaorezultat listu iz koje se uzimaju rezultati

> l i s t a <− l i s t ( x=c ( 1 , 2 , 3 ) , y=c ( 5 , 6 ) , z= l i s t ( a =2 , b = 9 ) )> l i s t a $ z $b[ 1 ] 9

> p l a c e <− r e a d . t a b l e ( ” p r o f s a l a r y . t x t ” , h e a d e r =TRUE)> model1 <− lm ( p l a c e $ S a l a r y ˜ p l a c e $ E x p e r i e n c e )> model1 $ c o e f f i c i e n t s

( I n t e r c e p t ) p l a c e $ E x p e r i e n c e48 .5059329 0 .8834452

> model1 $ r e s i d u a l s [ 1 ]1

−0.4755071

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 27: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Manipuliranje podacima i osnovni objektiKontrola toka i petlje

R sadrzi i standardne naredbe za kontrolu toka i petlje

u vecini slucaja moze se izbjeci koristenje petlji zahvaljujucivektoriziranosti

> x <− 5> i f ( x<=6) p r i n t ( ” man j i ” ) e l s e p r i n t ( ” v e c i ” )[ 1 ] ” man j i ”> x <− 0> f o r ( i i n 1 : 1 0 ) { x <− x+ i }> x[ 1 ] 55> z b r o j <− f u n c t i o n ( a , b ) {+ r e t u r n ( a+b ) }> z b r o j ( 2 , 3 )[ 1 ] 5

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 28: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Matricne operacijeNumericka preciznostOptimizacija

Usporedba brzine matricnih operacija

Mnozenje matrican R Matlab Mathematica

500 0,150 0,036 0,0341000 1,590 0,168 0,2132000 12,790 1,080 1,661

Rjesavanje sustavan R Matlab Mathematica

500 0,070 0,021 0,0221000 0,450 0,107 0,1962000 3,440 0,624 0,717

Invertiranje matricen R Matlab Mathematica

500 0,190 0,045 0,1381000 2,060 0,222 0,2862000 14,410 1,503 2,048

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 29: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Matricne operacijeNumericka preciznostOptimizacija

R + ATLAS - Automatically Tuned Linear Algebra Software (optimizirani BLASza C2D procesore)

Mnozenje matrican R R + ATLAS Matlab Mathematica

500 0,150 0,050 0,036 0,0341000 1,590 0,240 0,168 0,2132000 12,790 1,950 1,080 1,661

Rjesavanje sustavan R R + ATLAS Matlab Mathematica

500 0,070 0,030 0,021 0,0221000 0,450 0,140 0,107 0,1962000 3,440 1,090 0,624 0,717

Invertiranje matricen R R + ATLAS Matlab Mathematica

500 0,190 0,030 0,045 0,1381000 2,060 0,260 0,222 0,2862000 14,410 1,920 1,503 2,048

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 30: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Matricne operacijeNumericka preciznostOptimizacija

Mnozenje matrican R R + ATLAS Revolution R Matlab Mathematica

500 0,150 0,050 0,020 0,036 0,0341000 1,590 0,240 0,160 0,168 0,2132000 12,790 1,950 1,060 1,080 1,661

Rjesavanje sustavan R R + ATLAS Revolution R Matlab Mathematica

500 0,070 0,030 0,020 0,021 0,0221000 0,450 0,140 0,070 0,107 0,1962000 3,440 1,090 0,500 0,624 0,717

Invertiranje matricen R R + ATLAS Revolution R Matlab Mathematica

500 0,190 0,030 0,030 0,045 0,1381000 2,060 0,260 0,210 0,222 0,2862000 14,410 1,920 1,030 1,503 2,048

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 31: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Matricne operacijeNumericka preciznostOptimizacija

Numericka preciznost

uobicajeno odredena strojnom preciznoscu

svi numericki podaci su dvostruke preciznosti (double)

R ima pakete za proizvoljnu preciznost cijelih, racionalnih irealnih brojeva (gmp, Rmpfr)

> pow . b i g z ( 2 , 5 0 0 )[ 1 ] ” 3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376 ”

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 32: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Matricne operacijeNumericka preciznostOptimizacija

> as . b igq ( 2 3 4 . 1 3 1 5 4 6 4 8 9 7 )[ 1 ] ” 8237771449427273 / 35184372088832 ”

> 1 + . Machine $ dou b l e . eps / 2 == 1[ 1 ] TRUE

> ( x <− mpfr ( . Machine $ d ou b l e . eps , 1 0 0 ) )1 ’ mpfr ’ number o f p r e c i s i o n 100 b i t s

[ 1 ] 2 .2204460492503130808472633361816 e−16> 1 + x / 2 == 1

[ 1 ] FALSE

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 33: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Matricne operacijeNumericka preciznostOptimizacija

Optimizacija u R-u

Osnovne funkcije

optimize() jednodimenzionalna minimizacija proizvoljne funkcije uzadanom intervalu (zasniva se na kombinaciji metodezlatnog reza i metode parabole - Brent)

nlm() minimizacija algoritmima Newtonovog tipa (mogu sezadati i gradijent i Hessijan, u suprotnom numerickoderiviranje)

optim() opcenito visedimenzionalna minimizacija, metode:Nelder-Mead algoritammetoda konjugiranog gradijenta (CG)Broyden-Fletcher-Goldfarb-Shanno metoda (BFGS)Limited-memory BFGS (L-BFGS-B)Simulated annealing (SANN)

constrOptim() minimizacija uz linearne uvjete

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 34: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Matricne operacijeNumericka preciznostOptimizacija

postoji jos velik broj funkcija u preko 20 paketa

procedure za sve vrste matematickog programiranja (linearno,nelinearno, cjelobrojno, stohasticko...)

funkcija optimx() objedinjuje desetak razlicitihoptimizacijskih algoritama

moze se istovremeno isprobati vise metoda i usporediti rezultate

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 35: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Matricne operacijeNumericka preciznostOptimizacija

> fun <− f u n c t i o n ( x ) {+ 100 ∗ ( x [ 2 ] − x [ 1 ] ∗ x [ 1 ] ) ˆ 2 + (1 − x [ 1 ] ) ˆ 2 }> opt imx ( c ( −1 . 2 , 1 ) , fun , method =+ c ( ” Nelder−Mead” , ’BFGS ’ , ’CG’ , ’L−BFGS−B ’ ,+ ’ nlm ’ , ’ n lminb ’ , ’ spg ’ , ’ ucminf ’ ) )

p a r f v a l u e s method f n s g r s conv3 −0.7648079 , 0 .5927148 3 .106475 CG 402 101 18 0 .9996971 , 0 .9993937 9 .179990 e−08 ucminf 37 37 01 1 .0002600 , 1 .0005060 8 .825241 e−08 Nelder−Mead 195 NA 04 0 .9998000 , 0 .9996001 3 .998487 e−08 L−BFGS−B 49 49 02 0 .9998044 , 0 .9996084 3 .827383 e−08 BFGS 122 38 07 0 .9999691 , 0 .9999382 9 .527976 e−10 spg 127 NA 05 0 .9999980 , 0 .9999960 3 .973766 e−12 nlm NA NA 06 1 , 1 1 .125615 e−19 nlminb 43 74 0

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 36: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

Grafika u R-u

sva grafika u R-u temelji se na dva graficka sustava: graphics(osnovni) i grid

osnovni graficki sustav sadrzan je u paketu graphics ipredstavlja standardni paket

iz tih sustava izvedeni su i brojni paketisve funkcije iz grafickih sustava mogu se podijeliti na:

high-level funkcije koje daju kompletan graflow-level funkcije koje dodaju objekte na postojeci graffunkcije za interaktivan rad s grafom

dobivene slike lako se spremaju u uobicajene formate: PDF, PS,PNG, JPEG...

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 37: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

Osnovne graficke funkcije

osnovna funkcije je plot()

genericka funkcija - moze primati razlicite objekte kao argument

> p r e s s u r et e m p e r a t u r e p r e s s u r e

1 0 0 .00022 20 0 .00123 40 0 .0060. . .. . .> p l o t ( p r e s s u r e )> p l o t ( p r e s s u r e $ t e m p e r a t u r e , p r e s s u r e $ p r e s s u r e )> p l o t ( p r e s s u r e ˜ t e m p e r a t u r e , d a t a = p r e s s u r e )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 38: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

● ● ● ● ● ● ● ● ● ● ●●

0 50 100 150 200 250 300 350

020

040

060

080

0

temperature

pres

sure

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 39: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

> p l a c e <− r e a d . t a b l e ( ” p r o f s a l a r y . t x t ” , h e a d e r =TRUE)> model1 <− lm ( p l a c e $ S a l a r y ˜ p l a c e $ E x p e r i e n c e )> pdf ( ” s l 1 . pdf ” , wid th =7 , h e i g h t =5)> p a r ( mfrow=c ( 2 , 2 ) )> p l o t ( model1 )> dev . o f f ( )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 40: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

50 55 60 65 70 75 80

−15

−55

Fitted values

Res

idua

ls

●●●● ●

●●●

●●

● ●●●

●● ●

●●

●●●

●●

●●

●●

●● ●●

●●

●●

●●

● ● ●

●●

● ●

● ●●

●●

●●●

● ●●

●●

●●

●●

●●

●●

●●

●●

● ● ●

Residuals vs Fitted

41722

●●●●●

●●●

●●

●●●●

●●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

−2 −1 0 1 2

−20

12

Theoretical Quantiles

Stan

dard

ized

resi

dual

s Normal Q−Q

41722

50 55 60 65 70 75 80

0.0

1.0

Fitted values

Stan

dard

ized

resi

dual

s

●●●● ●

●●●

●●

● ●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●● ●

●●

●●

●●

●●

●●

●●

● ●●

● ●●●

● ●

● ●

●●

●●

● ● ●●

Scale−Location41

722

0.000 0.010 0.020 0.030

−3−1

1

Leverage

Stan

dard

ized

resi

dual

s●

●●● ●●

●●●

●●

● ● ●●

●●●

●●

●●●

●●

●●

●●

●● ●●

●●

●●

●●

● ● ●

●●

●●

● ●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

Cook's distance

Residuals vs Leverage

412261

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 41: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

> p l o t ( p r e s s u r e $ t e m p e r a t u r e , p r e s s u r e $ p r e s s u r e ,+ t y p e =” l ” , lwd = 1 . 2 , l t y =” dashed ” , c o l =” r e d ” ,+ main=” G la vn i n a s l o v ” , sub=” Podnas lov ” ,+ x l a b =” t e m p e r a t u r a ” , y l a b =” t l a k ” , asp = 0 . 2 )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 42: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

0 50 100 150 200 250 300 350

020

040

060

080

0

Glavni naslov

Podnaslovtemperatura

tlak

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 43: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

> p l o t ( p r e s s u r e $ t e m p e r a t u r e , p r e s s u r e $ p r e s s u r e ,+ t y p e =” l ” , lwd = 1 . 2 , l t y =” dashed ” , c o l =” r e d ” ,+ main=” G la vn i n a s l o v ” , sub=” Podnas lov ” ,+ x l a b =” t e m p e r a t u r a ” , y l a b =” t l a k ” , asp = 0 . 2 )

> p o i n t s ( p r e s s u r e $ t e m p e r a t u r e , p r e s s u r e $ p r e s s u r e ,+ pch =21 , c o l =” g r e e n ” , lwd =2 , bg=” b l u e ” , cex = 1 . 5 )

> a b l i n e ( lm ( p r e s s u r e $ p r e s s u r e ˜ p r e s s u r e $ t e m p e r a t u r e ) ,+ l t y =” d o t d a s h ” , c o l =” g rey ” )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 44: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

0 50 100 150 200 250 300 350

020

040

060

080

0

Glavni naslov

Podnaslovtemperatura

tlak

● ● ● ● ● ● ● ● ● ● ● ● ●●

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 45: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

x <− seq (−3 ,3 , l e n g t h =100)p l o t ( x , x ˆ 2 , t y p e =” l ” , x a x t =” n ” , y a x t =” n ” ,+ b t y =” n ” , l t y =” dashed ” , c o l =” p u r p l e ” ,+ lwd =2 , y l im =c ( 0 , 3 ) , y l a b =” ” )l i n e s ( x , abs ( x ) , t y p e =” l ” , x a x t =” n ” , y a x t =” n ” ,+ b t y =” n ” , l t y =” d o t t e d ” , c o l =” r e d ” , lwd =2)a x i s ( 1 , pos=c ( 0 , 0 ) )a x i s ( 2 , pos=c ( 0 , 0 ) , l a s =2)a r r ow s (−2.5 , 1 , −2, 2 , lwd =2 , l e n g t h = 0 . 1 )t e x t (−2.5 , 0 . 8 ,+ l a b e l s = e x p r e s s i o n ( f [ 1 ] ( x ) == group ( ” | ” , x , ” | ” ) ) )a r r ow s ( 2 , 1 , 1 . 5 , 1 . 5 ˆ 2 , lwd =2 , l e n g t h = 0 . 1 )t e x t ( 2 , 0 . 8 , l a b e l s = e x p r e s s i o n ( f [ 2 ] ( x ) == x ˆ 2 ) )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 46: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

x

−3 −2 −1 0 1 2 3

0.0

0.5

1.0

1.5

2.0

2.5

3.0

f1(x) = |x| f2(x) = x2

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 47: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

x <− seq (−3 ,3 , l e n g t h =100)p l o t ( x , x ˆ 2 , t y p e =” l ” , x a x t =” n ” , y a x t =” n ” ,+ b t y =” n ” , l t y =” dashed ” , c o l =” p u r p l e ” ,+ lwd =2 , y l im =c ( 0 , 3 ) , y l a b =” ” )l i n e s ( x , abs ( x ) , t y p e =” l ” , x a x t =” n ” , y a x t =” n ” ,+ b t y =” n ” , l t y =” d o t t e d ” , c o l =” r e d ” , lwd =2)a x i s ( 1 , pos=c ( 0 , 0 ) )a x i s ( 2 , pos=c ( 0 , 0 ) , l a s =2)l e g e n d ( ” l e f t ” ,+ c ( e x p r e s s i o n ( f [ 1 ] ( x )== group ( ” | ” , x , ” | ” ) ) ,+ e x p r e s s i o n ( f [ 2 ] ( x )== x ˆ 2 ) ) , cex = 0 . 8 ,+ c o l =c ( ” r e d ” , ” p u r p l e ” ) , l t y =c ( ” d o t t e d ” , ” dashed ” ) )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 48: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

x

−3 −2 −1 0 1 2 3

0.0

0.5

1.0

1.5

2.0

2.5

3.0

f1(x) = |x|f2(x) = x2

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 49: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

p a r ( mar=c ( 5 , 6 , 2 , 6 ) )p l o t ( l ake , ann=FALSE , l a s =2 , c o l =” o ra ng e ” , lwd=” 2 ” )mtex t ( ” Nivo j e z e r a Huron ” , s i d e =2 , l i n e = 3 . 5 ,+ cex = 1 . 2 , c o l =” o r an g e ” )p a r ( new=TRUE)p l o t ( temp , ann=FALSE , axes =FALSE , c o l =” b l u e ” , lwd =2)mtex t ( ” Tempera tu r a ( F ) ” , s i d e =4 , l i n e =3 ,+ cex = 1 . 2 , c o l =” b l u e ” )a x i s ( 4 )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 50: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

1910

1920

1930

1940

1950

1960

1970

577

578

579

580

581

582

Niv

o je

zera

Hur

on

Tem

pera

tura

(F)

4849

5051

5253

54

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 51: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

Osnovna 3D grafika

z <− 2 ∗ v o l c a n ox <− 10 ∗ ( 1 : nrow ( z ) )y <− 10 ∗ ( 1 : n c o l ( z ) )p a r ( mar= r e p ( 1 , 4 ) )p e r s p ( x , y , z , t h e t a =135 , p h i =30 ,+ r = 0 . 2 , c o l =” l i g h t b l u e ” , s c a l e =FALSE ,+ l t h e t a =−120 , l p h i =30 , shade = 0 . 7 5 )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 52: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

x

y

z

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 53: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

c o n t o u r ( x , y , z , a sp =1 , l a b c e x = 0 . 7 ,+ n l e v e l s =20 , main=” Contour p l o t ” )image ( x , y , z , a sp =1 , c o l = t e r r a i n . c o l o r s ( 1 0 0 ) ,+ x l a b =” ” , y l a b =” ” , axes =FALSE , main=” Image ” )

Contour plot

190

200

200

200

210

210

220

220

220

220

230

230 230

240 250

260 270

280 290 300

310

310

320

320

330

330

340

350

360

370

380

Image

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 54: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

lattice paket

nestandardni paket

temelji se na grid grafickom sustavuima neke prednosti u odnosu na standardne funkcije izgraphics paketa

default postavke daju odlicne grafove bez puno trudalakse je prikazati vise serija podataka na jednom grafujednostavni prikazi visedimenzionalnih podataka (panela)sadrzi i neke dodatne funkcije u odnosu na standardne

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 55: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

ekvivalent funkcije plot() je funkcija xyplot()

kao glavni parametar uzima R formulu modela koja opisujepodatke koji se crtaju

# P r i m j e r s p e c i f i k a c i j e modela :y ˜ x # y u o v i s n o s t i o xy ˜ x1 + x2 # y u o v i s n o s t i o x1 i x2y ˜ x1 ∗ x2 # y u o v i s n o s t i o x1 i x2 i

# n j i h o v o j k o m b i n a c i j iy ˜ x | z # y u o v i s n o s t i o x u v j e t n o na z

x y p l o t ( l a t ˜ long , d a t a =quakes ,+ main=” L o k a c i j e p o t r e s a ” )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 56: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

Lokacije potresa

long

lat

−35

−30

−25

−20

−15

−10

165 170 175 180 185

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

● ●

●●

●●

●●

●●●

●●

●●

●●

● ●

●●

●●

● ●

●●

●●

●●

● ●

●●

●●●●● ●●●●●●

●●

●●

●●●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

● ●

●●●●●

●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

● ●

●●●

●●

● ●

●●

●●

●●●

●●

●●

●●

●●

●●●

●●

●●

●●

●● ● ●●

●●

●●

●● ●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●

●●

● ●

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 57: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

d e p t h g r o u p <− e q u a l . c o u n t ( quakes $ depth ,+ number =3 , o v e r l a p =0)x y p l o t ( l a t ˜ l ong | dep thg roup , d a t a =quakes ,+ main=” L o k a c i j e p o t r e s a s obzi rom na dub inu ” )

Lokacije potresa s obzirom na dubinu

long

lat

−35

−30

−25

−20

−15

−10

165 170 175 180 185

● ●●●

●●●

●●

● ●

●●

●●

● ●

●●

●●

●●

●●●●● ●●●●●●

●●

●●●

●●

●●

●●

●●●

●●●

●●●●●●●

●●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●● ●

●●●●

●●

●●

●●

●●●●

●●

●●

●●

●●

depthgroup

165 170 175 180 185

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

● ●● ●●

●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●●

●●●

● ●

depthgroup

165 170 175 180 185

●●

●●

●●

●●

●●

●●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

●●●

●●

●●

●●●

●●●

●●

●●●

● ●

●●

● ●●

●●

●●●

●●

●●●●

●●●

●●

●●

●●

●●

●●

●●● ●

●●

●●

●●

●●●●●

●● ●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

depthgroup

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 58: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

d e p t h g r o u p <− e q u a l . c o u n t ( quakes $ depth ,+ number =3 , o v e r l a p =0)magn i tude <− e q u a l . c o u n t ( quakes $mag ,+ number =2 , o v e r l a p =0)

x y p l o t ( l a t ˜ l ong | d e p t h g r o u p ∗ magni tude ,+ d a t a =quakes , main=” P o t r e s i po d u b i n i i m a g n i t u d i ” ,+ y l a b =” l a t i t u d e ” , x l a b =” l o n g i t u d e ” , pch =16 ,+ s c a l e s = l i s t ( x= l i s t ( a l t e r n a t i n g =c ( 1 , 1 , 1 ) ) ) ,+ between = l i s t ( y =1 ) , p a r . s t r i p . t e x t = l i s t ( cex = 0 . 7 ) ,+ p a r . s e t t i n g s = l i s t ( a x i s . t e x t = l i s t ( cex = 0 . 7 ) ) )

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 59: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

Potresi po dubini i magnitudi

longitude

latit

ude

−35

−30

−25

−20

−15

−10

165 170 175 180 185

●●●

●●

●●●

● ●●●

●●●

●●

●●

●●

●●●●●●●●●●●●●●

●●

●●

●●

●●●

●●●●

●●

●●●●●●●

●●

●●

●●

●●

● ●●

●●

●●

●●

●●●●●●

●●

●●

●●●

depthgroupmagnitude

165 170 175 180 185

●●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

●●●

●●●

●●

●●●

●●

● ●●

●●●

●●●

●●

●●

●●

●●

● ●

depthgroupmagnitude

165 170 175 180 185

●●

●●

●●●

●●

●●

●●

●●

●●

● ●●

●●

●● ●●●●●

●●

●●

●●●

●●●

●●

●●

●●

●●●●

●●●●●

●●●

●●

●●●

●●

●●

●●●

●●

●●●●●●●●

●●

●●●

●●●●●●●●●●

●●

●●●

●●

●●●

●●●●●

●●●● ●●

●●

●●●●

●●

●●●

●●●

●●

●●

●●

●●

●●●

●●●

●● ●●

●●

●●

depthgroupmagnitude

●●

●●

●●

●●●

● ●

●●

●●●

● ●

●●

●●

●●

●●●●

●●

●●

●●●

●●●

●● ●

●●●

●●

●●

●●

●●

●●●

●●●●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●●

●●

●●●●●●

●●

depthgroupmagnitude

●●

●● ●

●●

●●

●●

●●

●●

●●

●●

● ●●

●●

●●

●●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

depthgroupmagnitude

−35

−30

−25

−20

−15

−10

●●●

●●

●●●

●●

●●●

●●●

●●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●●

●●●

●●

●●●

●●●●●●

●●●

●●

● ●●

●●

●●

●●

●●

●●

●●

●●● ●

●●●

●●

●●●●

●●

●●

●●

●●

●●●

●●

depthgroupmagnitude

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 60: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

3D grafika u lattice paketu

c l o u d ( S e p a l . Length ˜ P e t a l . Length ∗ P e t a l . Width ,+ d a t a = i r i s , g ro up s = S p e c i e s , s c r e e n = l i s t ( z =20 , x=−60) ,+ a u t o . key=TRUE)

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●

●●

●●

●●

Petal.Length

Petal.Width

Sepal.Length

setosaversicolorvirginica

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 61: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

x <− seq (−pi , p i , l e n = 20)y <− seq (−pi , p i , l e n = 20)g <− expand . g r i d ( x = x , y = y )g$ z <− s i n ( s q r t ( g$x ˆ2 + g$y ˆ 2 ) )w i r e f r a m e ( z ˜ x ∗ y , d a t a =g , main=+ e x p r e s s i o n ( z== s i n ˜ bgroup ( ” ( ” , s q r t ( x ˆ2 + y ˆ 2 ) , ” ) ” ) ) ,+ d r a p e =TRUE, p a n e l . a s p e c t = 0 . 8 , a s p e c t =c ( 3 , 1 ) ,+ c o l . r e g i o n s = h e a t . c o l o r s ( 1 0 0 ) , c o l o r k e y =TRUE)

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 62: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

z = sin x2 + y2

x

y

z

−1.0

−0.5

0.0

0.5

1.0

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 63: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

Ostali graficki paketi

graficki sustav grid dobije se ucitavanjem istoimenog paketa

sadrzi samo low-level funkcije i zapravo sluzi izgradnjislozenijih paketa

ggplot2 je jos jedan paket vrlo slican lattice paketu

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 64: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

Interaktivna i dinamicka grafika

postoji nekoliko paketa kojima se ostvaruje dinamika ugrafickom prikazu

playwith() omogucuje dodavanje elemenata na graf, identificiranjetocaka, mijenjanje boja itd.

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 65: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

rotate.wireframe() rotiranje 3D grafova

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 66: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

Osnovna grafika - graphicslattice paketInteraktivna i dinamicka grafika

rotiranje 3D grafova moze se dobiti i s rgl i Rcmdr paketima

naprednu interaktivnu grafiku daje paket rggobi koji povezujeR s programom GGobi

GGobi je besplatni program za vizualizaciju visedimenzionalnihpodataka

vise o tome uD. COOK, D. SWAYNE: Interactive and Dynamic Graphics forData Analysis: With Examples Using R and GGobi

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 67: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes

Zasto R? (1)

R koristi vecina akademske zajednice (statisticara), sve novemetode i otkrica implementiraju se prvo u R

po mnogima, R ima najbolju grafiku

R ima odlicno dokumentiran help

ne postoji tehnicka podrska kao kod komercijalnih programa aliogromna zajednica korisnika i mail arhiva su mozda i bolji

veliki broj knjiga iz specificnih podrucja koje se temelje na R-u

R se moze koristiti na svim platformama

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 68: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes

Zasto R? (2)

R se moze koristiti kao proceduralni jezik, a podrzava i objektnoorijentirano programiranje

R se moze povezati s drugim programskim jezicima (npr. C,Fortran)

podrska za visenitno programiranje

za automatizirane radnje moze se koristiti graficko sucelje

2725 paketa za razne namjene, lako se instaliraju i uglavnomimaju jednako dobar help

R je besplatan

R i svaki paket je open-source, svatko moze vidjeti kod i doraditiga

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 69: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes

Uobicajene zablude

R je tesko naucitinista teze od drugih programskih jezika, R je lako nauciti alitesko ovladati njime

R nije user-friendlypostojeci graficka sucelja su jednostavna i pristupacna, a help jedobro napisan i sadrzi primjere

moze li software koji razvijaju volonteri biti dobar i tocan kaokomercijalni?

uvijek ce biti gresaka, ali greske se uglavnom brzo primijete iisprave zbog velike zajednice korisnikapakete razvijaju vodeci strucnjaci u svojim podrucjima

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 70: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes

Stvarni nedostaci

svi objekti nad kojima se radi moraju biti ucitani u memoriju, stomoze biti problem kod ogromnih skupova podataka

ipak, R se moze povezati s bazom podataka tako da se podaciucitavaju po potrebi, ali to moze biti komplicirano ostvariti

ne postoji dokumentacija koja bi pokrila bas sve o R-u -neizvedivo

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 71: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes

Literatura o R-u

Use R - Springerova serija od 26 knjiga iz raznih podrucja kojakoriste R (podrucja iz statistike, ali i ekonometrija,epidemiologija, psihometrija...)

po broju knjiga R je vec pretekao vecinu statistickih paketa

popis 114 knjiga vezanih za Rhttp://www.r-project.org/doc/bib/R-publications.html

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 72: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes

Neke knjige po podrucjima�� ��Osnove R-aA.F. ZUUR, E.N. IENO, E. MEESTERS: A Beginner’s Guide toRR. KABACOFF: R in ActionW.N. VENABLES, D.M. SMITH AND THE R DEVELOPMENT

CORE TEAM: An Introduction to RM.J. CRAWLEY: The R Book�� ��Osnove statistike uz RP. DALGAARD: Introductory Statistics with RW.N. VENABLES, B.D. RIPLEY: Modern Applied Statisticswith SM.J. CRAWLEY: Statistics: An Introduction using RJ. MAINDONALD, J. BRAUN: Data Analysis and GraphicsUsing R

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 73: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes

�� ��Regresija u R-uS. SHEATHER: A Modern Approach to Regression with R

J.J. FARAWAY: Linear Models with R

S. HUET, A. BOUVIER, M.A. GRUET, E. JOLIVET: StatisticalTools for Nonlinear Regression

C. RITZ, J.C. STREIBIG: Nonlinear Regression with R�� ��GrafikaP. MURRELL: R Graphics

J. MAINDONALD, J. BRAUN: Data Analysis and GraphicsUsing R

D. SARKAR: Lattice: Multivariate Data Visualization with R

H. WICKHAM: ggplot2: Elegant Graphics for Data Analysis

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 74: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes�� ��Klasteri u R-u

B.S. EVERITT, I.HOTHORN: A Handbook of Statistical Analyses UsingR, poglavlje 18.B. EVERITT: An R and S-Plus Companion to Multivariate Analysis,poglavlje 6.K.S. POLLARD, M.J. VAN DER LAAN: Bioinformatics andComputational Biology Solutions Using R and Bioconductor, poglavlje13.K. VARMUZA, P. FILZMOSER: Introduction to Multivariate StatisticalAnalysis in Chemometrics, poglavlje 6.W.N. VENABLES, B.D. RIPLEY: Modern Applied Statistics with S,poglavlje 11.2.D. COOK, D. F. SWAYNE: Interactive and Dynamic Graphics for DataAnalysis, poglavlje 5sve procedure iz L. KAUFMAN, P.J. ROUSSEEUW: Finding Groups inData An Introduction to Cluster Analysis implementirane u R paketucluster

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti

Page 75: R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje) za statistiku, analizu podataka iˇ grafiku R je dijalekt programskog jezika S (S-PLUS)

UvodOsnove R-a

Neke mogucnosti R-aGrafika

Zakljucak

R: za i protivLiteraturafortunes

Paket fortunes

Mudre izreke o R-u

R is the lingua franca of statistical research. Work in all otherlanguages should be discouraged. - Jan de Leeuw

This is R. There is no if. Only how. - Simon Blomberg

Overall, SAS is about 11 years behind R and S-Plus in statisticalcapabilities (last year it was about 10 years behind) in my estimation.

- Frank Harrell

Danijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti