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. > x <- array(list(104.2,0,103.2,0,112.7,0,106.4,0,102.6,0,110.6,0,95.2,0,89.0,0,112.5,0,116.8,0,107.2,0,113.6,0,101.8,0,102.6,0,122.7,0,110.3,0,110.5,0,121.6,0,100.3,0,100.7,0,123.4,0,127.1,0,124.1,0,131.2,0,111.6,0,114.2,0,130.1,0,125.9,0,119.0,0,133.8,0,107.5,0,113.5,0,134.4,0,126.8,0,135.6,0,139.9,0,129.8,0,131.0,0,153.1,0,134.1,1,144.1,1,155.9,1,123.3,1,128.1,1,144.3,1,153.0,1,149.9,1,150.9,1,141.0,1,138.9,1,157.4,1,142.9,1,151.7,1,161.0,1,138.5,1,135.9,1,151.5,1,164.0,1,159.1,1,157.0,1,142.1,1,144.8,1,152.1,1,154.6,1,148.7,1,157.7,1,146.7,1),dim=c(2,67),dimnames=list(c('y','x'),1:67)) > y <- array(NA,dim=c(2,67),dimnames=list(c('y','x'),1:67)) > for (i in 1:dim(x)[1]) + { + for (j in 1:dim(x)[2]) + { + y[i,j] <- as.numeric(x[i,j]) + } + } > par3 = 'No Linear Trend' > par2 = 'Do not include Seasonal Dummies' > par1 = '1' > #'GNU S' R Code compiled by R2WASP v. 1.0.44 () > #Author: Prof. Dr. P. Wessa > #To cite this work: AUTHOR(S), (YEAR), YOUR SOFTWARE TITLE (vNUMBER) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_YOURPAGE.wasp/ > #Source of accompanying publication: Office for Research, Development, and Education > #Technical description: Write here your technical program description (don't use hard returns!) > library(lattice) > par1 <- as.numeric(par1) > x <- t(y) > k <- length(x[1,]) > n <- length(x[,1]) > x1 <- cbind(x[,par1], x[,1:k!=par1]) > mycolnames <- c(colnames(x)[par1], colnames(x)[1:k!=par1]) > colnames(x1) <- mycolnames #colnames(x)[par1] > x <- x1 > if (par3 == 'First Differences'){ + x2 <- array(0, dim=c(n-1,k), dimnames=list(1:(n-1), paste('(1-B)',colnames(x),sep=''))) + for (i in 1:n-1) { + for (j in 1:k) { + x2[i,j] <- x[i+1,j] - x[i,j] + } + } + x <- x2 + } > if (par2 == 'Include Monthly Dummies'){ + x2 <- array(0, dim=c(n,11), dimnames=list(1:n, paste('M', seq(1:11), sep =''))) + for (i in 1:11){ + x2[seq(i,n,12),i] <- 1 + } + x <- cbind(x, x2) + } > if (par2 == 'Include Quarterly Dummies'){ + x2 <- array(0, dim=c(n,3), dimnames=list(1:n, paste('Q', seq(1:3), sep =''))) + for (i in 1:3){ + x2[seq(i,n,4),i] <- 1 + } + x <- cbind(x, x2) + } > k <- length(x[1,]) > if (par3 == 'Linear Trend'){ + x <- cbind(x, c(1:n)) + colnames(x)[k+1] <- 't' + } > x y x 1 104.2 0 2 103.2 0 3 112.7 0 4 106.4 0 5 102.6 0 6 110.6 0 7 95.2 0 8 89.0 0 9 112.5 0 10 116.8 0 11 107.2 0 12 113.6 0 13 101.8 0 14 102.6 0 15 122.7 0 16 110.3 0 17 110.5 0 18 121.6 0 19 100.3 0 20 100.7 0 21 123.4 0 22 127.1 0 23 124.1 0 24 131.2 0 25 111.6 0 26 114.2 0 27 130.1 0 28 125.9 0 29 119.0 0 30 133.8 0 31 107.5 0 32 113.5 0 33 134.4 0 34 126.8 0 35 135.6 0 36 139.9 0 37 129.8 0 38 131.0 0 39 153.1 0 40 134.1 1 41 144.1 1 42 155.9 1 43 123.3 1 44 128.1 1 45 144.3 1 46 153.0 1 47 149.9 1 48 150.9 1 49 141.0 1 50 138.9 1 51 157.4 1 52 142.9 1 53 151.7 1 54 161.0 1 55 138.5 1 56 135.9 1 57 151.5 1 58 164.0 1 59 159.1 1 60 157.0 1 61 142.1 1 62 144.8 1 63 152.1 1 64 154.6 1 65 148.7 1 66 157.7 1 67 146.7 1 > k <- length(x[1,]) > df <- as.data.frame(x) > (mylm <- lm(df)) Call: lm(formula = df) Coefficients: (Intercept) x 116.83 30.64 > (mysum <- summary(mylm)) Call: lm(formula = df) Residuals: Min 1Q Median 3Q Max -27.8333 -8.7714 -0.7714 9.2976 36.2667 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 116.833 1.977 59.10 < 2e-16 *** x 30.638 3.058 10.02 8.26e-15 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 12.35 on 65 degrees of freedom Multiple R-squared: 0.607, Adjusted R-squared: 0.6009 F-statistic: 100.4 on 1 and 65 DF, p-value: 8.257e-15 > postscript(file="/var/www/html/rcomp/tmp/1uns51227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot(x[,1], type='l', main='Actuals and Interpolation', ylab='value of Actuals and Interpolation (dots)', xlab='time or index') > points(x[,1]-mysum$resid) > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/21e6t1227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > plot(mysum$resid, type='b', pch=19, main='Residuals', ylab='value of Residuals', xlab='time or index') > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/3otej1227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > hist(mysum$resid, main='Residual Histogram', xlab='values of Residuals') > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/46f4m1227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > densityplot(~mysum$resid,col='black',main='Residual Density Plot', xlab='values of Residuals') > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/59y8v1227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > qqnorm(mysum$resid, main='Residual Normal Q-Q Plot') > grid() > dev.off() null device 1 > (myerror <- as.ts(mysum$resid)) Time Series: Start = 1 End = 67 Frequency = 1 1 2 3 4 5 6 -12.63333333 -13.63333333 -4.13333333 -10.43333333 -14.23333333 -6.23333333 7 8 9 10 11 12 -21.63333333 -27.83333333 -4.33333333 -0.03333333 -9.63333333 -3.23333333 13 14 15 16 17 18 -15.03333333 -14.23333333 5.86666667 -6.53333333 -6.33333333 4.76666667 19 20 21 22 23 24 -16.53333333 -16.13333333 6.56666667 10.26666667 7.26666667 14.36666667 25 26 27 28 29 30 -5.23333333 -2.63333333 13.26666667 9.06666667 2.16666667 16.96666667 31 32 33 34 35 36 -9.33333333 -3.33333333 17.56666667 9.96666667 18.76666667 23.06666667 37 38 39 40 41 42 12.96666667 14.16666667 36.26666667 -13.37142857 -3.37142857 8.42857143 43 44 45 46 47 48 -24.17142857 -19.37142857 -3.17142857 5.52857143 2.42857143 3.42857143 49 50 51 52 53 54 -6.47142857 -8.57142857 9.92857143 -4.57142857 4.22857143 13.52857143 55 56 57 58 59 60 -8.97142857 -11.57142857 4.02857143 16.52857143 11.62857143 9.52857143 61 62 63 64 65 66 -5.37142857 -2.67142857 4.62857143 7.12857143 1.22857143 10.22857143 67 -0.77142857 > postscript(file="/var/www/html/rcomp/tmp/6ngfz1227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > dum <- cbind(lag(myerror,k=1),myerror) > dum Time Series: Start = 0 End = 67 Frequency = 1 lag(myerror, k = 1) myerror 0 -12.63333333 NA 1 -13.63333333 -12.63333333 2 -4.13333333 -13.63333333 3 -10.43333333 -4.13333333 4 -14.23333333 -10.43333333 5 -6.23333333 -14.23333333 6 -21.63333333 -6.23333333 7 -27.83333333 -21.63333333 8 -4.33333333 -27.83333333 9 -0.03333333 -4.33333333 10 -9.63333333 -0.03333333 11 -3.23333333 -9.63333333 12 -15.03333333 -3.23333333 13 -14.23333333 -15.03333333 14 5.86666667 -14.23333333 15 -6.53333333 5.86666667 16 -6.33333333 -6.53333333 17 4.76666667 -6.33333333 18 -16.53333333 4.76666667 19 -16.13333333 -16.53333333 20 6.56666667 -16.13333333 21 10.26666667 6.56666667 22 7.26666667 10.26666667 23 14.36666667 7.26666667 24 -5.23333333 14.36666667 25 -2.63333333 -5.23333333 26 13.26666667 -2.63333333 27 9.06666667 13.26666667 28 2.16666667 9.06666667 29 16.96666667 2.16666667 30 -9.33333333 16.96666667 31 -3.33333333 -9.33333333 32 17.56666667 -3.33333333 33 9.96666667 17.56666667 34 18.76666667 9.96666667 35 23.06666667 18.76666667 36 12.96666667 23.06666667 37 14.16666667 12.96666667 38 36.26666667 14.16666667 39 -13.37142857 36.26666667 40 -3.37142857 -13.37142857 41 8.42857143 -3.37142857 42 -24.17142857 8.42857143 43 -19.37142857 -24.17142857 44 -3.17142857 -19.37142857 45 5.52857143 -3.17142857 46 2.42857143 5.52857143 47 3.42857143 2.42857143 48 -6.47142857 3.42857143 49 -8.57142857 -6.47142857 50 9.92857143 -8.57142857 51 -4.57142857 9.92857143 52 4.22857143 -4.57142857 53 13.52857143 4.22857143 54 -8.97142857 13.52857143 55 -11.57142857 -8.97142857 56 4.02857143 -11.57142857 57 16.52857143 4.02857143 58 11.62857143 16.52857143 59 9.52857143 11.62857143 60 -5.37142857 9.52857143 61 -2.67142857 -5.37142857 62 4.62857143 -2.67142857 63 7.12857143 4.62857143 64 1.22857143 7.12857143 65 10.22857143 1.22857143 66 -0.77142857 10.22857143 67 NA -0.77142857 > dum1 <- dum[2:length(myerror),] > dum1 lag(myerror, k = 1) myerror [1,] -13.63333333 -12.63333333 [2,] -4.13333333 -13.63333333 [3,] -10.43333333 -4.13333333 [4,] -14.23333333 -10.43333333 [5,] -6.23333333 -14.23333333 [6,] -21.63333333 -6.23333333 [7,] -27.83333333 -21.63333333 [8,] -4.33333333 -27.83333333 [9,] -0.03333333 -4.33333333 [10,] -9.63333333 -0.03333333 [11,] -3.23333333 -9.63333333 [12,] -15.03333333 -3.23333333 [13,] -14.23333333 -15.03333333 [14,] 5.86666667 -14.23333333 [15,] -6.53333333 5.86666667 [16,] -6.33333333 -6.53333333 [17,] 4.76666667 -6.33333333 [18,] -16.53333333 4.76666667 [19,] -16.13333333 -16.53333333 [20,] 6.56666667 -16.13333333 [21,] 10.26666667 6.56666667 [22,] 7.26666667 10.26666667 [23,] 14.36666667 7.26666667 [24,] -5.23333333 14.36666667 [25,] -2.63333333 -5.23333333 [26,] 13.26666667 -2.63333333 [27,] 9.06666667 13.26666667 [28,] 2.16666667 9.06666667 [29,] 16.96666667 2.16666667 [30,] -9.33333333 16.96666667 [31,] -3.33333333 -9.33333333 [32,] 17.56666667 -3.33333333 [33,] 9.96666667 17.56666667 [34,] 18.76666667 9.96666667 [35,] 23.06666667 18.76666667 [36,] 12.96666667 23.06666667 [37,] 14.16666667 12.96666667 [38,] 36.26666667 14.16666667 [39,] -13.37142857 36.26666667 [40,] -3.37142857 -13.37142857 [41,] 8.42857143 -3.37142857 [42,] -24.17142857 8.42857143 [43,] -19.37142857 -24.17142857 [44,] -3.17142857 -19.37142857 [45,] 5.52857143 -3.17142857 [46,] 2.42857143 5.52857143 [47,] 3.42857143 2.42857143 [48,] -6.47142857 3.42857143 [49,] -8.57142857 -6.47142857 [50,] 9.92857143 -8.57142857 [51,] -4.57142857 9.92857143 [52,] 4.22857143 -4.57142857 [53,] 13.52857143 4.22857143 [54,] -8.97142857 13.52857143 [55,] -11.57142857 -8.97142857 [56,] 4.02857143 -11.57142857 [57,] 16.52857143 4.02857143 [58,] 11.62857143 16.52857143 [59,] 9.52857143 11.62857143 [60,] -5.37142857 9.52857143 [61,] -2.67142857 -5.37142857 [62,] 4.62857143 -2.67142857 [63,] 7.12857143 4.62857143 [64,] 1.22857143 7.12857143 [65,] 10.22857143 1.22857143 [66,] -0.77142857 10.22857143 > z <- as.data.frame(dum1) > z lag(myerror, k = 1) myerror 1 -13.63333333 -12.63333333 2 -4.13333333 -13.63333333 3 -10.43333333 -4.13333333 4 -14.23333333 -10.43333333 5 -6.23333333 -14.23333333 6 -21.63333333 -6.23333333 7 -27.83333333 -21.63333333 8 -4.33333333 -27.83333333 9 -0.03333333 -4.33333333 10 -9.63333333 -0.03333333 11 -3.23333333 -9.63333333 12 -15.03333333 -3.23333333 13 -14.23333333 -15.03333333 14 5.86666667 -14.23333333 15 -6.53333333 5.86666667 16 -6.33333333 -6.53333333 17 4.76666667 -6.33333333 18 -16.53333333 4.76666667 19 -16.13333333 -16.53333333 20 6.56666667 -16.13333333 21 10.26666667 6.56666667 22 7.26666667 10.26666667 23 14.36666667 7.26666667 24 -5.23333333 14.36666667 25 -2.63333333 -5.23333333 26 13.26666667 -2.63333333 27 9.06666667 13.26666667 28 2.16666667 9.06666667 29 16.96666667 2.16666667 30 -9.33333333 16.96666667 31 -3.33333333 -9.33333333 32 17.56666667 -3.33333333 33 9.96666667 17.56666667 34 18.76666667 9.96666667 35 23.06666667 18.76666667 36 12.96666667 23.06666667 37 14.16666667 12.96666667 38 36.26666667 14.16666667 39 -13.37142857 36.26666667 40 -3.37142857 -13.37142857 41 8.42857143 -3.37142857 42 -24.17142857 8.42857143 43 -19.37142857 -24.17142857 44 -3.17142857 -19.37142857 45 5.52857143 -3.17142857 46 2.42857143 5.52857143 47 3.42857143 2.42857143 48 -6.47142857 3.42857143 49 -8.57142857 -6.47142857 50 9.92857143 -8.57142857 51 -4.57142857 9.92857143 52 4.22857143 -4.57142857 53 13.52857143 4.22857143 54 -8.97142857 13.52857143 55 -11.57142857 -8.97142857 56 4.02857143 -11.57142857 57 16.52857143 4.02857143 58 11.62857143 16.52857143 59 9.52857143 11.62857143 60 -5.37142857 9.52857143 61 -2.67142857 -5.37142857 62 4.62857143 -2.67142857 63 7.12857143 4.62857143 64 1.22857143 7.12857143 65 10.22857143 1.22857143 66 -0.77142857 10.22857143 > plot(z,main=paste('Residual Lag plot, lowess, and regression line'), ylab='values of Residuals', xlab='lagged values of Residuals') > lines(lowess(z)) > abline(lm(z)) > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/7jbt91227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > acf(mysum$resid, lag.max=length(mysum$resid)/2, main='Residual Autocorrelation Function') > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/8o50n1227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > pacf(mysum$resid, lag.max=length(mysum$resid)/2, main='Residual Partial Autocorrelation Function') > grid() > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/9plt21227560023.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > opar <- par(mfrow = c(2,2), oma = c(0, 0, 1.1, 0)) > plot(mylm, las = 1, sub='Residual Diagnostics') > par(opar) > 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, 'Multiple Linear Regression - Estimated Regression Equation', 1, TRUE) > a<-table.row.end(a) > myeq <- colnames(x)[1] > myeq <- paste(myeq, '[t] = ', sep='') > for (i in 1:k){ + if (mysum$coefficients[i,1] > 0) myeq <- paste(myeq, '+', '') + myeq <- paste(myeq, mysum$coefficients[i,1], sep=' ') + if (rownames(mysum$coefficients)[i] != '(Intercept)') { + myeq <- paste(myeq, rownames(mysum$coefficients)[i], sep='') + if (rownames(mysum$coefficients)[i] != 't') myeq <- paste(myeq, '[t]', sep='') + } + } > myeq <- paste(myeq, ' + e[t]') > a<-table.row.start(a) > a<-table.element(a, myeq) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/10nb4v1227560023.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,hyperlink('http://www.xycoon.com/ols1.htm','Multiple Linear Regression - Ordinary Least Squares',''), 6, TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Variable',header=TRUE) > a<-table.element(a,'Parameter',header=TRUE) > a<-table.element(a,'S.D.',header=TRUE) > a<-table.element(a,'T-STAT
H0: parameter = 0',header=TRUE) > a<-table.element(a,'2-tail p-value',header=TRUE) > a<-table.element(a,'1-tail p-value',header=TRUE) > a<-table.row.end(a) > for (i in 1:k){ + a<-table.row.start(a) + a<-table.element(a,rownames(mysum$coefficients)[i],header=TRUE) + a<-table.element(a,mysum$coefficients[i,1]) + a<-table.element(a, round(mysum$coefficients[i,2],6)) + a<-table.element(a, round(mysum$coefficients[i,3],4)) + a<-table.element(a, round(mysum$coefficients[i,4],6)) + a<-table.element(a, round(mysum$coefficients[i,4]/2,6)) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/11k4es1227560023.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a, 'Multiple Linear Regression - Regression Statistics', 2, TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Multiple R',1,TRUE) > a<-table.element(a, sqrt(mysum$r.squared)) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'R-squared',1,TRUE) > a<-table.element(a, mysum$r.squared) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Adjusted R-squared',1,TRUE) > a<-table.element(a, mysum$adj.r.squared) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'F-TEST (value)',1,TRUE) > a<-table.element(a, mysum$fstatistic[1]) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'F-TEST (DF numerator)',1,TRUE) > a<-table.element(a, mysum$fstatistic[2]) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'F-TEST (DF denominator)',1,TRUE) > a<-table.element(a, mysum$fstatistic[3]) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'p-value',1,TRUE) > a<-table.element(a, 1-pf(mysum$fstatistic[1],mysum$fstatistic[2],mysum$fstatistic[3])) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Multiple Linear Regression - Residual Statistics', 2, TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Residual Standard Deviation',1,TRUE) > a<-table.element(a, mysum$sigma) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Sum Squared Residuals',1,TRUE) > a<-table.element(a, sum(myerror*myerror)) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/12yy7l1227560023.tab") > a<-table.start() > a<-table.row.start(a) > a<-table.element(a, 'Multiple Linear Regression - Actuals, Interpolation, and Residuals', 4, TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a, 'Time or Index', 1, TRUE) > a<-table.element(a, 'Actuals', 1, TRUE) > a<-table.element(a, 'Interpolation
Forecast', 1, TRUE) > a<-table.element(a, 'Residuals
Prediction Error', 1, TRUE) > a<-table.row.end(a) > for (i in 1:n) { + a<-table.row.start(a) + a<-table.element(a,i, 1, TRUE) + a<-table.element(a,x[i]) + a<-table.element(a,x[i]-mysum$resid[i]) + a<-table.element(a,mysum$resid[i]) + a<-table.row.end(a) + } > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/139nr71227560023.tab") > > system("convert tmp/1uns51227560023.ps tmp/1uns51227560023.png") > system("convert tmp/21e6t1227560023.ps tmp/21e6t1227560023.png") > system("convert tmp/3otej1227560023.ps tmp/3otej1227560023.png") > system("convert tmp/46f4m1227560023.ps tmp/46f4m1227560023.png") > system("convert tmp/59y8v1227560023.ps tmp/59y8v1227560023.png") > system("convert tmp/6ngfz1227560023.ps tmp/6ngfz1227560023.png") > system("convert tmp/7jbt91227560023.ps tmp/7jbt91227560023.png") > system("convert tmp/8o50n1227560023.ps tmp/8o50n1227560023.png") > system("convert tmp/9plt21227560023.ps tmp/9plt21227560023.png") > > > proc.time() user system elapsed 1.927 1.402 2.385