Hello,
I don't know how to use predict.lm() for ts object.

Here's the time series regression.
y = t + Q1 + Q2 + Q3 + Q4

Here's my R code,

> dat <- rnorm(20)
> tsdat <- ts(dat, start=c(1900, 1), freq=4)
> q <- as.factor(rep(1:4, 5))
>  t <- 1:20
>  lm(tsdat~t+q)

Call:
lm(formula = tsdat ~ t + q)

Coefficients:
(Intercept)            t           q2           q3           q4
  -0.167030    -0.009484     0.507132     0.113818    -0.734521

> predict(model, newdata=newdata)
          1           2           3           4           5           6
-0.17651394  0.32113359 -0.08166464 -0.93948758 -0.21445060  0.28319692
          7           8           9          10          11          12
-0.11960131 -0.97742425 -0.25238727  0.24526025 -0.15753798 -1.01536092
         13          14          15          16          17          18
-0.29032394  0.20732358 -0.19547465 -1.05329759 -0.32826061  0.16938691
         19          20
-0.23341132 -1.09123426
Warning message:
'newdata' had 4 rows but variables found have 20 rows


I am aware predict.lm() requires all data to be in data frame format.
 Could someone tell me what is wrong?  Thanks!


Mike

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to