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.
Natural language support but running in an English locale
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(2
+ ,4.5
+ ,1
+ ,6.6
+ ,42
+ ,3
+ ,1
+ ,3
+ ,1.8
+ ,69
+ ,2547
+ ,4603
+ ,624
+ ,3
+ ,5
+ ,4
+ ,0.7
+ ,27
+ ,10.55
+ ,179.5
+ ,180
+ ,4
+ ,4
+ ,4
+ ,3.9
+ ,19
+ ,0.023
+ ,0.3
+ ,35
+ ,1
+ ,1
+ ,1
+ ,1
+ ,30.4
+ ,160
+ ,169
+ ,392
+ ,4
+ ,5
+ ,4
+ ,3.6
+ ,28
+ ,3.3
+ ,25.6
+ ,63
+ ,1
+ ,2
+ ,1
+ ,1.4
+ ,50
+ ,52.16
+ ,440
+ ,230
+ ,1
+ ,1
+ ,1
+ ,1.5
+ ,7
+ ,0.425
+ ,6.4
+ ,112
+ ,5
+ ,4
+ ,4
+ ,0.7
+ ,30
+ ,465
+ ,423
+ ,281
+ ,5
+ ,5
+ ,5
+ ,2.1
+ ,3.5
+ ,0.075
+ ,1.2
+ ,42
+ ,1
+ ,1
+ ,1
+ ,0
+ ,50
+ ,3
+ ,25
+ ,28
+ ,2
+ ,2
+ ,2
+ ,4.1
+ ,6
+ ,0.785
+ ,3.5
+ ,42
+ ,2
+ ,2
+ ,2
+ ,1.2
+ ,10.4
+ ,0.2
+ ,5
+ ,120
+ ,2
+ ,2
+ ,2
+ ,0.5
+ ,20
+ ,27.66
+ ,115
+ ,148
+ ,5
+ ,5
+ ,5
+ ,3.4
+ ,3.9
+ ,0.12
+ ,1
+ ,16
+ ,3
+ ,1
+ ,2
+ ,1.5
+ ,41
+ ,85
+ ,325
+ ,310
+ ,1
+ ,3
+ ,1
+ ,3.4
+ ,9
+ ,0.101
+ ,4
+ ,28
+ ,5
+ ,1
+ ,3
+ ,0.8
+ ,7.6
+ ,1.04
+ ,5.5
+ ,68
+ ,5
+ ,3
+ ,4
+ ,0.8
+ ,46
+ ,521
+ ,655
+ ,336
+ ,5
+ ,5
+ ,5
+ ,1.4
+ ,2.6
+ ,0.005
+ ,0.14
+ ,21.5
+ ,5
+ ,2
+ ,4
+ ,2
+ ,24
+ ,0.01
+ ,0.25
+ ,50
+ ,1
+ ,1
+ ,1
+ ,1.9
+ ,100
+ ,62
+ ,1320
+ ,267
+ ,1
+ ,1
+ ,1
+ ,1.3
+ ,3.2
+ ,0.023
+ ,0.4
+ ,19
+ ,4
+ ,1
+ ,3
+ ,2
+ ,2
+ ,0.048
+ ,0.33
+ ,30
+ ,4
+ ,1
+ ,3
+ ,5.6
+ ,5
+ ,1.7
+ ,6.3
+ ,12
+ ,2
+ ,1
+ ,1
+ ,3.1
+ ,6.5
+ ,3.5
+ ,10.8
+ ,120
+ ,2
+ ,1
+ ,1
+ ,1.8
+ ,12
+ ,0.48
+ ,15.5
+ ,140
+ ,2
+ ,2
+ ,2
+ ,0.9
+ ,20.2
+ ,10
+ ,115
+ ,170
+ ,4
+ ,4
+ ,4
+ ,1.8
+ ,13
+ ,1.62
+ ,11.4
+ ,17
+ ,2
+ ,1
+ ,2
+ ,1.9
+ ,27
+ ,192
+ ,180
+ ,115
+ ,4
+ ,4
+ ,4
+ ,0.9
+ ,18
+ ,2.5
+ ,12.1
+ ,31
+ ,5
+ ,5
+ ,5
+ ,2.6
+ ,4.7
+ ,0.28
+ ,1.9
+ ,21
+ ,3
+ ,1
+ ,3
+ ,2.4
+ ,9.8
+ ,4.235
+ ,50.4
+ ,52
+ ,1
+ ,1
+ ,1
+ ,1.2
+ ,29
+ ,6.8
+ ,179
+ ,164
+ ,2
+ ,3
+ ,2
+ ,0.9
+ ,7
+ ,0.75
+ ,12.3
+ ,225
+ ,2
+ ,2
+ ,2
+ ,0.5
+ ,6
+ ,3.6
+ ,21
+ ,225
+ ,3
+ ,2
+ ,3
+ ,0.6
+ ,20
+ ,55.5
+ ,175
+ ,151
+ ,5
+ ,5
+ ,5
+ ,2.3
+ ,4.5
+ ,0.9
+ ,2.6
+ ,60
+ ,2
+ ,1
+ ,2
+ ,0.5
+ ,7.5
+ ,2
+ ,12.3
+ ,200
+ ,3
+ ,1
+ ,3
+ ,2.6
+ ,2.3
+ ,0.104
+ ,2.5
+ ,46
+ ,3
+ ,2
+ ,2
+ ,0.6
+ ,24
+ ,4.19
+ ,58
+ ,210
+ ,4
+ ,3
+ ,4
+ ,6.6
+ ,3
+ ,3.5
+ ,3.9
+ ,14
+ ,2
+ ,1
+ ,1)
+ ,dim=c(8
+ ,42)
+ ,dimnames=list(c('PS'
+ ,'LS'
+ ,'BW'
+ ,'BRW'
+ ,'GT'
+ ,'PI'
+ ,'SEI'
+ ,'OD')
+ ,1:42))
> y <- array(NA,dim=c(8,42),dimnames=list(c('PS','LS','BW','BRW','GT','PI','SEI','OD'),1:42))
> 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)
> 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
PS LS BW BRW GT PI SEI OD
1 2.0 4.5 1.000 6.60 42.0 3 1 3
2 1.8 69.0 2547.000 4603.00 624.0 3 5 4
3 0.7 27.0 10.550 179.50 180.0 4 4 4
4 3.9 19.0 0.023 0.30 35.0 1 1 1
5 1.0 30.4 160.000 169.00 392.0 4 5 4
6 3.6 28.0 3.300 25.60 63.0 1 2 1
7 1.4 50.0 52.160 440.00 230.0 1 1 1
8 1.5 7.0 0.425 6.40 112.0 5 4 4
9 0.7 30.0 465.000 423.00 281.0 5 5 5
10 2.1 3.5 0.075 1.20 42.0 1 1 1
11 0.0 50.0 3.000 25.00 28.0 2 2 2
12 4.1 6.0 0.785 3.50 42.0 2 2 2
13 1.2 10.4 0.200 5.00 120.0 2 2 2
14 0.5 20.0 27.660 115.00 148.0 5 5 5
15 3.4 3.9 0.120 1.00 16.0 3 1 2
16 1.5 41.0 85.000 325.00 310.0 1 3 1
17 3.4 9.0 0.101 4.00 28.0 5 1 3
18 0.8 7.6 1.040 5.50 68.0 5 3 4
19 0.8 46.0 521.000 655.00 336.0 5 5 5
20 1.4 2.6 0.005 0.14 21.5 5 2 4
21 2.0 24.0 0.010 0.25 50.0 1 1 1
22 1.9 100.0 62.000 1320.00 267.0 1 1 1
23 1.3 3.2 0.023 0.40 19.0 4 1 3
24 2.0 2.0 0.048 0.33 30.0 4 1 3
25 5.6 5.0 1.700 6.30 12.0 2 1 1
26 3.1 6.5 3.500 10.80 120.0 2 1 1
27 1.8 12.0 0.480 15.50 140.0 2 2 2
28 0.9 20.2 10.000 115.00 170.0 4 4 4
29 1.8 13.0 1.620 11.40 17.0 2 1 2
30 1.9 27.0 192.000 180.00 115.0 4 4 4
31 0.9 18.0 2.500 12.10 31.0 5 5 5
32 2.6 4.7 0.280 1.90 21.0 3 1 3
33 2.4 9.8 4.235 50.40 52.0 1 1 1
34 1.2 29.0 6.800 179.00 164.0 2 3 2
35 0.9 7.0 0.750 12.30 225.0 2 2 2
36 0.5 6.0 3.600 21.00 225.0 3 2 3
37 0.6 20.0 55.500 175.00 151.0 5 5 5
38 2.3 4.5 0.900 2.60 60.0 2 1 2
39 0.5 7.5 2.000 12.30 200.0 3 1 3
40 2.6 2.3 0.104 2.50 46.0 3 2 2
41 0.6 24.0 4.190 58.00 210.0 4 3 4
42 6.6 3.0 3.500 3.90 14.0 2 1 1
> k <- length(x[1,])
> df <- as.data.frame(x)
> (mylm <- lm(df))
Call:
lm(formula = df)
Coefficients:
(Intercept) LS BW BRW GT PI
3.7776374 -0.0133950 0.0013703 0.0002961 -0.0050070 0.9003615
SEI OD
0.3600213 -1.7384578
> (mysum <- summary(mylm))
Call:
lm(formula = df)
Residuals:
Min 1Q Median 3Q Max
-2.02306 -0.59238 -0.06292 0.57529 2.50441
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.7776374 0.4132681 9.141 1.10e-10 ***
LS -0.0133950 0.0143107 -0.936 0.355869
BW 0.0013703 0.0018313 0.748 0.459434
BRW 0.0002961 0.0010991 0.269 0.789227
GT -0.0050070 0.0021585 -2.320 0.026497 *
PI 0.9003615 0.3379063 2.665 0.011704 *
SEI 0.3600213 0.2117014 1.701 0.098147 .
OD -1.7384578 0.4195685 -4.143 0.000214 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9396 on 34 degrees of freedom
Multiple R-squared: 0.6204, Adjusted R-squared: 0.5422
F-statistic: 7.938 on 7 and 34 DF, p-value: 1.066e-05
> 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.8677923 0.2644154 0.13220768
[2,] 0.8743541 0.2512918 0.12564588
[3,] 0.9136695 0.1726610 0.08633052
[4,] 0.8511537 0.2976927 0.14884635
[5,] 0.7863531 0.4272937 0.21364686
[6,] 0.7115912 0.5768176 0.28840880
[7,] 0.6409433 0.7181133 0.35905665
[8,] 0.6473278 0.7053444 0.35267219
[9,] 0.5731301 0.8537397 0.42686987
[10,] 0.4910234 0.9820468 0.50897662
[11,] 0.4228144 0.8456287 0.57718563
[12,] 0.4386158 0.8772316 0.56138420
[13,] 0.5092970 0.9814060 0.49070301
[14,] 0.5638430 0.8723140 0.43615699
[15,] 0.6389035 0.7221930 0.36109648
[16,] 0.5924903 0.8150194 0.40750971
[17,] 0.4819251 0.9638501 0.51807493
[18,] 0.3672351 0.7344702 0.63276489
[19,] 0.3148464 0.6296927 0.68515364
[20,] 0.3465897 0.6931793 0.65341033
[21,] 0.2249404 0.4498809 0.77505957
> postscript(file="/var/www/html/freestat/rcomp/tmp/11zci1292368722.ps",horizontal=F,onefile=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/freestat/rcomp/tmp/2tqt31292368722.ps",horizontal=F,onefile=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/freestat/rcomp/tmp/3tqt31292368722.ps",horizontal=F,onefile=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/freestat/rcomp/tmp/4tqt31292368722.ps",horizontal=F,onefile=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/freestat/rcomp/tmp/54hs61292368722.ps",horizontal=F,onefile=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 = 42
Frequency = 1
1 2 3 4 5 6
0.64387758 -0.32960842 0.02997877 1.03006718 0.87530424 0.61881458
7 8 9 10 11 12
-0.27997008 -0.61362575 0.35910296 -0.94284340 -2.02305677 1.56706499
13 14 15 16 17 18
-0.88309234 0.04971839 0.17006453 -0.63095279 0.23533556 -1.16645245
19 20 21 22 23 24
0.80337016 -0.50322678 -0.72782012 0.80096496 -1.08588399 -0.34689428
25 26 27 28 29 30
1.52294005 -0.42000870 -0.16501303 0.10867649 -0.40780797 0.65573142
31 32 33 34 35 36
-0.09794443 1.14378761 -0.52865474 -0.83422816 -0.70581372 -0.28759404
37 38 39 40 41 42
0.10882252 0.19722912 -0.02788694 -0.86160047 0.44471996 2.50440830
> postscript(file="/var/www/html/freestat/rcomp/tmp/64hs61292368722.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556)
> dum <- cbind(lag(myerror,k=1),myerror)
> dum
Time Series:
Start = 0
End = 42
Frequency = 1
lag(myerror, k = 1) myerror
0 0.64387758 NA
1 -0.32960842 0.64387758
2 0.02997877 -0.32960842
3 1.03006718 0.02997877
4 0.87530424 1.03006718
5 0.61881458 0.87530424
6 -0.27997008 0.61881458
7 -0.61362575 -0.27997008
8 0.35910296 -0.61362575
9 -0.94284340 0.35910296
10 -2.02305677 -0.94284340
11 1.56706499 -2.02305677
12 -0.88309234 1.56706499
13 0.04971839 -0.88309234
14 0.17006453 0.04971839
15 -0.63095279 0.17006453
16 0.23533556 -0.63095279
17 -1.16645245 0.23533556
18 0.80337016 -1.16645245
19 -0.50322678 0.80337016
20 -0.72782012 -0.50322678
21 0.80096496 -0.72782012
22 -1.08588399 0.80096496
23 -0.34689428 -1.08588399
24 1.52294005 -0.34689428
25 -0.42000870 1.52294005
26 -0.16501303 -0.42000870
27 0.10867649 -0.16501303
28 -0.40780797 0.10867649
29 0.65573142 -0.40780797
30 -0.09794443 0.65573142
31 1.14378761 -0.09794443
32 -0.52865474 1.14378761
33 -0.83422816 -0.52865474
34 -0.70581372 -0.83422816
35 -0.28759404 -0.70581372
36 0.10882252 -0.28759404
37 0.19722912 0.10882252
38 -0.02788694 0.19722912
39 -0.86160047 -0.02788694
40 0.44471996 -0.86160047
41 2.50440830 0.44471996
42 NA 2.50440830
> dum1 <- dum[2:length(myerror),]
> dum1
lag(myerror, k = 1) myerror
[1,] -0.32960842 0.64387758
[2,] 0.02997877 -0.32960842
[3,] 1.03006718 0.02997877
[4,] 0.87530424 1.03006718
[5,] 0.61881458 0.87530424
[6,] -0.27997008 0.61881458
[7,] -0.61362575 -0.27997008
[8,] 0.35910296 -0.61362575
[9,] -0.94284340 0.35910296
[10,] -2.02305677 -0.94284340
[11,] 1.56706499 -2.02305677
[12,] -0.88309234 1.56706499
[13,] 0.04971839 -0.88309234
[14,] 0.17006453 0.04971839
[15,] -0.63095279 0.17006453
[16,] 0.23533556 -0.63095279
[17,] -1.16645245 0.23533556
[18,] 0.80337016 -1.16645245
[19,] -0.50322678 0.80337016
[20,] -0.72782012 -0.50322678
[21,] 0.80096496 -0.72782012
[22,] -1.08588399 0.80096496
[23,] -0.34689428 -1.08588399
[24,] 1.52294005 -0.34689428
[25,] -0.42000870 1.52294005
[26,] -0.16501303 -0.42000870
[27,] 0.10867649 -0.16501303
[28,] -0.40780797 0.10867649
[29,] 0.65573142 -0.40780797
[30,] -0.09794443 0.65573142
[31,] 1.14378761 -0.09794443
[32,] -0.52865474 1.14378761
[33,] -0.83422816 -0.52865474
[34,] -0.70581372 -0.83422816
[35,] -0.28759404 -0.70581372
[36,] 0.10882252 -0.28759404
[37,] 0.19722912 0.10882252
[38,] -0.02788694 0.19722912
[39,] -0.86160047 -0.02788694
[40,] 0.44471996 -0.86160047
[41,] 2.50440830 0.44471996
> z <- as.data.frame(dum1)
> z
lag(myerror, k = 1) myerror
1 -0.32960842 0.64387758
2 0.02997877 -0.32960842
3 1.03006718 0.02997877
4 0.87530424 1.03006718
5 0.61881458 0.87530424
6 -0.27997008 0.61881458
7 -0.61362575 -0.27997008
8 0.35910296 -0.61362575
9 -0.94284340 0.35910296
10 -2.02305677 -0.94284340
11 1.56706499 -2.02305677
12 -0.88309234 1.56706499
13 0.04971839 -0.88309234
14 0.17006453 0.04971839
15 -0.63095279 0.17006453
16 0.23533556 -0.63095279
17 -1.16645245 0.23533556
18 0.80337016 -1.16645245
19 -0.50322678 0.80337016
20 -0.72782012 -0.50322678
21 0.80096496 -0.72782012
22 -1.08588399 0.80096496
23 -0.34689428 -1.08588399
24 1.52294005 -0.34689428
25 -0.42000870 1.52294005
26 -0.16501303 -0.42000870
27 0.10867649 -0.16501303
28 -0.40780797 0.10867649
29 0.65573142 -0.40780797
30 -0.09794443 0.65573142
31 1.14378761 -0.09794443
32 -0.52865474 1.14378761
33 -0.83422816 -0.52865474
34 -0.70581372 -0.83422816
35 -0.28759404 -0.70581372
36 0.10882252 -0.28759404
37 0.19722912 0.10882252
38 -0.02788694 0.19722912
39 -0.86160047 -0.02788694
40 0.44471996 -0.86160047
41 2.50440830 0.44471996
> 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/freestat/rcomp/tmp/7fqs81292368722.ps",horizontal=F,onefile=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/freestat/rcomp/tmp/8fqs81292368722.ps",horizontal=F,onefile=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/freestat/rcomp/tmp/9p0rt1292368722.ps",horizontal=F,onefile=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')
Warning messages:
1: In sqrt(crit * p * (1 - hh)/hh) : NaNs produced
2: In sqrt(crit * p * (1 - hh)/hh) : NaNs produced
> par(opar)
> dev.off()
null device
1
> if (n > n25) {
+ postscript(file="/var/www/html/freestat/rcomp/tmp/10p0rt1292368722.ps",horizontal=F,onefile=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/freestat/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab
> load(file="/var/www/html/freestat/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/freestat/rcomp/tmp/11lr721292368722.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/freestat/rcomp/tmp/12w06n1292368722.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/freestat/rcomp/tmp/13313z1292368722.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/freestat/rcomp/tmp/146kj41292368722.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/freestat/rcomp/tmp/159lia1292368722.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/freestat/rcomp/tmp/16v3gg1292368722.tab")
+ }
>
> try(system("convert tmp/11zci1292368722.ps tmp/11zci1292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/2tqt31292368722.ps tmp/2tqt31292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/3tqt31292368722.ps tmp/3tqt31292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/4tqt31292368722.ps tmp/4tqt31292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/54hs61292368722.ps tmp/54hs61292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/64hs61292368722.ps tmp/64hs61292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/7fqs81292368722.ps tmp/7fqs81292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/8fqs81292368722.ps tmp/8fqs81292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/9p0rt1292368722.ps tmp/9p0rt1292368722.png",intern=TRUE))
character(0)
> try(system("convert tmp/10p0rt1292368722.ps tmp/10p0rt1292368722.png",intern=TRUE))
character(0)
>
>
> proc.time()
user system elapsed
3.835 2.566 4.446