1 / 20

Uvod u R

Uvod u R. Kurs: vremenske serije i primene u finansijama. Instalacija programa. http://cran.r-project.org/ - Download R for Windows Instalacija paketa - Packages -odabrati željeni paket, sačuvati ga

avidan
Download Presentation

Uvod u R

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uvod u R Kurs: vremenske serije i primene u finansijama

  2. Instalacija programa • http://cran.r-project.org/ -Download R for Windows • Instalacija paketa -Packages -odabrati željeni paket, sačuvati ga -u Main menu-ju programa kliknuti na Packages->Install Package(s) from local zip files -aktivacija paketa: Packages->Load Package • Istalacija paketa, direktno iz programa (korisnik mora biti konektovan na internet) -Packages->Install Package… -

  3. Osnovni objekti i operacije sa njima -više o njima na starnici http://cran.r-project.org/doc/manuals/R-intro.pdf

  4. Vektori numeričkog tipa • niz1<-c(1,2,3,4,5,6) ili niz1=c(1,2,3,4,5,6) • niz1<-1:6 • niz1=seq(from=1,to=6, by=1) • niz=seq(from=1,to=5,length=100) elementi vektora ne mora da budu celobrojnog tipa • Indeksiranje: prvi član je numerisan jedinicom niz1[3] [1] 3 -više članova istovremeno niz1[c(2,3,4)]indeksni niz [1] 2 3 4 može i ovako: niz1[(niz1>=2)&(niz1<5)] [1] 2 3 4 Objašnjenje: niz1>=2 je vektor čiji su elementi logičkog tipa, na i-tom mestu se nalazi TRUE ako je uslov zadovoljen, u suprotnom FALSE

  5. Vektori numeričkog tipa • Mogu se primenjivati operacije na sve članove niza niz2=niz1+0.5 niz2 [1] 1.5 2.5 3.5 4.5 5.5 6.5 niz3=2*niz1+niz2 > niz3 [1] 3.5 6.5 9.5 12.5 15.5 18.5 • Ili samo na neke članove niza niz3[c(1,3,5)]=niz3[c(2,4,6)] niz3 [1] 6.5 6.5 12.5 12.5 18.5 18.5

  6. Vektori numeričkog tipa • Neke od osnovnih funkcija sa vektorima ovog tipa (ne zahteva se instalacija dodatnih paketa): length(niz1) #dužina niza niz1 [1] 6 sum(niz1) # suma elemenata [1] 21 mean(niz1) #aritmetička sredina [1] 3.5 var(niz1) # popravljena uzoračka disperzija [1] 3.5 median(niz1) # mediajana niza niz1 [1] 3.5 max(niz1) # maksimum; min(niz1) #minimum

  7. Vektori čiji su elementi: • Stringovi reci=c("moja","mama") brojevi=c("1","2","3") brojevi [1] "1" "2" "3“ as.integer(brojevi) [1] 1 2 3 • Logičkog tipa

  8. Višedimenzionalni nizovi • z=array(niz1,dim=c(2,3)) [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 z[i,j]-element u preseku i-te vrste I j-te kolone z[i,]- i-ta vrsta z[,j]- j-ta kolona • zz=matrix(niz1,nrow=2,ncol=3) zz [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6

  9. Obeležje • a)numeričko(težina, visina) • b)kategoričko (pol, verska pripadnost, boja očiju...) Faktori Za unos kategoričkih obeležja(categorical variable) u bazu podataka se obično koristi neki numerički kod faktor ima skup nivoa(levels) -nominalna i ordinalna

  10. Obeležje pol=c(1,1,1,2,1,1,1,2,2,2) Pol<-factor(pol,levels=c(1,2)) levels(Pol)=c("muski","zenski") bol<-c(1,4,4,3,2,2,2,2,1,4) Bol<-factor(c(bol),levels=1:4) levels(Bol)<-c("nema","blag","osrednji","jak") summary(Bol) summary() summary(Pol) muski zenski 6 4 summary(Bol) nema blag osrednji jak 2 4 1 3

  11. Liste Koriste se za kombinovanje više objekata(na pr. vektora) u jedan složeni objekat X-predmenstrualni energetski unos,Y-postmenstrualni energetski unos • unos.pre=c(5260,5470,5640,6180,6390,6515,6805,7515,7515,8230,8770) • unos.posle=c(3910,4220,3885,5160,5645,4680,5265,5975,6790,6900,7335) • lista=list(pre=unos.pre,posle=unos.posle) • lista • $pre • [1] 5260 5470 5640 6180 6390 6515 6805 7515 7515 8230 8770 • $posle • [1] 3910 4220 3885 5160 5645 4680 5265 5975 6790 6900 7335

  12. Baze podataka • Lista vektora i/ili faktora iste duzine tako da podaci na istoj poziciji(u istoj vrsti) poticu od iste eksperimentalne jedinice • baza=data.frame(unos.pre,unos.posle) baza unos.pre unos.posle 1 5260 3910 2 5470 4220 3 5640 3885 4 6180 5160 5 6390 5645 6 6515 4680 7 6805 5265 8 7515 5975 9 7515 6790 10 8230 6900 11 8770 7335 Pristup:$notacija baza$unos.pre

  13. Baze podataka • Izdvajanje podbaza baza=subset(baza,unos.pre>6000) • baza[5,] unos.pre unos.posle 8 7515 5975 • baza$unos.pre[baza$unos.posle>5000] [1] 6180 6390 6805 7515 7515 8230 8770 apply(X, MARGIN, FUN, ...)

  14. Funkcije imef<-function(arg1,arg2,…argK) { telo funkcije…. #promenljive koje se definisu u okviru funkcije su lokalne return(izlaz) }

  15. Funkcije Primer: • popust8Mart<-function(cene) • #na artike cene 1000-1999 je popust 10%, a na skuplje artikle 20% • { • cena=cene • n=length(cene) • for(i in 1: length(cene)) • { • if(cene[i]>=2000) cena[i]=0.8*cene[i] • else if (cene[i]>=1000) cena[i]=0.9*cene[i] • else cena[i]=cene[i] • } • return(cena) • }

  16. Čitanje iz fajla • niz=scan("niz.txt",sep="") • N=scan(””,1) niz=scan(””,N) Više informacija o ovoj funkciji mogu se dobiti komandom help(scan)

  17. Grafičko predstavljanje podataka • plot(x, y, ...) help(plot) plot(unos.pre,unos.posle,pch=2) pch-oblik tačkica type: “l”-linija “s”-stepenice “b”-linije I tačke . . . lwd-debljina linije main=“Naslov garfika” … xlab=“promenljiva na x-osi ylab=“promenljiva na y-osi”” xliim=c(a,b) #a,b-koordinate granica

  18. Grafičko predstavljanje podataka hist(x, ...) freq=FALSE = probability=TRUE histogram gustine Default vrednost: TRUE I podrazumeva se ekvidistantan histogram breaks=niz granica Ili =br. Ćelija -1 barplot(height, ...) pie(x,..)

  19. Raspodele • Za svaku raspodelu može se izračunati -vrednost funkcije gustine ili verovatnoće(za diskretene sl.v.) u tački (d) -vrednost funkcije raspodele u tački (p) -kvantili (q) -pseudoslučajni brojevi (r)

  20. Raspodele pexp rpois df pt dgeom • Primeri runif(20)# dobija se vektor 20 pseudoslučajnih brojeva iz uniformne U[0,1] raspodele dbinom(4,size=20, prob=0.2) #verovatnoća da se od 20 nezavisnih eksperimenata (p realizacije je 0.2) realizuju 4 (Binomna raspodela) pnorm(0.3,mean=0,sd=1) #vrednost funkcije raspodele sl. Veličine koja ima N(0,1) raspodelu u tački x=0.3 qchisq(p=0.95,df=4) # vrednost x u kome je vrednost funkcije raspodele 0.95

More Related