# # layout-käsu võimaluste demonstreerimine # # Viimati muudetud - 18. juulil 2005 # Koostanud: Märt Möls # # Millega png-pilte vaadata vaataja="C:\\Program Files\\Mozilla Firefox\\firefox.exe" # Kuhu pildfailid salvestada tee="F:\\kursus\\R\\temp\\komb\\" algus=function(pilt, xs, ys){ assign("teenimi", paste(tee,pilt,sep=""), env=.GlobalEnv) assign("teenimi2", paste('"',vaataja,'" ',tee,pilt,sep=""), env=.GlobalEnv) png(filename = teenimi, width = xs, height = ys, pointsize = 12, bg = "white") } algus("pilt20.png", 300, 300) mat=diag(1:3) layout(mat=mat, widths=rep(1,3), heights=rep(1,3)) par(mar=c(2,2,1,1)) x=rnorm(100); y1=rnorm(100); y2=rnorm(100)+1*x; y3=rnorm(100)+3*x; plot(x,y1, pch=21, col="darkblue", bg=rgb(0,0,runif(100)), cex=1.5) plot(x,y2, pch=21, col="darkblue", bg=rgb(0,0,runif(100)), cex=1.5) plot(x,y3, pch=21, col="darkblue", bg=rgb(0,0,runif(100)), cex=1.5) dev.off() system(teenimi2) algus("pilt21.png", 300, 300) mat=rbind( c(1,2,3), c(4,5,6)) layout(mat=mat, widths=c(1,1,1), heights=c(1,2)) par(mar=c(3,3,1,1)) x1=rnorm(100) x2=rexp(100) x3=runif(100) qqnorm(x1, main="", ylab=""); qqline(x1); qqnorm(x2, main="", ylab=""); qqline(x2); qqnorm(x3, main="", ylab=""); qqline(x3); hist(x1, main="", col=terrain.colors(18), ylab="") hist(x2, main="", col=terrain.colors(18), ylab="") hist(x3, main="", col=terrain.colors(18), ylab="") dev.off() system(teenimi2) algus("pilt22.png", 300, 300) mat=rbind( c(1,1,1), c(1,2,1), c(1,1,1)) layout(mat=mat, widths=c(4,4,1), heights=c(1,3,3)) x=rexp(100) hist(x, col=topo.colors(12), xlab="", ylab="", main="") par(mar=c(3,3,1,1)) plot(ecdf(x), xlab="", ylab="", main="") dev.off() system(teenimi2) algus("pilt23.png", 800, 500) # Ühisjaotuse hindamiseks vajame moodulit KernSmooth library(KernSmooth) # Algandmete genereerimine: n=10000; a=matrix(c(rchisq(n, df=2),rchisq(n, df=2)),n ,2) # Ekraani jaotuse defineerimine: nf <- layout(matrix(c(2,0,1,3),2,2,byrow=TRUE), c(5,1), c(1,3), TRUE) # Ühisjaotuse hindamine ja jooniste tegemine est<-bkde2D(a,bandwidth=c(0.2,0.2),range.x=list(c(-1,6),c(-1,6))) # 1. joonis (ühisjaotus) par(mar=c(5,4,1,1)) contour(est$x1,est$x2,est$fhat,xlim=c(-1,6),ylim=c(-1,6), xlab=expression(x[1]), ylab=expression(x[2])) # 2. joonis (x1 marginaaljaotus) par(mar=c(0,4,1,1)) plot(density(a[,1]), xlim=c(-1,6), main=expression(x[1]), xaxt="n", ylim=c(0,0.5)) # 3. joonis par(mar=c(5,0,1,1)); abi=density(a[,2]) plot(abi$y, abi$x, main="", xlab="Density", ylab=expression(x[2]), type="l", ylim=c(-1,6), xlim=c(0,0.5)) dev.off() system(teenimi2) algus("pilt24.png", 500, 500) tabel=read.csv2("E:/konsult/down/emavanus.csv") tabel2=tabel[2:39, 2:16] DEN=tabel2/t(matrix(rep(colSums(tabel2),38),15,38)) layout(matrix(rbind( c(1,1,1), c(0,2,0), c(0,3,0)),3,3), c(1,3,1),c(3,1,1)) image(1989:2003,13:50,t( as.matrix(DEN)), col=terrain.colors(50), xlab="Aasta", ylab="Sünnitaja vanus", breaks=seq(0,0.085,length=51)) contour(1989:2003,13:50,t( as.matrix(DEN)), add=TRUE, col="brown") par(xpd=NA) lines(c(1992, 1992), c(13,50), lwd=1) text(1992.25, 14, "A", cex=1.5) text(1992.25, 49, "B", cex=1.5) text(2002.3, 14, "A'", cex=1.5) text(2002.3, 49, "B'", cex=1.5) lines(c(2002, 2002), c(13,50), lwd=1) # arrows(1992, 12, 1993.5, 4, length=0.1) # lines(c(2002, 2002), c(13,13-30), lwd=1) # arrows(2002, 13-30, 1999.5, 13-36, length=0.1) par(xpd=FALSE) # par(mfrow=c(2,1)) bar2=function(korgus, varv, piirid, xlim, ylim, a, ...){ for(i in 1:length(korgus)){ for(j in 1:(length(piirid[piirid