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(1.43,0.51,1.43,0.51,1.43,0.51,1.43,0.51,1.43,0.52,1.43,0.52,1.44,0.52,1.48,0.53,1.48,0.53,1.48,0.52,1.48,0.52,1.48,0.52,1.48,0.52,1.48,0.52,1.48,0.52,1.48,0.52,1.48,0.52,1.48,0.52,1.48,0.52,1.48,0.53,1.48,0.53,1.48,0.53,1.48,0.54,1.48,0.54,1.48,0.54,1.48,0.54,1.48,0.54,1.48,0.54,1.48,0.54,1.48,0.54,1.48,0.54,1.48,0.54,1.48,0.53,1.48,0.53,1.48,0.53,1.48,0.53,1.48,0.53,1.57,0.54,1.58,0.55,1.58,0.55,1.58,0.55,1.58,0.55,1.59,0.55,1.6,0.55,1.6,0.55,1.61,0.55,1.61,0.56,1.61,0.56,1.62,0.56,1.63,0.56,1.63,0.56,1.64,0.55,1.64,0.56,1.64,0.55,1.64,0.55,1.64,0.56,1.65,0.55,1.65,0.55,1.65,0.55,1.65,0.55),dim=c(2,60),dimnames=list(c('Broodprijs','Bakmeelprijs'),1:60)) > y <- array(NA,dim=c(2,60),dimnames=list(c('Broodprijs','Bakmeelprijs'),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 = '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 Broodprijs Bakmeelprijs M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 t 1 1.43 0.51 1 0 0 0 0 0 0 0 0 0 0 1 2 1.43 0.51 0 1 0 0 0 0 0 0 0 0 0 2 3 1.43 0.51 0 0 1 0 0 0 0 0 0 0 0 3 4 1.43 0.51 0 0 0 1 0 0 0 0 0 0 0 4 5 1.43 0.52 0 0 0 0 1 0 0 0 0 0 0 5 6 1.43 0.52 0 0 0 0 0 1 0 0 0 0 0 6 7 1.44 0.52 0 0 0 0 0 0 1 0 0 0 0 7 8 1.48 0.53 0 0 0 0 0 0 0 1 0 0 0 8 9 1.48 0.53 0 0 0 0 0 0 0 0 1 0 0 9 10 1.48 0.52 0 0 0 0 0 0 0 0 0 1 0 10 11 1.48 0.52 0 0 0 0 0 0 0 0 0 0 1 11 12 1.48 0.52 0 0 0 0 0 0 0 0 0 0 0 12 13 1.48 0.52 1 0 0 0 0 0 0 0 0 0 0 13 14 1.48 0.52 0 1 0 0 0 0 0 0 0 0 0 14 15 1.48 0.52 0 0 1 0 0 0 0 0 0 0 0 15 16 1.48 0.52 0 0 0 1 0 0 0 0 0 0 0 16 17 1.48 0.52 0 0 0 0 1 0 0 0 0 0 0 17 18 1.48 0.52 0 0 0 0 0 1 0 0 0 0 0 18 19 1.48 0.52 0 0 0 0 0 0 1 0 0 0 0 19 20 1.48 0.53 0 0 0 0 0 0 0 1 0 0 0 20 21 1.48 0.53 0 0 0 0 0 0 0 0 1 0 0 21 22 1.48 0.53 0 0 0 0 0 0 0 0 0 1 0 22 23 1.48 0.54 0 0 0 0 0 0 0 0 0 0 1 23 24 1.48 0.54 0 0 0 0 0 0 0 0 0 0 0 24 25 1.48 0.54 1 0 0 0 0 0 0 0 0 0 0 25 26 1.48 0.54 0 1 0 0 0 0 0 0 0 0 0 26 27 1.48 0.54 0 0 1 0 0 0 0 0 0 0 0 27 28 1.48 0.54 0 0 0 1 0 0 0 0 0 0 0 28 29 1.48 0.54 0 0 0 0 1 0 0 0 0 0 0 29 30 1.48 0.54 0 0 0 0 0 1 0 0 0 0 0 30 31 1.48 0.54 0 0 0 0 0 0 1 0 0 0 0 31 32 1.48 0.54 0 0 0 0 0 0 0 1 0 0 0 32 33 1.48 0.53 0 0 0 0 0 0 0 0 1 0 0 33 34 1.48 0.53 0 0 0 0 0 0 0 0 0 1 0 34 35 1.48 0.53 0 0 0 0 0 0 0 0 0 0 1 35 36 1.48 0.53 0 0 0 0 0 0 0 0 0 0 0 36 37 1.48 0.53 1 0 0 0 0 0 0 0 0 0 0 37 38 1.57 0.54 0 1 0 0 0 0 0 0 0 0 0 38 39 1.58 0.55 0 0 1 0 0 0 0 0 0 0 0 39 40 1.58 0.55 0 0 0 1 0 0 0 0 0 0 0 40 41 1.58 0.55 0 0 0 0 1 0 0 0 0 0 0 41 42 1.58 0.55 0 0 0 0 0 1 0 0 0 0 0 42 43 1.59 0.55 0 0 0 0 0 0 1 0 0 0 0 43 44 1.60 0.55 0 0 0 0 0 0 0 1 0 0 0 44 45 1.60 0.55 0 0 0 0 0 0 0 0 1 0 0 45 46 1.61 0.55 0 0 0 0 0 0 0 0 0 1 0 46 47 1.61 0.56 0 0 0 0 0 0 0 0 0 0 1 47 48 1.61 0.56 0 0 0 0 0 0 0 0 0 0 0 48 49 1.62 0.56 1 0 0 0 0 0 0 0 0 0 0 49 50 1.63 0.56 0 1 0 0 0 0 0 0 0 0 0 50 51 1.63 0.56 0 0 1 0 0 0 0 0 0 0 0 51 52 1.64 0.55 0 0 0 1 0 0 0 0 0 0 0 52 53 1.64 0.56 0 0 0 0 1 0 0 0 0 0 0 53 54 1.64 0.55 0 0 0 0 0 1 0 0 0 0 0 54 55 1.64 0.55 0 0 0 0 0 0 1 0 0 0 0 55 56 1.64 0.56 0 0 0 0 0 0 0 1 0 0 0 56 57 1.65 0.55 0 0 0 0 0 0 0 0 1 0 0 57 58 1.65 0.55 0 0 0 0 0 0 0 0 0 1 0 58 59 1.65 0.55 0 0 0 0 0 0 0 0 0 0 1 59 60 1.65 0.55 0 0 0 0 0 0 0 0 0 0 0 60 > k <- length(x[1,]) > df <- as.data.frame(x) > (mylm <- lm(df)) Call: lm(formula = df) Coefficients: (Intercept) Bakmeelprijs M1 M2 M3 0.865077 1.038462 0.001188 0.015940 0.012692 M4 M5 M6 M7 M8 0.013598 0.006274 0.005179 0.006009 0.006607 M9 M10 M11 t 0.009590 0.010496 0.003171 0.003171 > (mysum <- summary(mylm)) Call: lm(formula = df) Residuals: Min 1Q Median 3Q Max -0.053974 -0.017276 0.009115 0.017994 0.036872 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.8650769 0.3452790 2.505 0.0158 * Bakmeelprijs 1.0384615 0.6742495 1.540 0.1304 M1 0.0011880 0.0202272 0.059 0.9534 M2 0.0159402 0.0202327 0.788 0.4348 M3 0.0126923 0.0202738 0.626 0.5344 M4 0.0135983 0.0201407 0.675 0.5030 M5 0.0062735 0.0202590 0.310 0.7582 M6 0.0051795 0.0201054 0.258 0.7979 M7 0.0060085 0.0200831 0.299 0.7661 M8 0.0066068 0.0203702 0.324 0.7472 M9 0.0095897 0.0200615 0.478 0.6349 M10 0.0104957 0.0201188 0.522 0.6044 M11 0.0031709 0.0200554 0.158 0.8751 t 0.0031709 0.0005857 5.414 2.17e-06 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.0317 on 46 degrees of freedom Multiple R-squared: 0.8612, Adjusted R-squared: 0.8219 F-statistic: 21.95 on 13 and 46 DF, p-value: 1.897e-15 > 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,] 4.145112e-43 8.290224e-43 1.0000000000 [2,] 2.564844e-53 5.129688e-53 1.0000000000 [3,] 1.100568e-04 2.201136e-04 0.9998899432 [4,] 1.471558e-01 2.943117e-01 0.8528441678 [5,] 2.876864e-01 5.753727e-01 0.7123136362 [6,] 6.269805e-01 7.460390e-01 0.3730194998 [7,] 7.407198e-01 5.185605e-01 0.2592802344 [8,] 7.757553e-01 4.484893e-01 0.2242446678 [9,] 7.830820e-01 4.338360e-01 0.2169179781 [10,] 7.015595e-01 5.968811e-01 0.2984405355 [11,] 6.060553e-01 7.878893e-01 0.3939446526 [12,] 5.360866e-01 9.278267e-01 0.4639133647 [13,] 4.436243e-01 8.872485e-01 0.5563757284 [14,] 3.909311e-01 7.818623e-01 0.6090688642 [15,] 3.986437e-01 7.972875e-01 0.6013562658 [16,] 5.560341e-01 8.879318e-01 0.4439659145 [17,] 6.301284e-01 7.397431e-01 0.3698715505 [18,] 6.977408e-01 6.045185e-01 0.3022592463 [19,] 6.980995e-01 6.038011e-01 0.3019005308 [20,] 7.613528e-01 4.772943e-01 0.2386471748 [21,] 9.984806e-01 3.038838e-03 0.0015194188 [22,] 9.993373e-01 1.325399e-03 0.0006626995 [23,] 9.991961e-01 1.607788e-03 0.0008038940 [24,] 9.991353e-01 1.729476e-03 0.0008647382 [25,] 9.983948e-01 3.210469e-03 0.0016052345 [26,] 9.991369e-01 1.726122e-03 0.0008630608 [27,] 9.973347e-01 5.330511e-03 0.0026652557 > postscript(file="/var/www/html/rcomp/tmp/1vy0u1258719603.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/2g84m1258719603.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/3vvff1258719603.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/4uncy1258719603.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/5t1dc1258719603.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 0.0309487179 0.0130256410 0.0131025641 0.0090256410 0.0027948718 6 7 8 9 10 0.0007179487 0.0067179487 0.0325641026 0.0264102564 0.0327179487 11 12 13 14 15 0.0368717949 0.0368717949 0.0325128205 0.0145897436 0.0146666667 16 17 18 19 20 0.0105897436 0.0147435897 0.0126666667 0.0086666667 -0.0054871795 21 22 23 24 25 -0.0116410256 -0.0157179487 -0.0219487179 -0.0219487179 -0.0263076923 26 27 28 29 30 -0.0442307692 -0.0441538462 -0.0482307692 -0.0440769231 -0.0461538462 31 32 33 34 35 -0.0501538462 -0.0539230769 -0.0496923077 -0.0537692308 -0.0496153846 36 37 38 39 40 -0.0496153846 -0.0539743590 0.0077179487 0.0074102564 0.0033333333 41 42 43 44 45 0.0074871795 0.0054102564 0.0114102564 0.0176410256 0.0114871795 46 47 48 49 50 0.0174102564 0.0111794872 0.0111794872 0.0168205128 0.0088974359 51 52 53 54 55 0.0089743590 0.0252820513 0.0190512821 0.0273589744 0.0233589744 56 57 58 59 60 0.0092051282 0.0234358974 0.0193589744 0.0235128205 0.0235128205 > postscript(file="/var/www/html/rcomp/tmp/6rls51258719603.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.0309487179 NA 1 0.0130256410 0.0309487179 2 0.0131025641 0.0130256410 3 0.0090256410 0.0131025641 4 0.0027948718 0.0090256410 5 0.0007179487 0.0027948718 6 0.0067179487 0.0007179487 7 0.0325641026 0.0067179487 8 0.0264102564 0.0325641026 9 0.0327179487 0.0264102564 10 0.0368717949 0.0327179487 11 0.0368717949 0.0368717949 12 0.0325128205 0.0368717949 13 0.0145897436 0.0325128205 14 0.0146666667 0.0145897436 15 0.0105897436 0.0146666667 16 0.0147435897 0.0105897436 17 0.0126666667 0.0147435897 18 0.0086666667 0.0126666667 19 -0.0054871795 0.0086666667 20 -0.0116410256 -0.0054871795 21 -0.0157179487 -0.0116410256 22 -0.0219487179 -0.0157179487 23 -0.0219487179 -0.0219487179 24 -0.0263076923 -0.0219487179 25 -0.0442307692 -0.0263076923 26 -0.0441538462 -0.0442307692 27 -0.0482307692 -0.0441538462 28 -0.0440769231 -0.0482307692 29 -0.0461538462 -0.0440769231 30 -0.0501538462 -0.0461538462 31 -0.0539230769 -0.0501538462 32 -0.0496923077 -0.0539230769 33 -0.0537692308 -0.0496923077 34 -0.0496153846 -0.0537692308 35 -0.0496153846 -0.0496153846 36 -0.0539743590 -0.0496153846 37 0.0077179487 -0.0539743590 38 0.0074102564 0.0077179487 39 0.0033333333 0.0074102564 40 0.0074871795 0.0033333333 41 0.0054102564 0.0074871795 42 0.0114102564 0.0054102564 43 0.0176410256 0.0114102564 44 0.0114871795 0.0176410256 45 0.0174102564 0.0114871795 46 0.0111794872 0.0174102564 47 0.0111794872 0.0111794872 48 0.0168205128 0.0111794872 49 0.0088974359 0.0168205128 50 0.0089743590 0.0088974359 51 0.0252820513 0.0089743590 52 0.0190512821 0.0252820513 53 0.0273589744 0.0190512821 54 0.0233589744 0.0273589744 55 0.0092051282 0.0233589744 56 0.0234358974 0.0092051282 57 0.0193589744 0.0234358974 58 0.0235128205 0.0193589744 59 0.0235128205 0.0235128205 60 NA 0.0235128205 > dum1 <- dum[2:length(myerror),] > dum1 lag(myerror, k = 1) myerror [1,] 0.0130256410 0.0309487179 [2,] 0.0131025641 0.0130256410 [3,] 0.0090256410 0.0131025641 [4,] 0.0027948718 0.0090256410 [5,] 0.0007179487 0.0027948718 [6,] 0.0067179487 0.0007179487 [7,] 0.0325641026 0.0067179487 [8,] 0.0264102564 0.0325641026 [9,] 0.0327179487 0.0264102564 [10,] 0.0368717949 0.0327179487 [11,] 0.0368717949 0.0368717949 [12,] 0.0325128205 0.0368717949 [13,] 0.0145897436 0.0325128205 [14,] 0.0146666667 0.0145897436 [15,] 0.0105897436 0.0146666667 [16,] 0.0147435897 0.0105897436 [17,] 0.0126666667 0.0147435897 [18,] 0.0086666667 0.0126666667 [19,] -0.0054871795 0.0086666667 [20,] -0.0116410256 -0.0054871795 [21,] -0.0157179487 -0.0116410256 [22,] -0.0219487179 -0.0157179487 [23,] -0.0219487179 -0.0219487179 [24,] -0.0263076923 -0.0219487179 [25,] -0.0442307692 -0.0263076923 [26,] -0.0441538462 -0.0442307692 [27,] -0.0482307692 -0.0441538462 [28,] -0.0440769231 -0.0482307692 [29,] -0.0461538462 -0.0440769231 [30,] -0.0501538462 -0.0461538462 [31,] -0.0539230769 -0.0501538462 [32,] -0.0496923077 -0.0539230769 [33,] -0.0537692308 -0.0496923077 [34,] -0.0496153846 -0.0537692308 [35,] -0.0496153846 -0.0496153846 [36,] -0.0539743590 -0.0496153846 [37,] 0.0077179487 -0.0539743590 [38,] 0.0074102564 0.0077179487 [39,] 0.0033333333 0.0074102564 [40,] 0.0074871795 0.0033333333 [41,] 0.0054102564 0.0074871795 [42,] 0.0114102564 0.0054102564 [43,] 0.0176410256 0.0114102564 [44,] 0.0114871795 0.0176410256 [45,] 0.0174102564 0.0114871795 [46,] 0.0111794872 0.0174102564 [47,] 0.0111794872 0.0111794872 [48,] 0.0168205128 0.0111794872 [49,] 0.0088974359 0.0168205128 [50,] 0.0089743590 0.0088974359 [51,] 0.0252820513 0.0089743590 [52,] 0.0190512821 0.0252820513 [53,] 0.0273589744 0.0190512821 [54,] 0.0233589744 0.0273589744 [55,] 0.0092051282 0.0233589744 [56,] 0.0234358974 0.0092051282 [57,] 0.0193589744 0.0234358974 [58,] 0.0235128205 0.0193589744 [59,] 0.0235128205 0.0235128205 > z <- as.data.frame(dum1) > z lag(myerror, k = 1) myerror 1 0.0130256410 0.0309487179 2 0.0131025641 0.0130256410 3 0.0090256410 0.0131025641 4 0.0027948718 0.0090256410 5 0.0007179487 0.0027948718 6 0.0067179487 0.0007179487 7 0.0325641026 0.0067179487 8 0.0264102564 0.0325641026 9 0.0327179487 0.0264102564 10 0.0368717949 0.0327179487 11 0.0368717949 0.0368717949 12 0.0325128205 0.0368717949 13 0.0145897436 0.0325128205 14 0.0146666667 0.0145897436 15 0.0105897436 0.0146666667 16 0.0147435897 0.0105897436 17 0.0126666667 0.0147435897 18 0.0086666667 0.0126666667 19 -0.0054871795 0.0086666667 20 -0.0116410256 -0.0054871795 21 -0.0157179487 -0.0116410256 22 -0.0219487179 -0.0157179487 23 -0.0219487179 -0.0219487179 24 -0.0263076923 -0.0219487179 25 -0.0442307692 -0.0263076923 26 -0.0441538462 -0.0442307692 27 -0.0482307692 -0.0441538462 28 -0.0440769231 -0.0482307692 29 -0.0461538462 -0.0440769231 30 -0.0501538462 -0.0461538462 31 -0.0539230769 -0.0501538462 32 -0.0496923077 -0.0539230769 33 -0.0537692308 -0.0496923077 34 -0.0496153846 -0.0537692308 35 -0.0496153846 -0.0496153846 36 -0.0539743590 -0.0496153846 37 0.0077179487 -0.0539743590 38 0.0074102564 0.0077179487 39 0.0033333333 0.0074102564 40 0.0074871795 0.0033333333 41 0.0054102564 0.0074871795 42 0.0114102564 0.0054102564 43 0.0176410256 0.0114102564 44 0.0114871795 0.0176410256 45 0.0174102564 0.0114871795 46 0.0111794872 0.0174102564 47 0.0111794872 0.0111794872 48 0.0168205128 0.0111794872 49 0.0088974359 0.0168205128 50 0.0089743590 0.0088974359 51 0.0252820513 0.0089743590 52 0.0190512821 0.0252820513 53 0.0273589744 0.0190512821 54 0.0233589744 0.0273589744 55 0.0092051282 0.0233589744 56 0.0234358974 0.0092051282 57 0.0193589744 0.0234358974 58 0.0235128205 0.0193589744 59 0.0235128205 0.0235128205 > 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/7f8ri1258719603.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/88u491258719603.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/9u6zw1258719603.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/10j45m1258719603.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/11wgb21258719603.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/12lbmt1258719603.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/13014h1258719603.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/14shiv1258719603.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/15zfq11258719603.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/16mx391258719603.tab") + } > > system("convert tmp/1vy0u1258719603.ps tmp/1vy0u1258719603.png") > system("convert tmp/2g84m1258719603.ps tmp/2g84m1258719603.png") > system("convert tmp/3vvff1258719603.ps tmp/3vvff1258719603.png") > system("convert tmp/4uncy1258719603.ps tmp/4uncy1258719603.png") > system("convert tmp/5t1dc1258719603.ps tmp/5t1dc1258719603.png") > system("convert tmp/6rls51258719603.ps tmp/6rls51258719603.png") > system("convert tmp/7f8ri1258719603.ps tmp/7f8ri1258719603.png") > system("convert tmp/88u491258719603.ps tmp/88u491258719603.png") > system("convert tmp/9u6zw1258719603.ps tmp/9u6zw1258719603.png") > system("convert tmp/10j45m1258719603.ps tmp/10j45m1258719603.png") > > > proc.time() user system elapsed 2.393 1.556 3.739