R version 2.7.0 (2008-04-22) 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. > y <- c(188.5,188.6,191.9,193.5,194.9,194.9,196.2,196.2,198,198.6,201.3,203.5,204.1,204.8,206.5,207.8,208.6,209.7,210,211.7,212.4,213.7,214.8,216.4,217.5,218.6,220.4,221.8,222.5,223.4,225.5,226.5,227.8,228.5,229.1,229.9,230.8,231.9,236,237.5) > x <- c(124.1,124.4,115.7,108.3,102.3,104.6,104,103.5,96,96.6,95.4,92.1,93,90.4,93.3,97.1,111,114.1,113.3,111,107.2,118.3,134.1,139,116.7,112.5,122.8,130,125.6,123.8,135.8,136.4,135.3,149.5,159.6,161.4,175.2,199.5,245,257.8) > par7 = '0' > par6 = '1' > par5 = '1.1' > par4 = '4' > par3 = '1' > par2 = '1' > par1 = '0.1' > #'GNU S' R Code compiled by R2WASP v. 1.0.44 () > #Author: Prof. Dr. P. Wessa > #To cite this work: Wessa P., (2008), Cross Correlation Function (v1.0.6) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_cross.wasp#output/ > #Source of accompanying publication: Office for Research, Development, and Education > #Technical description: > par1 <- as.numeric(par1) > par2 <- as.numeric(par2) > par3 <- as.numeric(par3) > par4 <- as.numeric(par4) > par5 <- as.numeric(par5) > par6 <- as.numeric(par6) > par7 <- as.numeric(par7) > if (par1 == 0) { + x <- log(x) + } else { + x <- (x ^ par1 - 1) / par1 + } > if (par5 == 0) { + y <- log(y) + } else { + y <- (y ^ par5 - 1) / par5 + } > if (par2 > 0) x <- diff(x,lag=1,difference=par2) > if (par6 > 0) y <- diff(y,lag=1,difference=par6) > if (par3 > 0) x <- diff(x,lag=par4,difference=par3) > if (par7 > 0) y <- diff(y,lag=par4,difference=par7) > x [1] 0.031447135 0.107863070 0.098276381 -0.028387207 -0.025520245 [6] -0.010574874 -0.047768022 0.134476594 -0.054389450 0.069350773 [11] 0.118393510 0.197545010 0.088726621 -0.060915639 -0.095838485 [16] -0.268528713 0.113847507 0.214619942 0.091556962 -0.228244608 [21] -0.216909985 -0.062219580 0.033762391 0.228009098 0.035499389 [26] 0.009382094 -0.085234378 0.042693247 0.187234905 -0.042270914 [31] 0.011430080 0.150198096 0.055302394 0.244281868 0.069867872 > y [1] 0.1688662 5.5775814 2.7077467 2.3711164 0.0000000 2.2032768 0.0000000 [8] 3.0531000 1.0183182 4.5862276 3.7414810 1.0211079 1.1916720 2.8957541 [15] 2.2160103 1.3643885 1.8768883 0.5120497 2.9029943 1.1960294 2.2222425 [22] 1.8814155 2.7383236 1.8837732 1.8847261 3.0861416 2.4020766 1.2016076 [29] 1.5454794 3.6085366 1.7195342 2.2365292 1.2048142 1.0329917 1.3777431 [36] 1.5505340 1.8959182 7.0744985 2.5913149 > postscript(file="/var/www/html/rcomp/tmp/19b6e1230045160.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > (r <- ccf(x,y,main='Cross Correlation Function',ylab='CCF',xlab='Lag (k)')) Autocorrelations of series 'X', by lag -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 0.119 0.018 -0.267 -0.016 0.134 0.016 -0.036 -0.175 -0.076 -0.047 0.127 -1 0 1 2 3 4 5 6 7 8 9 -0.032 0.059 -0.083 0.164 0.068 0.043 -0.227 -0.207 0.013 0.222 0.244 10 11 12 -0.010 -0.125 -0.274 > dev.off() null device 1 > > #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,'Cross Correlation Function',2,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Parameter',header=TRUE) > a<-table.element(a,'Value',header=TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Box-Cox transformation parameter (lambda) of X series',header=TRUE) > a<-table.element(a,par1) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Degree of non-seasonal differencing (d) of X series',header=TRUE) > a<-table.element(a,par2) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Degree of seasonal differencing (D) of X series',header=TRUE) > a<-table.element(a,par3) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Seasonal Period (s)',header=TRUE) > a<-table.element(a,par4) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Box-Cox transformation parameter (lambda) of Y series',header=TRUE) > a<-table.element(a,par5) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Degree of non-seasonal differencing (d) of Y series',header=TRUE) > a<-table.element(a,par6) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Degree of seasonal differencing (D) of Y series',header=TRUE) > a<-table.element(a,par7) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'k',header=TRUE) > a<-table.element(a,'rho(Y[t],X[t+k])',header=TRUE) > a<-table.row.end(a) > mylength <- length(r$acf) > myhalf <- floor((mylength-1)/2) > for (i in 1:mylength) { + a<-table.row.start(a) + a<-table.element(a,i-myhalf-1,header=TRUE) + a<-table.element(a,r$acf[i]) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/2fwgg1230045160.tab") > system("convert tmp/19b6e1230045160.ps tmp/19b6e1230045160.png") > > > proc.time() user system elapsed 1.184 0.293 1.234