data(AirPassengers)
AP <- AirPassengers
AP
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 1949 112 118 132 129 121 135 148 148 136 119 104 118
## 1950 115 126 141 135 125 149 170 170 158 133 114 140
## 1951 145 150 178 163 172 178 199 199 184 162 146 166
## 1952 171 180 193 181 183 218 230 242 209 191 172 194
## 1953 196 196 236 235 229 243 264 272 237 211 180 201
## 1954 204 188 235 227 234 264 302 293 259 229 203 229
## 1955 242 233 267 269 270 315 364 347 312 274 237 278
## 1956 284 277 317 313 318 374 413 405 355 306 271 306
## 1957 315 301 356 348 355 422 465 467 404 347 305 336
## 1958 340 318 362 348 363 435 491 505 404 359 310 337
## 1959 360 342 406 396 420 472 548 559 463 407 362 405
## 1960 417 391 419 461 472 535 622 606 508 461 390 432
class(AP)
## [1] "ts"
start(AP); end(AP); frequency(AP)
## [1] 1949    1
## [1] 1960   12
## [1] 12
plot(AP, ylab = "Passengers (1000's)")

layout(1:2)
plot(aggregate(AP))
boxplot(AP ~ cycle(AP))

www <- read.table("Maine.dat", header = T)
attach(www)
class(www)
## [1] "data.frame"
Maine.month.ts <- ts(unemploy, start = c(1996, 1), freq = 12)
Maine.annual.ts <- aggregate(Maine.month.ts)/12
layout(1:2)
plot(Maine.month.ts, ylab = "unemployed (%)")
plot(Maine.annual.ts, ylab = "unemployed (%)")

Maine.Feb <- window(Maine.month.ts, start = c(1996,2), freq = TRUE)
Maine.Aug <- window(Maine.month.ts, start = c(1996,8), freq = TRUE)
Feb.ratio <- mean(Maine.Feb) / mean(Maine.month.ts)
Aug.ratio <- mean(Maine.Aug) / mean(Maine.month.ts)

Feb.ratio
## [1] 1.222529
Aug.ratio
## [1] 0.8163732
US.month <- read.table("USunemp.dat", header = T)
attach(US.month)
US.month.ts <- ts(USun, start=c(1996,1), end=c(2006,10), freq = 12)
plot(US.month.ts, ylab = "unemployed (%)")

CBE <- read.table("cbe.dat", header = T)
CBE[1:4, ]
##   choc beer elec
## 1 1451 96.3 1497
## 2 2037 84.4 1463
## 3 2477 91.2 1648
## 4 2785 81.9 1595
class(CBE)
## [1] "data.frame"
Elec.ts <- ts(CBE[, 3], start = 1958, freq = 12)
Beer.ts <- ts(CBE[, 2], start = 1958, freq = 12)
Choc.ts <- ts(CBE[, 1], start = 1958, freq = 12)
plot(cbind(Elec.ts, Beer.ts, Choc.ts))

AP.elec <- ts.intersect(AP, Elec.ts)
start(AP.elec)
## [1] 1958    1
end(AP.elec)
## [1] 1960   12
AP.elec[1:3, ]
##       AP Elec.ts
## [1,] 340    1497
## [2,] 318    1463
## [3,] 362    1648
AP <- AP.elec[,1]; Elec <- AP.elec[,2]
layout(1:2)
plot(AP, main = "", ylab = "Air passengers / 1000's")
plot(Elec, main = "", ylab = "Electricity production / MkWh")

plot(as.vector(AP), as.vector(Elec),
xlab = "Air passengers / 1000's",
ylab = "Electricity production / MWh")
abline(reg = lm(Elec ~ AP))

cor(AP, Elec)
## [1] 0.8841668
Z <- read.table("pounds_nz.dat", header = T)
Z[1:4, ]
## [1] 2.9243 2.9422 3.1719 3.2542
Z.ts <- ts(Z, st = 1991, fr = 4)
plot(Z.ts, xlab = "time / years", ylab = "Quarterly exchange rate in $NZ / pound")

Z.92.96 <- window(Z.ts, start = c(1992, 1), end = c(1996, 1))
Z.96.98 <- window(Z.ts, start = c(1996, 1), end = c(1998, 1))
layout (1:2)
plot(Z.92.96, ylab = "Exchange rate in $NZ/pound", xlab = "Time (years)" )
plot(Z.96.98, ylab = "Exchange rate in $NZ/pound", xlab = "Time (years)" )

Global <- scan("global.dat")
Global.ts <- ts(Global, st = c(1856, 1), end = c(2005, 12), fr = 12)
Global.annual <- aggregate(Global.ts, FUN = mean)
plot(Global.ts)
plot(Global.annual)

New.series <- window(Global.ts, start=c(1970, 1), end=c(2005, 12))
New.time <- time(New.series)
plot(New.series); abline(reg=lm(New.series ~ New.time))

plot(decompose(Elec.ts))

Elec.decom <- decompose(Elec.ts, type = "mult")
plot(Elec.decom)

Trend <- Elec.decom$trend
Seasonal <- Elec.decom$seasonal
ts.plot(cbind(Trend, Trend * Seasonal), lty = 1:2)

wave.dat <- read.table ("wave.dat", header=T) ; attach(wave.dat)
plot(ts(waveht)) ; plot(ts(waveht[1:60]))

acf(waveht)$acf[2]

## [1] 0.4702564
acf(waveht, type = c("covariance"))$acf[2]
## [1] 33328.39
data(AirPassengers)
AP <- AirPassengers
AP.decom <- decompose(AP, "multiplicative")
plot(ts(AP.decom$random[7:138]))

acf(AP.decom$random[7:138])
sd(AP[7:138])
## [1] 109.4187
sd(AP[7:138] - AP.decom$trend[7:138])
## [1] 41.11491
sd(AP.decom$random[7:138])
## [1] 0.0333884
Fontdsdt.dat <- read.table("Fontdsdt.dat", header=T)
attach(Fontdsdt.dat)
plot(ts(adflow), ylab = 'adflow')

acf(adflow, xlab = 'lag (months)', main="")