R version 2.9.0 (2009-04-17) Copyright (C) 2009 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(8.2,25.5,8.3,25.5,8.1,25.5,7.4,20.9,7.3,20.9,7.7,20.9,8,22.3,8,22.3,7.7,22.3,6.9,19.9,6.6,19.9,6.9,19.9,7.5,24.1,7.9,24.1,7.7,24.1,6.5,13.8,6.1,13.8,6.4,13.8,6.8,16.2,7.1,16.2,7.3,16.2,7.2,18.6,7,18.6,7,18.6,7,22.4,7.3,22.4,7.5,22.4,7.2,22.6,7.7,22.6,8,22.6,7.9,20,8,20,8,20,7.9,21.8,7.9,21.8,8,21.8,8.1,28.7,8.1,28.7,8.2,28.7,8,19.5,8.3,19.5,8.5,19.5,8.6,19.4,8.7,19.4,8.7,19.4,8.5,21.7,8.4,21.7,8.5,21.7,8.7,26.2,8.7,26.2,8.6,26.2,7.9,19.1,8.1,19.1,8.2,19.1,8.5,21.3,8.6,21.3,8.5,21.3,8.3,24.1,8.2,24.1,8.7,24.1),dim=c(2,60),dimnames=list(c('Y','X'),1:60)) > y <- array(NA,dim=c(2,60),dimnames=list(c('Y','X'),1:60)) > 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 = 'Include Monthly 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) > library(lmtest) Loading required package: zoo Attaching package: 'zoo' The following object(s) are masked from package:base : as.Date.numeric > n25 <- 25 #minimum number of obs. for Goldfeld-Quandt test > 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 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 1 8.2 25.5 1 0 0 0 0 0 0 0 0 0 0 2 8.3 25.5 0 1 0 0 0 0 0 0 0 0 0 3 8.1 25.5 0 0 1 0 0 0 0 0 0 0 0 4 7.4 20.9 0 0 0 1 0 0 0 0 0 0 0 5 7.3 20.9 0 0 0 0 1 0 0 0 0 0 0 6 7.7 20.9 0 0 0 0 0 1 0 0 0 0 0 7 8.0 22.3 0 0 0 0 0 0 1 0 0 0 0 8 8.0 22.3 0 0 0 0 0 0 0 1 0 0 0 9 7.7 22.3 0 0 0 0 0 0 0 0 1 0 0 10 6.9 19.9 0 0 0 0 0 0 0 0 0 1 0 11 6.6 19.9 0 0 0 0 0 0 0 0 0 0 1 12 6.9 19.9 0 0 0 0 0 0 0 0 0 0 0 13 7.5 24.1 1 0 0 0 0 0 0 0 0 0 0 14 7.9 24.1 0 1 0 0 0 0 0 0 0 0 0 15 7.7 24.1 0 0 1 0 0 0 0 0 0 0 0 16 6.5 13.8 0 0 0 1 0 0 0 0 0 0 0 17 6.1 13.8 0 0 0 0 1 0 0 0 0 0 0 18 6.4 13.8 0 0 0 0 0 1 0 0 0 0 0 19 6.8 16.2 0 0 0 0 0 0 1 0 0 0 0 20 7.1 16.2 0 0 0 0 0 0 0 1 0 0 0 21 7.3 16.2 0 0 0 0 0 0 0 0 1 0 0 22 7.2 18.6 0 0 0 0 0 0 0 0 0 1 0 23 7.0 18.6 0 0 0 0 0 0 0 0 0 0 1 24 7.0 18.6 0 0 0 0 0 0 0 0 0 0 0 25 7.0 22.4 1 0 0 0 0 0 0 0 0 0 0 26 7.3 22.4 0 1 0 0 0 0 0 0 0 0 0 27 7.5 22.4 0 0 1 0 0 0 0 0 0 0 0 28 7.2 22.6 0 0 0 1 0 0 0 0 0 0 0 29 7.7 22.6 0 0 0 0 1 0 0 0 0 0 0 30 8.0 22.6 0 0 0 0 0 1 0 0 0 0 0 31 7.9 20.0 0 0 0 0 0 0 1 0 0 0 0 32 8.0 20.0 0 0 0 0 0 0 0 1 0 0 0 33 8.0 20.0 0 0 0 0 0 0 0 0 1 0 0 34 7.9 21.8 0 0 0 0 0 0 0 0 0 1 0 35 7.9 21.8 0 0 0 0 0 0 0 0 0 0 1 36 8.0 21.8 0 0 0 0 0 0 0 0 0 0 0 37 8.1 28.7 1 0 0 0 0 0 0 0 0 0 0 38 8.1 28.7 0 1 0 0 0 0 0 0 0 0 0 39 8.2 28.7 0 0 1 0 0 0 0 0 0 0 0 40 8.0 19.5 0 0 0 1 0 0 0 0 0 0 0 41 8.3 19.5 0 0 0 0 1 0 0 0 0 0 0 42 8.5 19.5 0 0 0 0 0 1 0 0 0 0 0 43 8.6 19.4 0 0 0 0 0 0 1 0 0 0 0 44 8.7 19.4 0 0 0 0 0 0 0 1 0 0 0 45 8.7 19.4 0 0 0 0 0 0 0 0 1 0 0 46 8.5 21.7 0 0 0 0 0 0 0 0 0 1 0 47 8.4 21.7 0 0 0 0 0 0 0 0 0 0 1 48 8.5 21.7 0 0 0 0 0 0 0 0 0 0 0 49 8.7 26.2 1 0 0 0 0 0 0 0 0 0 0 50 8.7 26.2 0 1 0 0 0 0 0 0 0 0 0 51 8.6 26.2 0 0 1 0 0 0 0 0 0 0 0 52 7.9 19.1 0 0 0 1 0 0 0 0 0 0 0 53 8.1 19.1 0 0 0 0 1 0 0 0 0 0 0 54 8.2 19.1 0 0 0 0 0 1 0 0 0 0 0 55 8.5 21.3 0 0 0 0 0 0 1 0 0 0 0 56 8.6 21.3 0 0 0 0 0 0 0 1 0 0 0 57 8.5 21.3 0 0 0 0 0 0 0 0 1 0 0 58 8.3 24.1 0 0 0 0 0 0 0 0 0 1 0 59 8.2 24.1 0 0 0 0 0 0 0 0 0 0 1 60 8.7 24.1 0 0 0 0 0 0 0 0 0 0 0 > k <- length(x[1,]) > df <- as.data.frame(x) > (mylm <- lm(df)) Call: lm(formula = df) Coefficients: (Intercept) X M1 M2 M3 M4 3.8901 0.1852 -0.6904 -0.5304 -0.5704 -0.0422 M5 M6 M7 M8 M9 M10 0.0578 0.3178 0.3956 0.5156 0.4756 -0.0600 M11 -0.2000 > (mysum <- summary(mylm)) Call: lm(formula = df) Residuals: Min 1Q Median 3Q Max -0.83337 -0.38225 -0.02963 0.36701 0.74149 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 3.89013 0.64600 6.022 2.49e-07 *** X 0.18520 0.02851 6.495 4.77e-08 *** M1 -0.69042 0.34141 -2.022 0.0489 * M2 -0.53042 0.34141 -1.554 0.1270 M3 -0.57042 0.34141 -1.671 0.1014 M4 -0.04220 0.32538 -0.130 0.8974 M5 0.05780 0.32538 0.178 0.8598 M6 0.31780 0.32538 0.977 0.3337 M7 0.39557 0.32255 1.226 0.2262 M8 0.51557 0.32255 1.598 0.1166 M9 0.47557 0.32255 1.474 0.1470 M10 -0.06000 0.32014 -0.187 0.8521 M11 -0.20000 0.32014 -0.625 0.5352 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.5062 on 47 degrees of freedom Multiple R-squared: 0.531, Adjusted R-squared: 0.4113 F-statistic: 4.435 on 12 and 47 DF, p-value: 0.0001032 > if (n > n25) { + kp3 <- k + 3 + nmkm3 <- n - k - 3 + gqarr <- array(NA, dim=c(nmkm3-kp3+1,3)) + numgqtests <- 0 + numsignificant1 <- 0 + numsignificant5 <- 0 + numsignificant10 <- 0 + for (mypoint in kp3:nmkm3) { + j <- 0 + numgqtests <- numgqtests + 1 + for (myalt in c('greater', 'two.sided', 'less')) { + j <- j + 1 + gqarr[mypoint-kp3+1,j] <- gqtest(mylm, point=mypoint, alternative=myalt)$p.value + } + if (gqarr[mypoint-kp3+1,2] < 0.01) numsignificant1 <- numsignificant1 + 1 + if (gqarr[mypoint-kp3+1,2] < 0.05) numsignificant5 <- numsignificant5 + 1 + if (gqarr[mypoint-kp3+1,2] < 0.10) numsignificant10 <- numsignificant10 + 1 + } + gqarr + } [,1] [,2] [,3] [1,] 0.118676967 0.237353934 0.881323033 [2,] 0.048309837 0.096619674 0.951690163 [3,] 0.019993609 0.039987219 0.980006391 [4,] 0.009517612 0.019035224 0.990482388 [5,] 0.004212473 0.008424945 0.995787527 [6,] 0.011433099 0.022866198 0.988566901 [7,] 0.014090780 0.028181559 0.985909220 [8,] 0.023999520 0.047999041 0.976000480 [9,] 0.027109694 0.054219388 0.972890306 [10,] 0.062345121 0.124690241 0.937654879 [11,] 0.120963183 0.241926365 0.879036817 [12,] 0.227648668 0.455297335 0.772351332 [13,] 0.310450212 0.620900424 0.689549788 [14,] 0.264059011 0.528118022 0.735940989 [15,] 0.204264006 0.408528011 0.795735994 [16,] 0.281314918 0.562629836 0.718685082 [17,] 0.381560864 0.763121728 0.618439136 [18,] 0.509017728 0.981964544 0.490982272 [19,] 0.651362337 0.697275327 0.348637663 [20,] 0.802563226 0.394873547 0.197436774 [21,] 0.974610225 0.050779550 0.025389775 [22,] 0.978254676 0.043490647 0.021745324 [23,] 0.990992366 0.018015269 0.009007634 [24,] 0.991240632 0.017518737 0.008759368 [25,] 0.989835726 0.020328548 0.010164274 [26,] 0.992392792 0.015214416 0.007607208 [27,] 0.996049123 0.007901754 0.003950877 [28,] 0.988104348 0.023791304 0.011895652 [29,] 0.961547315 0.076905369 0.038452685 > postscript(file="/var/www/html/rcomp/tmp/12u221258555437.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/2o4f61258555437.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/33ad31258555437.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/420it1258555437.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/558ml1258555437.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > qqnorm(mysum$resid, main='Residual Normal Q-Q Plot') > qqline(mysum$resid) > grid() > dev.off() null device 1 > (myerror <- as.ts(mysum$resid)) Time Series: Start = 1 End = 60 Frequency = 1 1 2 3 4 5 6 0.277776424 0.217776424 0.057776424 -0.318537923 -0.518537923 -0.378537923 7 8 9 10 11 12 -0.415583308 -0.535583308 -0.795583308 -0.615540664 -0.775540664 -0.675540664 13 14 15 16 17 18 -0.162948523 0.077051477 -0.082948523 0.096356991 -0.403643009 -0.363643009 19 20 21 22 23 24 -0.485884861 -0.305884861 -0.065884861 -0.074785257 -0.134785257 -0.334785257 25 26 27 28 29 30 -0.348114529 -0.208114529 0.031885471 -0.833371916 -0.433371916 -0.393371916 31 32 33 34 35 36 -0.089631435 -0.109631435 -0.069631435 0.032586049 0.172586049 0.072586049 37 38 39 40 41 42 -0.414852269 -0.574852269 -0.434852269 0.540737131 0.740737131 0.680737131 43 44 45 46 47 48 0.721486445 0.701486445 0.741486445 0.651105696 0.691105696 0.591105696 49 50 51 52 53 54 0.648138897 0.488138897 0.428138897 0.514815717 0.614815717 0.454815717 55 56 57 58 59 60 0.269613159 0.249613159 0.189613159 0.006634176 0.046634176 0.346634176 > postscript(file="/var/www/html/rcomp/tmp/67pih1258555437.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 = 60 Frequency = 1 lag(myerror, k = 1) myerror 0 0.277776424 NA 1 0.217776424 0.277776424 2 0.057776424 0.217776424 3 -0.318537923 0.057776424 4 -0.518537923 -0.318537923 5 -0.378537923 -0.518537923 6 -0.415583308 -0.378537923 7 -0.535583308 -0.415583308 8 -0.795583308 -0.535583308 9 -0.615540664 -0.795583308 10 -0.775540664 -0.615540664 11 -0.675540664 -0.775540664 12 -0.162948523 -0.675540664 13 0.077051477 -0.162948523 14 -0.082948523 0.077051477 15 0.096356991 -0.082948523 16 -0.403643009 0.096356991 17 -0.363643009 -0.403643009 18 -0.485884861 -0.363643009 19 -0.305884861 -0.485884861 20 -0.065884861 -0.305884861 21 -0.074785257 -0.065884861 22 -0.134785257 -0.074785257 23 -0.334785257 -0.134785257 24 -0.348114529 -0.334785257 25 -0.208114529 -0.348114529 26 0.031885471 -0.208114529 27 -0.833371916 0.031885471 28 -0.433371916 -0.833371916 29 -0.393371916 -0.433371916 30 -0.089631435 -0.393371916 31 -0.109631435 -0.089631435 32 -0.069631435 -0.109631435 33 0.032586049 -0.069631435 34 0.172586049 0.032586049 35 0.072586049 0.172586049 36 -0.414852269 0.072586049 37 -0.574852269 -0.414852269 38 -0.434852269 -0.574852269 39 0.540737131 -0.434852269 40 0.740737131 0.540737131 41 0.680737131 0.740737131 42 0.721486445 0.680737131 43 0.701486445 0.721486445 44 0.741486445 0.701486445 45 0.651105696 0.741486445 46 0.691105696 0.651105696 47 0.591105696 0.691105696 48 0.648138897 0.591105696 49 0.488138897 0.648138897 50 0.428138897 0.488138897 51 0.514815717 0.428138897 52 0.614815717 0.514815717 53 0.454815717 0.614815717 54 0.269613159 0.454815717 55 0.249613159 0.269613159 56 0.189613159 0.249613159 57 0.006634176 0.189613159 58 0.046634176 0.006634176 59 0.346634176 0.046634176 60 NA 0.346634176 > dum1 <- dum[2:length(myerror),] > dum1 lag(myerror, k = 1) myerror [1,] 0.217776424 0.277776424 [2,] 0.057776424 0.217776424 [3,] -0.318537923 0.057776424 [4,] -0.518537923 -0.318537923 [5,] -0.378537923 -0.518537923 [6,] -0.415583308 -0.378537923 [7,] -0.535583308 -0.415583308 [8,] -0.795583308 -0.535583308 [9,] -0.615540664 -0.795583308 [10,] -0.775540664 -0.615540664 [11,] -0.675540664 -0.775540664 [12,] -0.162948523 -0.675540664 [13,] 0.077051477 -0.162948523 [14,] -0.082948523 0.077051477 [15,] 0.096356991 -0.082948523 [16,] -0.403643009 0.096356991 [17,] -0.363643009 -0.403643009 [18,] -0.485884861 -0.363643009 [19,] -0.305884861 -0.485884861 [20,] -0.065884861 -0.305884861 [21,] -0.074785257 -0.065884861 [22,] -0.134785257 -0.074785257 [23,] -0.334785257 -0.134785257 [24,] -0.348114529 -0.334785257 [25,] -0.208114529 -0.348114529 [26,] 0.031885471 -0.208114529 [27,] -0.833371916 0.031885471 [28,] -0.433371916 -0.833371916 [29,] -0.393371916 -0.433371916 [30,] -0.089631435 -0.393371916 [31,] -0.109631435 -0.089631435 [32,] -0.069631435 -0.109631435 [33,] 0.032586049 -0.069631435 [34,] 0.172586049 0.032586049 [35,] 0.072586049 0.172586049 [36,] -0.414852269 0.072586049 [37,] -0.574852269 -0.414852269 [38,] -0.434852269 -0.574852269 [39,] 0.540737131 -0.434852269 [40,] 0.740737131 0.540737131 [41,] 0.680737131 0.740737131 [42,] 0.721486445 0.680737131 [43,] 0.701486445 0.721486445 [44,] 0.741486445 0.701486445 [45,] 0.651105696 0.741486445 [46,] 0.691105696 0.651105696 [47,] 0.591105696 0.691105696 [48,] 0.648138897 0.591105696 [49,] 0.488138897 0.648138897 [50,] 0.428138897 0.488138897 [51,] 0.514815717 0.428138897 [52,] 0.614815717 0.514815717 [53,] 0.454815717 0.614815717 [54,] 0.269613159 0.454815717 [55,] 0.249613159 0.269613159 [56,] 0.189613159 0.249613159 [57,] 0.006634176 0.189613159 [58,] 0.046634176 0.006634176 [59,] 0.346634176 0.046634176 > z <- as.data.frame(dum1) > z lag(myerror, k = 1) myerror 1 0.217776424 0.277776424 2 0.057776424 0.217776424 3 -0.318537923 0.057776424 4 -0.518537923 -0.318537923 5 -0.378537923 -0.518537923 6 -0.415583308 -0.378537923 7 -0.535583308 -0.415583308 8 -0.795583308 -0.535583308 9 -0.615540664 -0.795583308 10 -0.775540664 -0.615540664 11 -0.675540664 -0.775540664 12 -0.162948523 -0.675540664 13 0.077051477 -0.162948523 14 -0.082948523 0.077051477 15 0.096356991 -0.082948523 16 -0.403643009 0.096356991 17 -0.363643009 -0.403643009 18 -0.485884861 -0.363643009 19 -0.305884861 -0.485884861 20 -0.065884861 -0.305884861 21 -0.074785257 -0.065884861 22 -0.134785257 -0.074785257 23 -0.334785257 -0.134785257 24 -0.348114529 -0.334785257 25 -0.208114529 -0.348114529 26 0.031885471 -0.208114529 27 -0.833371916 0.031885471 28 -0.433371916 -0.833371916 29 -0.393371916 -0.433371916 30 -0.089631435 -0.393371916 31 -0.109631435 -0.089631435 32 -0.069631435 -0.109631435 33 0.032586049 -0.069631435 34 0.172586049 0.032586049 35 0.072586049 0.172586049 36 -0.414852269 0.072586049 37 -0.574852269 -0.414852269 38 -0.434852269 -0.574852269 39 0.540737131 -0.434852269 40 0.740737131 0.540737131 41 0.680737131 0.740737131 42 0.721486445 0.680737131 43 0.701486445 0.721486445 44 0.741486445 0.701486445 45 0.651105696 0.741486445 46 0.691105696 0.651105696 47 0.591105696 0.691105696 48 0.648138897 0.591105696 49 0.488138897 0.648138897 50 0.428138897 0.488138897 51 0.514815717 0.428138897 52 0.614815717 0.514815717 53 0.454815717 0.614815717 54 0.269613159 0.454815717 55 0.249613159 0.269613159 56 0.189613159 0.249613159 57 0.006634176 0.189613159 58 0.046634176 0.006634176 59 0.346634176 0.046634176 > 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/7uysc1258555437.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/8ksuf1258555437.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/9mx611258555437.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 > if (n > n25) { + postscript(file="/var/www/html/rcomp/tmp/10jxq01258555437.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) + plot(kp3:nmkm3,gqarr[,2], main='Goldfeld-Quandt test',ylab='2-sided p-value',xlab='breakpoint') + grid() + 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/11w0561258555437.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/12fkoa1258555437.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/13c04p1258555438.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/149n151258555438.tab") > if (n > n25) { + a<-table.start() + a<-table.row.start(a) + a<-table.element(a,'Goldfeld-Quandt test for Heteroskedasticity',4,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'p-values',header=TRUE) + a<-table.element(a,'Alternative Hypothesis',3,header=TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'breakpoint index',header=TRUE) + a<-table.element(a,'greater',header=TRUE) + a<-table.element(a,'2-sided',header=TRUE) + a<-table.element(a,'less',header=TRUE) + a<-table.row.end(a) + for (mypoint in kp3:nmkm3) { + a<-table.row.start(a) + a<-table.element(a,mypoint,header=TRUE) + a<-table.element(a,gqarr[mypoint-kp3+1,1]) + a<-table.element(a,gqarr[mypoint-kp3+1,2]) + a<-table.element(a,gqarr[mypoint-kp3+1,3]) + a<-table.row.end(a) + } + a<-table.end(a) + table.save(a,file="/var/www/html/rcomp/tmp/15oin81258555438.tab") + a<-table.start() + a<-table.row.start(a) + a<-table.element(a,'Meta Analysis of Goldfeld-Quandt test for Heteroskedasticity',4,TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'Description',header=TRUE) + a<-table.element(a,'# significant tests',header=TRUE) + a<-table.element(a,'% significant tests',header=TRUE) + a<-table.element(a,'OK/NOK',header=TRUE) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'1% type I error level',header=TRUE) + a<-table.element(a,numsignificant1) + a<-table.element(a,numsignificant1/numgqtests) + if (numsignificant1/numgqtests < 0.01) dum <- 'OK' else dum <- 'NOK' + a<-table.element(a,dum) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'5% type I error level',header=TRUE) + a<-table.element(a,numsignificant5) + a<-table.element(a,numsignificant5/numgqtests) + if (numsignificant5/numgqtests < 0.05) dum <- 'OK' else dum <- 'NOK' + a<-table.element(a,dum) + a<-table.row.end(a) + a<-table.row.start(a) + a<-table.element(a,'10% type I error level',header=TRUE) + a<-table.element(a,numsignificant10) + a<-table.element(a,numsignificant10/numgqtests) + if (numsignificant10/numgqtests < 0.1) dum <- 'OK' else dum <- 'NOK' + a<-table.element(a,dum) + a<-table.row.end(a) + a<-table.end(a) + table.save(a,file="/var/www/html/rcomp/tmp/166b6y1258555438.tab") + } > > system("convert tmp/12u221258555437.ps tmp/12u221258555437.png") > system("convert tmp/2o4f61258555437.ps tmp/2o4f61258555437.png") > system("convert tmp/33ad31258555437.ps tmp/33ad31258555437.png") > system("convert tmp/420it1258555437.ps tmp/420it1258555437.png") > system("convert tmp/558ml1258555437.ps tmp/558ml1258555437.png") > system("convert tmp/67pih1258555437.ps tmp/67pih1258555437.png") > system("convert tmp/7uysc1258555437.ps tmp/7uysc1258555437.png") > system("convert tmp/8ksuf1258555437.ps tmp/8ksuf1258555437.png") > system("convert tmp/9mx611258555437.ps tmp/9mx611258555437.png") > system("convert tmp/10jxq01258555437.ps tmp/10jxq01258555437.png") > > > proc.time() user system elapsed 2.390 1.570 7.053