R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje)...
Transcript of R programski jezik - osnovne informacije i pregled mogucnosti · R - programski jezik (okruzenje)...
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
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
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
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
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
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
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
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
UvodOsnove R-a
Neke mogucnosti R-aGrafika
Zakljucak
OpcenitoSucelja
Slika: Osnovno suceljeDanijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti
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
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
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
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
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
UvodOsnove R-a
Neke mogucnosti R-aGrafika
Zakljucak
OpcenitoSucelja
Slika: RExcelDanijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti
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
UvodOsnove R-a
Neke mogucnosti R-aGrafika
Zakljucak
OpcenitoSucelja
Slika: Revolution RDanijel Grahovac R programski jezik - osnovne informacije i pregled mogucnosti
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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