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.7,4.7,9.3,9.3,8.2,4.3,8.7,9.3,8.3,3.9,8.2,8.7,8.5,4,8.3,8.2,8.6,4.3,8.5,8.3,8.5,4.8,8.6,8.5,8.2,4.4,8.5,8.6,8.1,4.3,8.2,8.5,7.9,4.7,8.1,8.2,8.6,4.7,7.9,8.1,8.7,4.9,8.6,7.9,8.7,5,8.7,8.6,8.5,4.2,8.7,8.7,8.4,4.3,8.5,8.7,8.5,4.8,8.4,8.5,8.7,4.8,8.5,8.4,8.7,4.8,8.7,8.5,8.6,4.2,8.7,8.7,8.5,4.6,8.6,8.7,8.3,4.8,8.5,8.6,8,4.5,8.3,8.5,8.2,4.4,8,8.3,8.1,4.3,8.2,8,8.1,3.9,8.1,8.2,8,3.7,8.1,8.1,7.9,4,8,8.1,7.9,4.1,7.9,8,8,3.7,7.9,7.9,8,3.8,8,7.9,7.9,3.8,8,8,8,3.8,7.9,8,7.7,3.3,8,7.9,7.2,3.3,7.7,8,7.5,3.3,7.2,7.7,7.3,3.2,7.5,7.2,7,3.4,7.3,7.5,7,4.2,7,7.3,7,4.9,7,7,7.2,5.1,7,7,7.3,5.5,7.2,7,7.1,5.6,7.3,7.2,6.8,6.4,7.1,7.3,6.4,6.1,6.8,7.1,6.1,7.1,6.4,6.8,6.5,7.8,6.1,6.4,7.7,7.9,6.5,6.1,7.9,7.4,7.7,6.5,7.5,7.5,7.9,7.7,6.9,6.8,7.5,7.9,6.6,5.2,6.9,7.5,6.9,4.7,6.6,6.9,7.7,4.1,6.9,6.6,8,3.9,7.7,6.9,8,2.6,8,7.7,7.7,2.7,8,8,7.3,1.8,7.7,8,7.4,1,7.3,7.7,8.1,0.3,7.4,7.3),dim=c(4,58),dimnames=list(c('Y','X','Y1','Y2'),1:58)) > y <- array(NA,dim=c(4,58),dimnames=list(c('Y','X','Y1','Y2'),1:58)) > for (i in 1:dim(x)[1]) + { + for (j in 1:dim(x)[2]) + { + y[i,j] <- as.numeric(x[i,j]) + } + } > par3 = '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 Y1 Y2 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 t 1 8.7 4.7 9.3 9.3 1 0 0 0 0 0 0 0 0 0 0 1 2 8.2 4.3 8.7 9.3 0 1 0 0 0 0 0 0 0 0 0 2 3 8.3 3.9 8.2 8.7 0 0 1 0 0 0 0 0 0 0 0 3 4 8.5 4.0 8.3 8.2 0 0 0 1 0 0 0 0 0 0 0 4 5 8.6 4.3 8.5 8.3 0 0 0 0 1 0 0 0 0 0 0 5 6 8.5 4.8 8.6 8.5 0 0 0 0 0 1 0 0 0 0 0 6 7 8.2 4.4 8.5 8.6 0 0 0 0 0 0 1 0 0 0 0 7 8 8.1 4.3 8.2 8.5 0 0 0 0 0 0 0 1 0 0 0 8 9 7.9 4.7 8.1 8.2 0 0 0 0 0 0 0 0 1 0 0 9 10 8.6 4.7 7.9 8.1 0 0 0 0 0 0 0 0 0 1 0 10 11 8.7 4.9 8.6 7.9 0 0 0 0 0 0 0 0 0 0 1 11 12 8.7 5.0 8.7 8.6 0 0 0 0 0 0 0 0 0 0 0 12 13 8.5 4.2 8.7 8.7 1 0 0 0 0 0 0 0 0 0 0 13 14 8.4 4.3 8.5 8.7 0 1 0 0 0 0 0 0 0 0 0 14 15 8.5 4.8 8.4 8.5 0 0 1 0 0 0 0 0 0 0 0 15 16 8.7 4.8 8.5 8.4 0 0 0 1 0 0 0 0 0 0 0 16 17 8.7 4.8 8.7 8.5 0 0 0 0 1 0 0 0 0 0 0 17 18 8.6 4.2 8.7 8.7 0 0 0 0 0 1 0 0 0 0 0 18 19 8.5 4.6 8.6 8.7 0 0 0 0 0 0 1 0 0 0 0 19 20 8.3 4.8 8.5 8.6 0 0 0 0 0 0 0 1 0 0 0 20 21 8.0 4.5 8.3 8.5 0 0 0 0 0 0 0 0 1 0 0 21 22 8.2 4.4 8.0 8.3 0 0 0 0 0 0 0 0 0 1 0 22 23 8.1 4.3 8.2 8.0 0 0 0 0 0 0 0 0 0 0 1 23 24 8.1 3.9 8.1 8.2 0 0 0 0 0 0 0 0 0 0 0 24 25 8.0 3.7 8.1 8.1 1 0 0 0 0 0 0 0 0 0 0 25 26 7.9 4.0 8.0 8.1 0 1 0 0 0 0 0 0 0 0 0 26 27 7.9 4.1 7.9 8.0 0 0 1 0 0 0 0 0 0 0 0 27 28 8.0 3.7 7.9 7.9 0 0 0 1 0 0 0 0 0 0 0 28 29 8.0 3.8 8.0 7.9 0 0 0 0 1 0 0 0 0 0 0 29 30 7.9 3.8 8.0 8.0 0 0 0 0 0 1 0 0 0 0 0 30 31 8.0 3.8 7.9 8.0 0 0 0 0 0 0 1 0 0 0 0 31 32 7.7 3.3 8.0 7.9 0 0 0 0 0 0 0 1 0 0 0 32 33 7.2 3.3 7.7 8.0 0 0 0 0 0 0 0 0 1 0 0 33 34 7.5 3.3 7.2 7.7 0 0 0 0 0 0 0 0 0 1 0 34 35 7.3 3.2 7.5 7.2 0 0 0 0 0 0 0 0 0 0 1 35 36 7.0 3.4 7.3 7.5 0 0 0 0 0 0 0 0 0 0 0 36 37 7.0 4.2 7.0 7.3 1 0 0 0 0 0 0 0 0 0 0 37 38 7.0 4.9 7.0 7.0 0 1 0 0 0 0 0 0 0 0 0 38 39 7.2 5.1 7.0 7.0 0 0 1 0 0 0 0 0 0 0 0 39 40 7.3 5.5 7.2 7.0 0 0 0 1 0 0 0 0 0 0 0 40 41 7.1 5.6 7.3 7.2 0 0 0 0 1 0 0 0 0 0 0 41 42 6.8 6.4 7.1 7.3 0 0 0 0 0 1 0 0 0 0 0 42 43 6.4 6.1 6.8 7.1 0 0 0 0 0 0 1 0 0 0 0 43 44 6.1 7.1 6.4 6.8 0 0 0 0 0 0 0 1 0 0 0 44 45 6.5 7.8 6.1 6.4 0 0 0 0 0 0 0 0 1 0 0 45 46 7.7 7.9 6.5 6.1 0 0 0 0 0 0 0 0 0 1 0 46 47 7.9 7.4 7.7 6.5 0 0 0 0 0 0 0 0 0 0 1 47 48 7.5 7.5 7.9 7.7 0 0 0 0 0 0 0 0 0 0 0 48 49 6.9 6.8 7.5 7.9 1 0 0 0 0 0 0 0 0 0 0 49 50 6.6 5.2 6.9 7.5 0 1 0 0 0 0 0 0 0 0 0 50 51 6.9 4.7 6.6 6.9 0 0 1 0 0 0 0 0 0 0 0 51 52 7.7 4.1 6.9 6.6 0 0 0 1 0 0 0 0 0 0 0 52 53 8.0 3.9 7.7 6.9 0 0 0 0 1 0 0 0 0 0 0 53 54 8.0 2.6 8.0 7.7 0 0 0 0 0 1 0 0 0 0 0 54 55 7.7 2.7 8.0 8.0 0 0 0 0 0 0 1 0 0 0 0 55 56 7.3 1.8 7.7 8.0 0 0 0 0 0 0 0 1 0 0 0 56 57 7.4 1.0 7.3 7.7 0 0 0 0 0 0 0 0 1 0 0 57 58 8.1 0.3 7.4 7.3 0 0 0 0 0 0 0 0 0 1 0 58 > k <- length(x[1,]) > df <- as.data.frame(x) > (mylm <- lm(df)) Call: lm(formula = df) Coefficients: (Intercept) X Y1 Y2 M1 M2 2.686712 -0.043180 1.389498 -0.689862 -0.043151 0.077514 M3 M4 M5 M6 M7 M8 0.295761 0.247109 0.005390 0.025958 0.026734 -0.032572 M9 M10 M11 t 0.098894 0.680603 -0.247086 -0.008169 > (mysum <- summary(mylm)) Call: lm(formula = df) Residuals: Min 1Q Median 3Q Max -0.35379 -0.13862 -0.00392 0.12784 0.35797 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2.686712 0.789666 3.402 0.00148 ** X -0.043180 0.021873 -1.974 0.05497 . Y1 1.389498 0.118923 11.684 8.83e-15 *** Y2 -0.689862 0.131892 -5.230 5.02e-06 *** M1 -0.043151 0.126666 -0.341 0.73506 M2 0.077514 0.130730 0.593 0.55640 M3 0.295761 0.131503 2.249 0.02981 * M4 0.247109 0.133171 1.856 0.07054 . M5 0.005390 0.132226 0.041 0.96768 M6 0.025958 0.126118 0.206 0.83792 M7 0.026734 0.126659 0.211 0.83385 M8 -0.032572 0.128552 -0.253 0.80121 M9 0.098894 0.132076 0.749 0.45817 M10 0.680603 0.133804 5.087 8.03e-06 *** M11 -0.247086 0.154883 -1.595 0.11814 t -0.008169 0.002965 -2.755 0.00865 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.1871 on 42 degrees of freedom Multiple R-squared: 0.9419, Adjusted R-squared: 0.9212 F-statistic: 45.39 on 15 and 42 DF, p-value: < 2.2e-16 > 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.08880604 0.17761209 0.9111940 [2,] 0.04092657 0.08185315 0.9590734 [3,] 0.01455646 0.02911291 0.9854435 [4,] 0.16265039 0.32530079 0.8373496 [5,] 0.14955953 0.29911907 0.8504405 [6,] 0.15369197 0.30738393 0.8463080 [7,] 0.09766160 0.19532320 0.9023384 [8,] 0.08281254 0.16562507 0.9171875 [9,] 0.09845914 0.19691828 0.9015409 [10,] 0.06666794 0.13333588 0.9333321 [11,] 0.06675918 0.13351836 0.9332408 [12,] 0.05128469 0.10256937 0.9487153 [13,] 0.39475751 0.78951503 0.6052425 [14,] 0.46027225 0.92054450 0.5397278 [15,] 0.42829449 0.85658898 0.5717055 [16,] 0.45605809 0.91211617 0.5439419 [17,] 0.47049485 0.94098970 0.5295051 [18,] 0.50198804 0.99602393 0.4980120 [19,] 0.65835075 0.68329850 0.3416492 [20,] 0.61087439 0.77825122 0.3891256 [21,] 0.85670121 0.28659759 0.1432988 > postscript(file="/var/www/html/rcomp/tmp/1fjx91261060853.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/22qfl1261060853.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/3md5y1261060853.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/4nxxb1261060853.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/5oliv1261060853.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 = 58 Frequency = 1 1 2 3 4 5 -0.2390633572 -0.0351329623 0.1183494126 -0.1043930960 0.0495355838 6 7 8 9 10 -0.0422513919 -0.1441945971 0.1668252355 -0.2072084778 0.1281644679 11 12 13 14 15 0.0620368584 0.1713912560 0.0571523595 0.1268736985 0.0393638657 16 17 18 19 20 0.0882480036 0.1292225623 0.1288869569 0.1925019030 0.1385762278 21 22 23 24 25 -0.0887616103 -0.1877430622 0.1589381078 0.1796710739 0.0533680763 26 27 28 29 30 -0.0072243184 -0.1430201410 -0.0724583502 0.0427978916 -0.0006156432 31 32 33 34 35 0.2457271413 -0.2163244454 -0.3537860045 -0.1395359588 -0.1697769467 36 37 38 39 40 -0.2151997521 0.1495409258 -0.1396876370 -0.1411290620 -0.2449364054 41 42 43 44 45 -0.1917078202 -0.1226774030 -0.2493614540 -0.0898657061 0.3579681589 46 47 48 49 50 0.2259879148 -0.0511980195 -0.1358625778 -0.0209980044 0.0551712192 51 52 53 54 55 0.1264359247 0.3335398480 -0.0298482175 0.0366574812 -0.0446729932 56 57 58 0.0007886881 0.2917879336 -0.0268733618 > postscript(file="/var/www/html/rcomp/tmp/69z001261060853.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 = 58 Frequency = 1 lag(myerror, k = 1) myerror 0 -0.2390633572 NA 1 -0.0351329623 -0.2390633572 2 0.1183494126 -0.0351329623 3 -0.1043930960 0.1183494126 4 0.0495355838 -0.1043930960 5 -0.0422513919 0.0495355838 6 -0.1441945971 -0.0422513919 7 0.1668252355 -0.1441945971 8 -0.2072084778 0.1668252355 9 0.1281644679 -0.2072084778 10 0.0620368584 0.1281644679 11 0.1713912560 0.0620368584 12 0.0571523595 0.1713912560 13 0.1268736985 0.0571523595 14 0.0393638657 0.1268736985 15 0.0882480036 0.0393638657 16 0.1292225623 0.0882480036 17 0.1288869569 0.1292225623 18 0.1925019030 0.1288869569 19 0.1385762278 0.1925019030 20 -0.0887616103 0.1385762278 21 -0.1877430622 -0.0887616103 22 0.1589381078 -0.1877430622 23 0.1796710739 0.1589381078 24 0.0533680763 0.1796710739 25 -0.0072243184 0.0533680763 26 -0.1430201410 -0.0072243184 27 -0.0724583502 -0.1430201410 28 0.0427978916 -0.0724583502 29 -0.0006156432 0.0427978916 30 0.2457271413 -0.0006156432 31 -0.2163244454 0.2457271413 32 -0.3537860045 -0.2163244454 33 -0.1395359588 -0.3537860045 34 -0.1697769467 -0.1395359588 35 -0.2151997521 -0.1697769467 36 0.1495409258 -0.2151997521 37 -0.1396876370 0.1495409258 38 -0.1411290620 -0.1396876370 39 -0.2449364054 -0.1411290620 40 -0.1917078202 -0.2449364054 41 -0.1226774030 -0.1917078202 42 -0.2493614540 -0.1226774030 43 -0.0898657061 -0.2493614540 44 0.3579681589 -0.0898657061 45 0.2259879148 0.3579681589 46 -0.0511980195 0.2259879148 47 -0.1358625778 -0.0511980195 48 -0.0209980044 -0.1358625778 49 0.0551712192 -0.0209980044 50 0.1264359247 0.0551712192 51 0.3335398480 0.1264359247 52 -0.0298482175 0.3335398480 53 0.0366574812 -0.0298482175 54 -0.0446729932 0.0366574812 55 0.0007886881 -0.0446729932 56 0.2917879336 0.0007886881 57 -0.0268733618 0.2917879336 58 NA -0.0268733618 > dum1 <- dum[2:length(myerror),] > dum1 lag(myerror, k = 1) myerror [1,] -0.0351329623 -0.2390633572 [2,] 0.1183494126 -0.0351329623 [3,] -0.1043930960 0.1183494126 [4,] 0.0495355838 -0.1043930960 [5,] -0.0422513919 0.0495355838 [6,] -0.1441945971 -0.0422513919 [7,] 0.1668252355 -0.1441945971 [8,] -0.2072084778 0.1668252355 [9,] 0.1281644679 -0.2072084778 [10,] 0.0620368584 0.1281644679 [11,] 0.1713912560 0.0620368584 [12,] 0.0571523595 0.1713912560 [13,] 0.1268736985 0.0571523595 [14,] 0.0393638657 0.1268736985 [15,] 0.0882480036 0.0393638657 [16,] 0.1292225623 0.0882480036 [17,] 0.1288869569 0.1292225623 [18,] 0.1925019030 0.1288869569 [19,] 0.1385762278 0.1925019030 [20,] -0.0887616103 0.1385762278 [21,] -0.1877430622 -0.0887616103 [22,] 0.1589381078 -0.1877430622 [23,] 0.1796710739 0.1589381078 [24,] 0.0533680763 0.1796710739 [25,] -0.0072243184 0.0533680763 [26,] -0.1430201410 -0.0072243184 [27,] -0.0724583502 -0.1430201410 [28,] 0.0427978916 -0.0724583502 [29,] -0.0006156432 0.0427978916 [30,] 0.2457271413 -0.0006156432 [31,] -0.2163244454 0.2457271413 [32,] -0.3537860045 -0.2163244454 [33,] -0.1395359588 -0.3537860045 [34,] -0.1697769467 -0.1395359588 [35,] -0.2151997521 -0.1697769467 [36,] 0.1495409258 -0.2151997521 [37,] -0.1396876370 0.1495409258 [38,] -0.1411290620 -0.1396876370 [39,] -0.2449364054 -0.1411290620 [40,] -0.1917078202 -0.2449364054 [41,] -0.1226774030 -0.1917078202 [42,] -0.2493614540 -0.1226774030 [43,] -0.0898657061 -0.2493614540 [44,] 0.3579681589 -0.0898657061 [45,] 0.2259879148 0.3579681589 [46,] -0.0511980195 0.2259879148 [47,] -0.1358625778 -0.0511980195 [48,] -0.0209980044 -0.1358625778 [49,] 0.0551712192 -0.0209980044 [50,] 0.1264359247 0.0551712192 [51,] 0.3335398480 0.1264359247 [52,] -0.0298482175 0.3335398480 [53,] 0.0366574812 -0.0298482175 [54,] -0.0446729932 0.0366574812 [55,] 0.0007886881 -0.0446729932 [56,] 0.2917879336 0.0007886881 [57,] -0.0268733618 0.2917879336 > z <- as.data.frame(dum1) > z lag(myerror, k = 1) myerror 1 -0.0351329623 -0.2390633572 2 0.1183494126 -0.0351329623 3 -0.1043930960 0.1183494126 4 0.0495355838 -0.1043930960 5 -0.0422513919 0.0495355838 6 -0.1441945971 -0.0422513919 7 0.1668252355 -0.1441945971 8 -0.2072084778 0.1668252355 9 0.1281644679 -0.2072084778 10 0.0620368584 0.1281644679 11 0.1713912560 0.0620368584 12 0.0571523595 0.1713912560 13 0.1268736985 0.0571523595 14 0.0393638657 0.1268736985 15 0.0882480036 0.0393638657 16 0.1292225623 0.0882480036 17 0.1288869569 0.1292225623 18 0.1925019030 0.1288869569 19 0.1385762278 0.1925019030 20 -0.0887616103 0.1385762278 21 -0.1877430622 -0.0887616103 22 0.1589381078 -0.1877430622 23 0.1796710739 0.1589381078 24 0.0533680763 0.1796710739 25 -0.0072243184 0.0533680763 26 -0.1430201410 -0.0072243184 27 -0.0724583502 -0.1430201410 28 0.0427978916 -0.0724583502 29 -0.0006156432 0.0427978916 30 0.2457271413 -0.0006156432 31 -0.2163244454 0.2457271413 32 -0.3537860045 -0.2163244454 33 -0.1395359588 -0.3537860045 34 -0.1697769467 -0.1395359588 35 -0.2151997521 -0.1697769467 36 0.1495409258 -0.2151997521 37 -0.1396876370 0.1495409258 38 -0.1411290620 -0.1396876370 39 -0.2449364054 -0.1411290620 40 -0.1917078202 -0.2449364054 41 -0.1226774030 -0.1917078202 42 -0.2493614540 -0.1226774030 43 -0.0898657061 -0.2493614540 44 0.3579681589 -0.0898657061 45 0.2259879148 0.3579681589 46 -0.0511980195 0.2259879148 47 -0.1358625778 -0.0511980195 48 -0.0209980044 -0.1358625778 49 0.0551712192 -0.0209980044 50 0.1264359247 0.0551712192 51 0.3335398480 0.1264359247 52 -0.0298482175 0.3335398480 53 0.0366574812 -0.0298482175 54 -0.0446729932 0.0366574812 55 0.0007886881 -0.0446729932 56 0.2917879336 0.0007886881 57 -0.0268733618 0.2917879336 > 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/7afpl1261060853.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/8vgk61261060853.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/9ctdv1261060853.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/10kszw1261060853.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/11hldv1261060853.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/12k2w81261060853.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/130gjl1261060853.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/144hkz1261060853.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/15yhc71261060853.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/16jcbj1261060853.tab") + } > > try(system("convert tmp/1fjx91261060853.ps tmp/1fjx91261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/22qfl1261060853.ps tmp/22qfl1261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/3md5y1261060853.ps tmp/3md5y1261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/4nxxb1261060853.ps tmp/4nxxb1261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/5oliv1261060853.ps tmp/5oliv1261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/69z001261060853.ps tmp/69z001261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/7afpl1261060853.ps tmp/7afpl1261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/8vgk61261060853.ps tmp/8vgk61261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/9ctdv1261060853.ps tmp/9ctdv1261060853.png",intern=TRUE)) character(0) > try(system("convert tmp/10kszw1261060853.ps tmp/10kszw1261060853.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 2.417 1.596 2.944