Dirk Eddelbuettel <edd <at> debian.org> writes: > > Spencer, > > You may want to peruse the list archive for posts that match 'ts' and are > written by Brian Ripley -- these issues have come up before. > > The ts class is designed for arima and friends (like Kalman filtering), and > very useful in that context, but possibly not so much anywhere else. lag() > only shifts the _reference dates_ attached to the object. So in a data.frame > context (as for lm()) .... nothing happens. > > Personally, I use its as my main container for daily or weekly data. There is > also zoo, which I have meant to examine more closely for a while now.
Here is the example redone using zoo: R> # here it is redone using zoo objects R> R> # following 3 lines are from the original post R> set.seed(1) R> x <- rep(c(rep(0, 4), 9), len=9) R> y <- (rep(c(rep(0, 5), 9), len=9)+rnorm(9)) # y[t] = x[t-1]+e R> R> library(zoo) R> R> yz <- zoo(y); xz <- zoo(x) R> lm(I(yz ~ xz)) Call: lm(formula = I(yz ~ xz)) Coefficients: (Intercept) xz 1.2872 -0.1064 R> lm(I(yz ~ lag(xz, -1))) Call: lm(formula = I(yz ~ lag(xz, -1))) Coefficients: (Intercept) lag(xz, -1) 0.4392 0.8600 R> R> z <- merge(yz, xz) R> arima(coredata(z[,1]), order = c(1,1,1), xreg = coredata(z[,2])) Call: arima(x = coredata(z[, 1]), order = c(1, 1, 1), xreg = coredata(z[, 2])) Coefficients: ar1 ma1 coredata(z[, 2]) 0.3906 -1.0000 -0.3803 s.e. 0.4890 0.4119 0.3753 sigma^2 estimated as 7.565: log likelihood = -20.2, aic = 48.4 R> zz <- merge(yz, lag(xz, -1)) R> arima(coredata(zz[,1]), order = c(1,1,1), xreg = coredata(zz[,2])) Call: arima(x = coredata(zz[, 1]), order = c(1, 1, 1), xreg = coredata(zz[, 2])) Coefficients: ar1 ma1 coredata(zz[, 2]) -0.2991 -0.8252 0.8537 s.e. 0.4516 1.0009 0.0838 sigma^2 estimated as 0.444: log likelihood = -7.9, aic = 23.8 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html