R version 2.8.0 (2008-10-20) Copyright (C) 2008 The R Foundation for Statistical Computing ISBN 3-900051-07-0 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > par2 = '0.5' > par1 = '500' > n <- as.numeric(par1) > p <- as.numeric(par2) > heads=rbinom(n-1,1,p) > a=2*(heads)-1 > b=diffinv(a,xi=0) > c=1:n > pheads=(diffinv(heads,xi=.5))/c > postscript(file="/var/www/html/rcomp/tmp/1f0pr1228643917.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > op=par(mfrow=c(2,1)) > plot(c,b,type='n',main='Law of Averages',xlab='Toss Number',ylab='Excess of Heads',lwd=2,cex.lab=1.5,cex.main=2) > lines(c,b,col='red') > lines(c,rep(0,n),col='black') > plot(c,pheads,type='n',xlab='Toss Number',ylab='Proportion of Heads',lwd=2,cex.lab=1.5) > lines(c,pheads,col='blue') > lines(c,rep(.5,n),col='black') > par(op) > dev.off() null device 1 > b [1] 0 1 0 -1 -2 -3 -4 -5 -4 -5 -4 -5 -6 -5 -4 -3 -4 -5 [19] -6 -7 -6 -7 -6 -5 -6 -5 -4 -5 -6 -7 -8 -9 -10 -9 -8 -7 [37] -8 -7 -8 -9 -8 -7 -6 -5 -4 -5 -4 -5 -6 -5 -4 -5 -4 -3 [55] -4 -3 -4 -5 -6 -5 -4 -5 -6 -7 -6 -5 -6 -5 -4 -3 -4 -3 [73] -4 -5 -4 -3 -4 -3 -2 -1 -2 -3 -4 -5 -4 -3 -4 -5 -4 -3 [91] -2 -1 -2 -1 -2 -1 0 -1 0 -1 -2 -1 0 1 0 -1 0 1 [109] 0 -1 0 1 2 1 0 -1 -2 -1 -2 -3 -4 -5 -4 -5 -4 -5 [127] -6 -5 -4 -3 -2 -1 0 -1 0 -1 0 1 0 1 0 1 0 -1 [145] -2 -1 -2 -1 0 1 0 1 0 -1 -2 -3 -2 -1 -2 -1 -2 -3 [163] -4 -3 -2 -1 0 1 0 -1 0 -1 0 -1 0 1 0 1 2 3 [181] 2 3 4 3 2 3 2 1 0 -1 -2 -3 -2 -1 -2 -3 -2 -1 [199] 0 -1 -2 -1 0 -1 -2 -3 -4 -5 -4 -5 -6 -7 -6 -5 -6 -7 [217] -8 -9 -10 -11 -10 -9 -10 -11 -12 -11 -10 -9 -8 -7 -6 -7 -6 -7 [235] -6 -7 -6 -5 -4 -3 -4 -5 -4 -5 -4 -3 -2 -1 -2 -1 0 1 [253] 0 1 0 -1 0 1 0 1 0 1 2 3 2 1 0 1 2 1 [271] 2 1 2 3 4 5 6 7 8 7 6 5 4 3 4 5 4 3 [289] 4 5 6 5 4 5 6 7 6 5 4 3 4 5 6 5 4 3 [307] 2 1 2 1 2 1 0 1 0 -1 0 1 2 3 2 1 0 1 [325] 2 1 2 1 2 3 4 5 6 7 6 5 6 7 8 9 8 7 [343] 6 7 8 7 6 5 4 5 6 7 8 7 6 5 6 5 6 5 [361] 4 5 4 5 6 5 6 5 4 3 2 3 2 1 2 1 2 1 [379] 2 3 4 3 2 3 4 3 4 3 4 5 6 7 8 9 10 11 [397] 10 11 12 13 12 13 14 13 14 13 12 11 10 11 10 9 8 9 [415] 8 9 8 7 6 7 6 5 6 5 4 3 4 5 4 3 2 1 [433] 2 3 2 3 4 5 6 5 6 5 6 7 8 7 6 5 4 3 [451] 2 3 4 5 6 7 6 5 4 5 4 5 6 5 6 7 6 7 [469] 8 7 8 7 6 5 4 3 2 1 0 -1 -2 -3 -2 -3 -2 -1 [487] -2 -3 -4 -3 -4 -3 -2 -1 -2 -3 -2 -1 0 1 > par1 <- as.numeric(12) > x <- as.array(b) > n <- length(x) > sx <- sort(x) > > #Note: the /var/www/html/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/html/rcomp/createtable") > > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Variance Reduction Matrix',6,TRUE) > a<-table.row.end(a) > for (bigd in 0:2) { + for (smalld in 0:3) { + mylabel <- 'V(Y[t],d=' + mylabel <- paste(mylabel,as.character(smalld),sep='') + mylabel <- paste(mylabel,',D=',sep='') + mylabel <- paste(mylabel,as.character(bigd),sep='') + mylabel <- paste(mylabel,')',sep='') + a<-table.row.start(a) + a<-table.element(a,mylabel,header=TRUE) + myx <- x + if (smalld > 0) myx <- diff(x,lag=1,differences=smalld) + if (bigd > 0) myx <- diff(myx,lag=par1,differences=bigd) + a<-table.element(a,var(myx)) + a<-table.element(a,'Range',header=TRUE) + a<-table.element(a,max(myx)-min(myx)) + a<-table.element(a,'Trim Var.',header=TRUE) + smyx <- sort(myx) + sn <- length(smyx) + a<-table.element(a,var(smyx[smyx>quantile(smyx,0.05) & smyx a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/2myuq1228643917.tab") > > system("convert tmp/1f0pr1228643917.ps tmp/1f0pr1228643917.png") > > > proc.time() user system elapsed 0.524 0.284 0.854