RDX2 X   g12.1 source function(device=""){  library(lattice) 4 if(device!="") hardcopy(width=4.25, height=4.25, > device=device, trellis=T, color=T)  library(DAAG); data(possum)  colr <- c("red", "blue")  pchr <- c(3,4,0,8,2,10,1) ( ss <- expand.grid(site=1:7, sex=1:2) 1 ss$sexsite <- paste(ss$sex, ss$site, sep="-") 6 sexsite <- paste(possum$sex, possum$site, sep="-") = print(splom(~ possum[, c(9:11)], panel = panel.superpose, J groups = sexsite, col = colr[ss$sex], pch = pchr[ss$site], 9 varnames=c("tail\nlength","foot\nlength", ' "ear conch\nlength"), 3 key = list(points = list(pch=pchr), G text=list(c("Cambarville","Bellbird","Whian Whian ", J "Byrangery", "Conondale ","Allyn River","Bulburin")), 0 columns=4, cex=.75, between=1, 8 between.columns=2), cex=.65, main=""))  if(device!="")dev.off()  }þý device þ srcref   srcfileò encoding native.enc timestampAÒ³J2À class POSIXt POSIXctþ filename ~/r-book/ed2/figures/figs12.R wd /Users/johnm/r/ch12þþ ÿ srcfileþ ÿ srcrefþ ÿÿ ÿ srcrefþ >>ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ   ((ÿÿ ÿ srcrefþ   11ÿÿ ÿ srcrefþ   66ÿÿ ÿ srcrefþ  88ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþÿÿþ { library latticeþ if !=ÿ þ hardcopy width@ height@ÿÿ trellis T colorÿþþ ÿ DAAGþ data possumþ <- colr c red blueþþÿ pchrÿ@@@ @@$?ðþþÿ ss expand.grid site :?ð@þ sex!ÿ?ð@þþþÿ $ÿ sexsiteþ paste#ÿÿ"ÿþ#ÿÿ ÿþ sep -þþÿ$ÿ%ÿ#ÿÿ"ÿþ#ÿÿ ÿþ&ÿ -þþ print splom ~ [ÿûÿ!ÿ@"@&þþþþ panel panel.superpose groups$ÿ col*ÿÿ#ÿÿ"ÿþþ pch*ÿÿ#ÿÿ ÿþþ varnamesÿ tail length foot length ear conch lengthþ key list points2ÿ/ÿÿþ text2ÿÿ Cambarville Bellbird Whian Whian  Byrangery Conondale  Allyn River Bulburinþþ columns@ cex?è between?ð between.columns@þ6ÿ?äÌÌÌÌÌÍ main þþÿÿÿ þ dev.offþþþ g12.1aÿ 'function(colr=palette("default")[2:3]){ >if(device!="")hardcopy(device=device, width=4.25, height=4.25) sex <- as.integer(possum$sex) Apairs(possum[,c(9:11)],oma=c(2,4,6,4),pch=c(0,2:7),col=colr[sex], @ labels=c("tail\nlength","foot\nlength","ear conch\nlength")) sex <- as.integer(possum$sex) oldpar <- par(xpd=T) on.exit(par(oldpar)) 'if(pscript)yleg<-1.08 else yleg <- 1.03 9legend(0.05,yleg,c("Cambarville","Bellbird"),pch=c(0,2), 8 x.intersp=0.5,y.intersp=0.75,cex=0.7,xjust=0, bty="n") 6legend(0.30,yleg,c("Whian Whian","Byrangery"),pch=3:4, 8 x.intersp=0.5,y.intersp=0.75,cex=0.7,xjust=0, bty="n") 6legend(0.55,yleg,c("Conondale","Allyn River"),pch=5:6, 8 x.intersp=0.5,y.intersp=0.75,cex=0.7,xjust=0, bty="n") %legend(0.80,yleg,c("Bulburin"),pch=7, 0 x.intersp=0.5,y.intersp=0.75,cex=0.7, bty="n") ?text(x=0.2,y=.935,labels=c("female"),col=colr[1],cex=0.7,xpd=T) ;text(x=0.8,.935,labels=c("male"),col=colr[2],cex=0.7,xpd=T) if(device!="")dev.off() invisible() }þýÿ*ÿ palette defaultþ!ÿ@@þþþÿ ''''ÿÿ ÿ srcrefþ >>ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ @@ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ   ÿÿ ÿ srcrefþ !!''ÿÿ ÿ srcrefþ "#88ÿÿ ÿ srcrefþ $%88ÿÿ ÿ srcrefþ &'88ÿÿ ÿ srcrefþ ()00ÿÿ ÿ srcrefþ **??ÿÿ ÿ srcrefþ ++;;ÿÿ ÿ srcrefþ ,,ÿÿ ÿ srcrefþ --  ÿÿ ÿ srcrefþÿÿþ ÿÿÿÿ þÿÿÿÿ@ÿ@þþÿ"ÿ as.integer#ÿÿ"ÿþþþ pairs*ÿÿûÿ!ÿ@"@&þþþ omaÿ@@@@þ/ÿÿ!ÿ@@þþ.ÿ*ÿÿ"ÿþ labelsÿ tail length foot length ear conch lengthþþÿ"ÿ=ÿ#ÿÿ"ÿþþþÿ oldpar par xpdÿþþ on.exitBÿAÿþþÿ pscriptÿ yleg?ñG®záHþÿFÿ?ðzáG®{þþ legend?©™™™™™šFÿÿ Cambarville Bellbirdþ/ÿÿ@þ x.intersp?à y.intersp?è6ÿ?æffffff xjust bty nþGÿ?Ó333333Fÿÿ Whian Whian Byrangeryþ/ÿ!ÿ@@þHÿ?àIÿ?è6ÿ?æffffffJÿKÿ nþGÿ?á™™™™™šFÿÿ Conondale Allyn Riverþ/ÿ!ÿ@@þHÿ?àIÿ?è6ÿ?æffffffJÿKÿ nþGÿ?é™™™™™šFÿÿ Bulburinþ/ÿ@Hÿ?àIÿ?è6ÿ?æffffffKÿ nþ4ÿ x?É™™™™™š y?íë…¸Qì@ÿÿ femaleþ.ÿ*ÿÿ?ðþ6ÿ?æffffffCÿÿþ4ÿLÿ?é™™™™™š?íë…¸Qì@ÿÿ maleþ.ÿ*ÿÿ@þ6ÿ?æffffffCÿÿþÿÿÿ þ:ÿþþ invisibleþþ g12.2ÿ function(device=""){  library(lattice)  library(DAAG) 2 if(device!="") hardcopy(width=4.5, height=4.5, > device=device, trellis=T, color=T)  pchr <- c(3,4,0,8,2,10,1) 2 colr <- trellis.par.get()$superpose.symbol$col B print(cloud(earconch~taill+footlgth, data=possum, groups=site, # pch=pchr, cex=.65, # ## x=0.05, y=0.93, % key = list(columns=4, G cex=.9, between=1, points = list(pch=pchr, col=colr), G text=list(c("Cambarville","Bellbird","Whian Whian ", J "Byrangery", "Conondale ","Allyn River","Bulburin")), & between.columns=2)))  if(device!="")dev.off()  }þýÿ þÿ 11ÿÿ ÿ srcrefþ 22ÿÿ ÿ srcrefþ 33ÿÿ ÿ srcrefþ 45>>ÿÿ ÿ srcrefþ 66ÿÿ ÿ srcrefþ 7722ÿÿ ÿ srcrefþ 8?&&ÿÿ ÿ srcrefþ @@ÿÿ ÿ srcrefþÿÿþ ÿ ÿÿþ ÿÿþÿÿÿ þÿÿ@ÿ@ÿÿÿÿÿÿþþÿÿÿ@@@ @@$?ðþþÿÿ#ÿ#ÿ trellis.par.getþ superpose.symbolþ.ÿþþ'ÿ cloud)ÿ earconch + taill footlgthþþÿÿ-ÿ ÿ/ÿÿ6ÿ?äÌÌÌÌÌÍ1ÿ2ÿ5ÿ@6ÿ?ìÌÌÌÌÌÍ7ÿ?ð3ÿ2ÿ/ÿÿ.ÿÿþ4ÿ2ÿÿ Cambarville Bellbird Whian Whian  Byrangery Conondale  Allyn River Bulburinþþ8ÿ@þþþÿÿÿ þ:ÿþþþ g12.3ÿ bootscores <- data.frame(matrix(0, nrow=ntimes*n, ncol=3))  for (i in 1:ntimes){ 0 samprows <- sample(1:n, n, replace=TRUE) ( possumi <- usepossum[samprows, ] ) bootscores[n*(i-1)+(1:n), 1:2] <- 3 princomp(possumi[, 5:13])$scores[, 1:2] C bootscores[n*(i-1)+(1:n), 3] <- usepossum$sexsite[samprows]  } : names(bootscores) <- c("scores1","scores2", "sexsite") 6 bootscores$another <- rep(1:ntimes, rep(n,ntimes))  colr <- c("red", "blue")  pchr <- c(3,4,0,8,2,10,1) ( ss <- expand.grid(site=1:7, sex=1:2) C boot.xy <- xyplot(scores2 ~ scores1 | another, data=bootscores, L groups = bootscores$sexsite, col=colr[ss$sex], pch=pchr[ss$site], * xlab="1st Principal Component", + ylab="2nd Principal Component", . key = list(points = list(pch=pchr), C columns=4, cex=.75, between=1, between.columns=2, G text=list(c("Cambarville","Bellbird","Whian Whian ", I "Byrangery", "Conondale ","Allyn River","Bulburin"))))  print(boot.xy)  if(device!="")dev.off()  }þýÿÿ gray blackþÿ  ntimes@þÿ _7_777ÿÿ ÿ srcrefþ `a;;ÿÿ ÿ srcrefþ bbÿÿ ÿ srcrefþ cc==ÿÿ ÿ srcrefþ dd&&ÿÿ ÿ srcrefþ eeÿÿ ÿ srcrefþ ffÿÿ ÿ srcrefþ gg>>ÿÿ ÿ srcrefþ hnÿÿ ÿ srcrefþ oo::ÿÿ ÿ srcrefþ pp66ÿÿ ÿ srcrefþ qqÿÿ ÿ srcrefþ rrÿÿ ÿ srcrefþ ss((ÿÿ ÿ srcrefþ t{IIÿÿ ÿ srcrefþ ||ÿÿ ÿ srcrefþ }}ÿÿ ÿ srcrefþÿÿþ ÿÿÿÿ þÿÿ@ ÿ@ ÿ ÿÿ pointsizeÿ@@þþþYÿÿþÿ#ÿÿ$ÿþ%ÿ#ÿÿ"ÿþ#ÿÿ ÿþ&ÿ :þþÿ usepossum na.omit*ÿÿû -@þþþþÿ n*ÿ dimgÿþ?ðþþÿeÿ@þÿ bootscores data.frame matrix nrow *eÿjÿþ ncol@þþþ for i!ÿ?ðeÿþÿ hhÿÿ ÿ srcrefþ i i0 0ÿÿ ÿ srcrefþ j j( (ÿÿ ÿ srcrefþ k l3 3ÿÿ ÿ srcrefþ m mC Cÿÿ ÿ srcrefþÿÿþ ÿÿ samprows sample!ÿ?ðjÿþjÿ replace þþÿ possumi*ÿgÿtÿûþþÿ*ÿlÿTÿpÿjÿ (iÿsÿ?ðþþþxÿ!ÿ?ðjÿþþþ!ÿ?ð@þþ*ÿ#ÿ_ÿ*ÿwÿû!ÿ@@*þþþaÿþû!ÿ?ð@þþþÿ*ÿlÿTÿpÿjÿxÿiÿsÿ?ðþþþxÿ!ÿ?ðjÿþþþ@þ*ÿ#ÿgÿ$ÿþtÿþþþþÿ nameslÿþÿ scores1 scores2 sexsiteþþÿ#ÿlÿ anotherþ rep!ÿ?ðeÿþ{ÿjÿeÿþþþÿÿÿ red blueþþÿÿÿ@@@ @@$?ðþþÿÿÿ ÿ!ÿ?ð@þ"ÿ!ÿ?ð@þþþÿ boot.xy`ÿ)ÿ scores2 | scores1zÿþþÿlÿ-ÿ#ÿlÿ$ÿþ.ÿ*ÿÿ#ÿÿ"ÿþþ/ÿ*ÿÿ#ÿÿ ÿþþbÿ 1st Principal Componentcÿ 2nd Principal Component1ÿ2ÿ3ÿ2ÿ/ÿÿþ5ÿ@6ÿ?è7ÿ?ð8ÿ@4ÿ2ÿÿ Cambarville Bellbird Whian Whian  Byrangery Conondale  Allyn River Bulburinþþþþþ'ÿ|ÿþÿÿÿ þ:ÿþþþ g12.5ÿ$ Bfunction(dset = leafshape17, show = "lines", color = F, device="") { B if(device!="") hardcopy(width=4.25, height=2.4, device=device) G oldpar <- par(mfcol = c(1, 2), mar = par()$mar - c(0.5, 0.5, 0, 0), # oma=c(0,.25,0,2))  on.exit(par(oldpar)) $ require(DAAG); data(leafshape17) / fig1txt <- paste("(a) Untransformed scale") 8 fig2txt <- paste("(b) Logarithmic scale, both axes") K figtxt <- paste("Leaf length versus leaf width, for different species", 4 "\nat a North Queensland site.")  xlab <- "Leaf width (mm)"  ylab <- "Leaf length (mm)"  par(mgp = c(2.5, 0.75, 0)) L plot(dset$bladewid, dset$bladelen, xlab = xlab, ylab = ylab, type = "n") A points(dset$bladewid, dset$bladelen, pch=c(1,3)[dset$arch+1]) & mtext(side=3,line=0.25,"A", adj=0) 1 mtext(side = 1, line = 5.5, fig1txt, adj = 0) 5 plot(log10(dset$bladewid), log10(dset$bladelen), 2 pch=c(1,3)[dset$arch+1],axes = F, xlab =  xlab, ylab = ylab) ! xpos <- pretty(dset$bladewid) ! ypos <- pretty(dset$bladelen)  lxpos<-log10(xpos)  lypos<-log10(ypos) 4 axis(1, at = lxpos, label = paste(xpos),cex=.65) axis(3, at = round(lxpos,2)) axis(4, at = round(lypos,2))  par(mgp = c(2.5, 0.75, 0)) 6 axis(2, at = lypos, label = paste(ypos), srt = 90) & mtext(side=3,line=0.25,"B", adj=0) 5 mtext(side = 4, line = 2.5, "log10(Leaf length)") 5 mtext(side = 3, line = 2.25, "log10(Leaf width)") box()  if(device!="")dev.off() }þý dset leafshape17 show linesÿ Fÿ þÿ ‚‚ÿÿ ÿ srcrefþ ƒƒBBÿÿ ÿ srcrefþ „…##ÿÿ ÿ srcrefþ ††ÿÿ ÿ srcrefþ ‡‡ÿÿ ÿ srcrefþ ‡‡$$ÿÿ ÿ srcrefþ ˆˆ//ÿÿ ÿ srcrefþ ‰‰88ÿÿ ÿ srcrefþ Š‹44ÿÿ ÿ srcrefþ ŒŒÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ ŽŽÿÿ ÿ srcrefþ LLÿÿ ÿ srcrefþ AAÿÿ ÿ srcrefþ ‘‘&&ÿÿ ÿ srcrefþ ’’11ÿÿ ÿ srcrefþ “•ÿÿ ÿ srcrefþ ––!!ÿÿ ÿ srcrefþ ——!!ÿÿ ÿ srcrefþ ˜˜ÿÿ ÿ srcrefþ ™™ÿÿ ÿ srcrefþ šš44ÿÿ ÿ srcrefþ ››  ÿÿ ÿ srcrefþ œœ  ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ žž66ÿÿ ÿ srcrefþ ŸŸ&&ÿÿ ÿ srcrefþ   55ÿÿ ÿ srcrefþ ¡¡55ÿÿ ÿ srcrefþ ¢¢  ÿÿ ÿ srcrefþ ££ÿÿ ÿ srcrefþÿÿþ ÿÿÿÿ þÿÿ@ÿ@333333ÿÿþþÿAÿBÿ mfcolÿ?ð@þ mariÿ#ÿBÿþ†ÿþÿ?à?àþþ?ÿÿ?Ð@þþþDÿBÿAÿþþYÿÿþÿ‚ÿþÿ fig1txt%ÿ (a) Untransformed scaleþþÿ fig2txt%ÿ (b) Logarithmic scale, both axesþþÿ figtxt%ÿ 4Leaf length versus leaf width, for different species  at a North Queensland site.þþÿbÿ Leaf width (mm)þÿcÿ Leaf length (mm)þBÿ mgpÿ@?èþþ plot#ÿÿ bladewidþ#ÿÿ bladelenþbÿbÿcÿcÿ type nþ3ÿ#ÿÿŒÿþ#ÿÿÿþ/ÿ*ÿÿ?ð@þTÿ#ÿÿ archþ?ðþþþ mtext side@ line?Ð A adjþÿ‘ÿ?ð’ÿ@‡ÿ“ÿþ‹ÿ log10#ÿÿŒÿþþ”ÿ#ÿÿÿþþ/ÿ*ÿÿ?ð@þTÿ#ÿÿÿþ?ðþþ axes„ÿbÿbÿcÿcÿþÿ xpos pretty#ÿÿŒÿþþþÿ ypos—ÿ#ÿÿÿþþþÿ lxpos”ÿ–ÿþþÿ lypos”ÿ˜ÿþþ axis?ð at™ÿ label%ÿ–ÿþ6ÿ?äÌÌÌÌÌÍþ›ÿ@œÿ round™ÿ@þþ›ÿ@œÿžÿšÿ@þþBÿŠÿÿ@?èþþ›ÿ@œÿšÿÿ%ÿ˜ÿþ srt@V€þÿ‘ÿ@’ÿ?Ð B“ÿþÿ‘ÿ@’ÿ@ log10(Leaf length)þÿ‘ÿ@’ÿ@ log10(Leaf width)þ boxþÿÿÿ þ:ÿþþþ g12.6ÿ function(device=""){  require(MASS) 4 if(device!="") hardcopy(width=4.25, height=4.25, * device=device) " here<- !is.na(possum$footlgth) * oldpar <- par(pch= c(1,3,6,0,5,6,17))  on.exit(par(oldpar))  possum<-possum[here,] 9 possum.lda <- lda(site~hdlngth+skullw+totlngth+taill+ E footlgth+earconch+eye+chest+belly, data=possum) ) scores <- predict(possum.lda)$x[,1:3]  options(digits=4)  pchr <- c(3,4,0,8,2,10,1) 2 colr <- trellis.par.get()$superpose.symbol$col  possum.splom <- splom(~ scores, ' groups = possum$site, pch = pchr, $ varnames=c("LD1","LD2","LD3"), 2 key =list(points = list(pch=pchr, col=colr), O text=list(c("Cambarville","Bellbird","Whian Whian","Byrangery", Q "Conondale ","Allyn River", "Bulburin")), columns=4)) print(possum.splom)  if(device!="")dev.off()  invisible()  }þýÿ þÿ §§ÿÿ ÿ srcrefþ ¨¨ÿÿ ÿ srcrefþ ©ª**ÿÿ ÿ srcrefþ ««""ÿÿ ÿ srcrefþ ¬¬**ÿÿ ÿ srcrefþ ­­ÿÿ ÿ srcrefþ ®®ÿÿ ÿ srcrefþ ¯°EEÿÿ ÿ srcrefþ ±±))ÿÿ ÿ srcrefþ ²²ÿÿ ÿ srcrefþ ³³ÿÿ ÿ srcrefþ ´´22ÿÿ ÿ srcrefþ µ»QQÿÿ ÿ srcrefþ ¼¼ÿÿ ÿ srcrefþ ½½ÿÿ ÿ srcrefþ ¾¾ÿÿ ÿ srcrefþÿÿþ ÿYÿ MASSþÿÿÿ þÿÿ@ÿ@ÿÿþþÿZÿ[ÿ\ÿ#ÿÿVÿþþþþÿAÿBÿ/ÿÿ?ð@@@@@1þþþDÿBÿAÿþþÿÿ*ÿÿZÿûþþÿ possum.lda lda)ÿ ÿTÿTÿTÿTÿTÿTÿTÿTÿ hdlngth skullwþ totlngthþUÿþVÿþSÿþ eyeþ chestþ bellyþþÿÿþþÿaÿ*ÿ#ÿ predict£ÿþLÿþû!ÿ?ð@þþþ options digits@þÿÿÿ@@@ @@$?ðþþÿÿ#ÿ#ÿPÿþQÿþ.ÿþþÿ possum.splom(ÿ)ÿaÿþ-ÿ#ÿÿ ÿþ/ÿÿ0ÿÿ LD1 LD2 LD3þ1ÿ2ÿ3ÿ2ÿ/ÿÿ.ÿÿþ4ÿ2ÿÿ Cambarville Bellbird Whian Whian Byrangery Conondale  Allyn River Bulburinþþ5ÿ@þþþ'ÿ®ÿþÿÿÿ þ:ÿþþNÿþþ g99.1ÿ -function(device="", path="~/r-book/ed2/Art/") { 9 if(device!="")hardcopy(width=7.5, height=10, path=path, 9 device=device, pointsize=c(9,5)) 2 xplot(data=sweep(nMA$M,2,c(-1,1,-1,1,-1,1),"*"), 2 legend = c("1", "1A (dyeswap of 1)", "2", 7 "2A (dyeswap of 2)", "3", "3A (dyeswap of 3)"), C FUN=function(z,layout)imageplot(z,layout,legend=F, xlab="", % low="yellow3", high="blue", mar=c(.3,.6,1.4,.50)))  if(device!="")dev.off() invisible() }þýÿ  path ~/r-book/ed2/Art/þÿ ÃÃÿÿ ÿ srcrefþ ÄÅ99ÿÿ ÿ srcrefþ ÆË  ÿÿ ÿ srcrefþ ÌÌÿÿ ÿ srcrefþ ÍÍ  ÿÿ ÿ srcrefþÿÿþ ÿÿÿÿ þÿÿ@ÿ@$°ÿ°ÿÿÿfÿÿ@"@þþþ xplotÿ sweep#ÿ nMA Mþ@ÿiÿ?ðþ?ðiÿ?ðþ?ðiÿ?ðþ?ðþ *þGÿÿ 1 1A (dyeswap of 1) 2 2A (dyeswap of 2) 3 3A (dyeswap of 3)þ FUN function zû layoutûþ imageplot·ÿ¸ÿGÿ„ÿbÿ  low yellow3 high blue†ÿÿ?Ó333333?ã333333?öffffff?àþþ 7function(z,layout)imageplot(z,layout,legend=F, xlab="", % low="yellow3", high="blue",  mar=c(.3,.6,1.4,.50))þþÿÿÿ þ:ÿþþNÿþþ gdumpÿ 7function(fnam=NULL, prefix="~/r-book/ed2/figures/figs", K xtras=c("hardcopy","renum.fun","renum.files"), splitchar="/ch"){  if(is.null(fnam)){  path <- getwd() 7 pathtag <- strsplit(path, "/ch", fixed=TRUE)[[1]] 5 fnam <- paste(prefix, pathtag[length(pathtag)], ! ".R", sep="")  } - else fnam <- paste(prefix, fnam, sep="/") C objnames <- c(objects(pattern="^g", envir=sys.frame(0)), xtras) & cat("\nDump to file:", fnam, "\n")  print(objnames)  dump(objnames, fnam)  }þý fnamþ prefix ~/r-book/ed2/figures/figs xtrasÿ hardcopy renum.fun renum.filesþ splitchar /chþÿ ÒKÒKKKÿÿ ÿ srcrefþ ÓÙ--ÿÿ ÿ srcrefþ ÚÚCCÿÿ ÿ srcrefþ ÛÛ&&ÿÿ ÿ srcrefþ ÜÜÿÿ ÿ srcrefþ ÝÝÿÿ ÿ srcrefþÿÿþ ÿÿ is.null½ÿþÿ ÓÓÿÿ ÿ srcrefþ ÔÔÿÿ ÿ srcrefþ ÕÕ77ÿÿ ÿ srcrefþ Ö×!!ÿÿ ÿ srcrefþÿÿþ ÿÿ°ÿ getwdþþÿ pathtag [[ strsplit°ÿ /ch fixed þ?ðþþÿ½ÿ%ÿ¾ÿ*ÿÃÿ lengthÃÿþþ .R&ÿ þþþÿ½ÿ%ÿ¾ÿ½ÿ&ÿ /þþþÿ objnamesÿ objects pattern ^g envir sys.frameþþ¿ÿþþ cat  Dump to file:½ÿ  þ'ÿÈÿþ dumpÈÿ½ÿþþ gsaveÿ 7function(fnam=NULL, prefix="~/r-book/ed2/figures/figs", K splitchar="/ch", xtras=c("hardcopy","renum.fun","renum.files")){  if(is.null(fnam)){  path <- getwd() 7 pathtag <- strsplit(path, "/ch", fixed=TRUE)[[1]] 5 fnam <- paste(prefix, pathtag[length(pathtag)], % ".RData", sep="")  } - else fnam <- paste(prefix, fnam, sep="/") C objnames <- c(objects(pattern="^g", envir=sys.frame(0)), xtras) & cat("\nDump to file:", fnam, "\n")  print(objnames) " save(list=objnames, file=fnam)  }þý½ÿþ¾ÿ ~/r-book/ed2/figures/figsÀÿ /ch¿ÿÿ hardcopy renum.fun renum.filesþþÿ âKâKKKÿÿ ÿ srcrefþ ãé--ÿÿ ÿ srcrefþ êêCCÿÿ ÿ srcrefþ ëë&&ÿÿ ÿ srcrefþ ììÿÿ ÿ srcrefþ íí""ÿÿ ÿ srcrefþÿÿþ ÿÿÁÿ½ÿþÿ ããÿÿ ÿ srcrefþ ääÿÿ ÿ srcrefþ åå77ÿÿ ÿ srcrefþ æç%%ÿÿ ÿ srcrefþÿÿþ ÿÿ°ÿÂÿþþÿÃÿÄÿÅÿ°ÿ /chÆÿ þ?ðþþÿ½ÿ%ÿ¾ÿ*ÿÃÿÇÿÃÿþþ .RData&ÿ þþþÿ½ÿ%ÿ¾ÿ½ÿ&ÿ /þþþÿÈÿÿÉÿÊÿ ^gËÿÌÿþþ¿ÿþþÍÿ  Dump to file:½ÿ  þ'ÿÈÿþ save2ÿÈÿ file½ÿþþÿÿ4 =function(width=3.75, height=3.75, color=FALSE, trellis=FALSE, H device=c("","pdf","ps"), path="~/r-book/ed2/Art/", file=NULL, D format=c("nn-nn", "name"), split="\\.", pointsize=c(8,4),  fonts=NULL,  horiz=FALSE, ...){ ) if(!trellis)pointsize <- pointsize[1]  funtxt <- sys.call(1) B nam <- strsplit(as.character(funtxt), "(", fixed=TRUE)[[1]][1] 3 suffix <- switch(device, ps=".eps", pdf=".pdf") N if(is.character(path) & nchar(path)>1 & substring(path, nchar(path))!="/") & path <- paste(path, "/", sep="") - if(is.null(file)) if(format[1]=="nn-nn"){ C if(!is.null(split))dotsplit <- strsplit(nam, split)[[1]] else  dotsplit <- nam 8 if(length(dotsplit)==1)dotsplit <- c("", dotsplit) E nn2 <- paste(if(nchar(dotsplit[2])==1)"0" else "", dotsplit[2],  sep="")  if(nchar(dotsplit[1])>0){ O numstart <- which(unlist(strsplit(dotsplit[1], "")) %in% paste(0:9))[1] / nn1 <- substring(dotsplit[1], numstart) G nn1 <- paste(if(nchar(nn1) == 1) "0" else "", nn1, "-", sep="")  } else nn1 <- "" % file <- paste(nn1, nn2, sep="")  } else file <- nam L if(nchar(file)>4 & substring(file, nchar(file)-nchar(suffix)+1)==suffix)  suffix <- "" - file <- paste(path, file, suffix, sep="") : print(paste("Output will be directed to file:", file))  dev.out <- device[1] 6 dev.fun <- switch(dev.out, pdf=pdf, ps=postscript)  if(trellis){  library(lattice)  if(device=="ps") 1 trellis.device(file=file, device=dev.fun, ? color = color, horiz=horiz, fonts=fonts, < width=width, height=height, ...) else < trellis.device(file=file, device=dev.fun, fonts=fonts, D color = color, width=width, height=height, ...) R trellis.par.set(list(fontsize=list(text=pointsize[1], points=pointsize[2]))) } else  if (dev.out!=""){  print(c(width, height))  if(device=="ps") F dev.fun(file=file, paper="special", horiz=horiz, fonts=fonts, M width=width, height=height, pointsize=pointsize[1], ...) else 6 dev.fun(file=file, paper="special", fonts=fonts, L width=width, height=height, pointsize=pointsize[1], ...)  } D if(trellis)trellis.par.set(list(fontsize=list(text=pointsize[1], < points=pointsize[2])))  }þýÿ@ÿ@ÿ ÿ ÿÿ  pdf psþ°ÿ ~/r-book/ed2/Art/Ñÿþ formatÿ nn-nn nameþ split \.fÿÿ@ @þ fontsþ horiz  ...ûþÿ õõÿÿ ÿ srcrefþ öö))ÿÿ ÿ srcrefþ ÷÷ÿÿ ÿ srcrefþ øøBBÿÿ ÿ srcrefþ ùù33ÿÿ ÿ srcrefþ úû&&ÿÿ ÿ srcrefþ üÿÿ ÿ srcrefþ   ÿÿ ÿ srcrefþ   --ÿÿ ÿ srcrefþ   ::ÿÿ ÿ srcrefþ   ÿÿ ÿ srcrefþ 66ÿÿ ÿ srcrefþ !ÿÿ ÿ srcrefþ "#<<ÿÿ ÿ srcrefþÿÿþ ÿÿ[ÿÿþÿfÿ*ÿfÿ?ðþþþÿ funtxt sys.call?ðþþÿ nam*ÿÄÿÅÿ as.character×ÿþ (Æÿ þ?ðþ?ðþþÿ suffix switchÿ ps .eps pdf .pdfþþÿ &ßÿ is.character°ÿþ > nchar°ÿþ?ðþþÿ substring°ÿâÿ°ÿþþ /þþÿ°ÿ%ÿ°ÿ /&ÿ þþþÿÁÿÑÿþÿ ==*ÿÒÿ?ðþ nn-nnþÿ ü-ü---ÿÿ ÿ srcrefþ ýþÿÿ ÿ srcrefþ ÿÿ88ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ %%ÿÿ ÿ srcrefþÿÿþ ÿÿ[ÿÁÿÓÿþþÿ dotsplitÄÿÅÿÙÿÓÿþ?ðþþÿåÿÙÿþþÿäÿÇÿåÿþ?ðþÿåÿÿ åÿþþþÿ nn2%ÿÿäÿâÿ*ÿåÿ@þþ?ðþ 0 þ*ÿåÿ@þ&ÿ þþÿáÿâÿ*ÿåÿ?ðþþþÿ ÿÿ ÿ srcrefþ  O Oÿÿ ÿ srcrefþ  / /ÿÿ ÿ srcrefþ  G Gÿÿ ÿ srcrefþÿÿþ ÿÿ numstart*ÿ which %in% unlistÅÿ*ÿåÿ?ðþ þþ%ÿ!ÿ@"þþþþ?ðþþÿ nn1ãÿ*ÿåÿ?ðþçÿþþÿëÿ%ÿÿäÿâÿëÿþ?ðþ 0 þëÿ -&ÿ þþþÿëÿ þþÿÑÿ%ÿëÿæÿ&ÿ þþþÿÑÿÙÿþþþÿßÿáÿâÿÑÿþ@þäÿãÿÑÿTÿiÿâÿÑÿþâÿÛÿþþ?ðþþÛÿþþÿÛÿ þþÿÑÿ%ÿ°ÿÑÿÛÿ&ÿ þþ'ÿ%ÿ Output will be directed to file:Ñÿþþÿ dev.out*ÿÿ?ðþþÿ dev.funÜÿìÿÞÿÞÿÝÿ postscriptþþÿÿÿ ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ DDÿÿ ÿ srcrefþ RRÿÿ ÿ srcrefþÿÿþ ÿ ÿÿþÿäÿÿ psþ trellis.deviceÑÿÑÿÿíÿÿÿÕÿÕÿÔÿÔÿÿÿÿÿÖÿþïÿÑÿÑÿÿíÿÔÿÔÿÿÿÿÿÿÿÖÿþþ trellis.par.set2ÿ fontsize2ÿ4ÿ*ÿfÿ?ðþ3ÿ*ÿfÿ@þþþþþÿÿìÿ þÿ ÿÿ ÿ srcrefþ ÿÿ ÿ srcrefþ  FFÿÿ ÿ srcrefþÿÿþ ÿ'ÿÿÿÿþþÿäÿÿ psþíÿÑÿÑÿ paper specialÕÿÕÿÔÿÔÿÿÿÿÿfÿ*ÿfÿ?ðþÖÿþíÿÑÿÑÿòÿ specialÔÿÔÿÿÿÿÿfÿ*ÿfÿ?ðþÖÿþþþþþÿÿðÿ2ÿñÿ2ÿ4ÿ*ÿfÿ?ðþ3ÿ*ÿfÿ@þþþþþþ renum.funÿ Cfunction(from.prefix=NULL, to.prefix="g",from=4:1, to=4:1, doit=F){  path <- getwd() 5 pathtag <- strsplit(path, "/ch", fixed=TRUE)[[1]] & endbit <- pathtag[length(pathtag)] 1 to.prefix <- paste(to.prefix, endbit, sep="") 4 if(is.null(from.prefix))from.prefix <- to.prefix  for(i in 1:length(to)) M {txt<-paste(to.prefix,".",to[i]," <- ", from.prefix,".",from[i],sep="") 7 if(doit)eval(parse(text=txt),envir=sys.frame(0))  print(txt) " if(from.prefix!=to.prefix){ B rm.txt <- paste("rm(",from.prefix,".",from[i],")",sep="") < if(doit)eval(parse(text=rm.txt),envir=sys.frame(0))  print(rm.txt)  }  }  }þý from.prefixþ to.prefix g from!ÿ@?ðþ to!ÿ@?ðþ doit„ÿþÿ 'C'CCCÿÿ ÿ srcrefþ ((ÿÿ ÿ srcrefþ ))55ÿÿ ÿ srcrefþ **&&ÿÿ ÿ srcrefþ ++11ÿÿ ÿ srcrefþ ,,44ÿÿ ÿ srcrefþ -6ÿÿ ÿ srcrefþÿÿþ ÿÿ°ÿÂÿþþÿÃÿÄÿÅÿ°ÿ /chÆÿ þ?ðþþÿ endbit*ÿÃÿÇÿÃÿþþþÿõÿ%ÿõÿùÿ&ÿ þþÿÁÿôÿþÿôÿõÿþþrÿsÿ!ÿ?ðÇÿ÷ÿþþÿ ..ÿÿ ÿ srcrefþ ..MMÿÿ ÿ srcrefþ //77ÿÿ ÿ srcrefþ 00ÿÿ ÿ srcrefþ 15ÿÿ ÿ srcrefþÿÿþ ÿÿ txt%ÿõÿ .*ÿ÷ÿsÿþ  <- ôÿ .*ÿöÿsÿþ&ÿ þþÿøÿ eval parse4ÿúÿþËÿÌÿþþþ'ÿúÿþÿÿôÿõÿþÿ 1"1"""ÿÿ ÿ srcrefþ 2 2B Bÿÿ ÿ srcrefþ 3 3< <ÿÿ ÿ srcrefþ 44ÿÿ ÿ srcrefþÿÿþ ÿÿ rm.txt%ÿ rm(ôÿ .*ÿöÿsÿþ )&ÿ þþÿøÿûÿüÿ4ÿýÿþËÿÌÿþþþ'ÿýÿþþþþþþ renum.filesÿ Hfunction(from.prefix="~/r-book/ed2/Art/", to.prefix="~/r-book/ed2/Art/", ' from=20:7, to=21:8, doit=F){  path <- getwd() 5 pathtag <- strsplit(path, "/ch", fixed=TRUE)[[1]] & endbit <- pathtag[length(pathtag)] 2 if(nchar(endbit)==2)chap <- paste(endbit) else ' chap <- paste("0",endbit,sep="") 8 from.prefix <- paste(from.prefix, chap, "-", sep="") 4 to.prefix <- paste(to.prefix, chap, "-", sep="")  for(i in 1:length(from)){ 8 if (from[i]<=9) ltext <- paste("0",from[i],sep="") " else ltext <- paste(from[i]) 4 if (to[i]<=9) rtext <- paste("0",to[i],sep="") , else rtext <- paste(to[i]) 8 txt<-paste("mv ", from.prefix, ltext, ".eps", " ", 2 to.prefix, rtext, ".eps", sep="") ; backup<-paste("cp ", from.prefix, ltext, ".eps", " ", # "archive", sep="")  if(doit)system(backup)  if(doit)system(txt)  print(backup)  print(txt)  }  }þýôÿ ~/r-book/ed2/Art/õÿ ~/r-book/ed2/Art/öÿ!ÿ@4@þ÷ÿ!ÿ@5@ þøÿ„ÿþÿ ;';'''ÿÿ ÿ srcrefþ <<ÿÿ ÿ srcrefþ ==55ÿÿ ÿ srcrefþ >>&&ÿÿ ÿ srcrefþ ?@''ÿÿ ÿ srcrefþ AA88ÿÿ ÿ srcrefþ BB44ÿÿ ÿ srcrefþ CPÿÿ ÿ srcrefþÿÿþ ÿÿ°ÿÂÿþþÿÃÿÄÿÅÿ°ÿ /chÆÿ þ?ðþþÿùÿ*ÿÃÿÇÿÃÿþþþÿäÿâÿùÿþ@þÿ chap%ÿùÿþþÿÿÿ%ÿ 0ùÿ&ÿ þþþÿôÿ%ÿôÿÿÿ -&ÿ þþÿõÿ%ÿõÿÿÿ -&ÿ þþrÿsÿ!ÿ?ðÇÿöÿþþÿ  CCÿÿ ÿ srcrefþ DE""ÿÿ ÿ srcrefþ FG  ÿÿ ÿ srcrefþ HI22ÿÿ ÿ srcrefþ JK##ÿÿ ÿ srcrefþ LLÿÿ ÿ srcrefþ MMÿÿ ÿ srcrefþ NNÿÿ ÿ srcrefþ OOÿÿ ÿ srcrefþÿÿþ ÿÿ <=*ÿöÿsÿþ@"þÿ ltext%ÿ 0*ÿöÿsÿþ&ÿ þþÿÿ%ÿ*ÿöÿsÿþþþþÿÿ*ÿ÷ÿsÿþ@"þÿ rtext%ÿ 0*ÿ÷ÿsÿþ&ÿ þþÿÿ%ÿ*ÿ÷ÿsÿþþþþÿúÿ%ÿ mv ôÿÿ .eps  õÿÿ .eps&ÿ þþÿ backup%ÿ cp ôÿÿ .eps   archive&ÿ þþÿøÿ systemÿþþÿøÿÿúÿþþ'ÿÿþ'ÿúÿþþþþþ