[R] problem with lm and predict - no predictions made

Erik Iverson iverson at biostat.wisc.edu
Thu Jul 3 03:55:54 CEST 2008


Hello -

Keld Jørn Simonsen wrote:
> Hi 
> 
> I have a problem with lm and predict
> 
> I have 
> 
> us
>  [1]  2789.53  3128.43  3255.03  3536.68  3933.18  4220.25  4462.83 4739.48
>  [9]  5103.75  5484.35  5803.08  5995.93  6337.75  6657.40  7072.23 7397.65
> [17]  7816.83  8304.33  8746.98  9268.43  9816.98 10127.95 10469.60 10960.75
> [25] 11685.93 12433.93 13194.70 13843.83
> 
> 
>  us.p
>  [1] 227.62 229.92 232.13 234.25 236.31 238.42 240.59 242.75 244.97 247.29
> [11] 250.05 253.39 256.78 260.15 263.33 266.46 269.58 272.82 276.02 279.20
> [21] 282.31 285.25 288.10 290.85 293.53 296.26 299.08 301.97
> 
>  us.l = lm(log(us) ~ log(us.p))
>> predict(us.l,n.ahead=5)
>        1        2        3        4        5        6        7        8 
> 8.079754 8.131908 8.181531 8.228692 8.274111 8.320224 8.367224 8.413588 
>        9       10       11       12       13       14       15       16 
> 8.460813 8.509709 8.567285 8.636117 8.705057 8.772694 8.835719 8.897015 
>       17       18       19       20       21       22       23       24 
> 8.957402 9.019376 9.079867 9.139289 9.196752 9.250495 9.302067 9.351347 
>       25       26       27       28 
> 9.398927 9.446950 9.496094 9.545979
> 
> 
> Why does predict not give me any predictions? The result of predict() is
> same lenght (28) as the us and us.p variables. 

The version of 'predict' being called on 'us.l' (i.e., predict.lm) is 
doing predictions, and it should be giving you a result of identical 
length as your original vectors.  What are you expecting here?  Your 
usage of the 'n.ahead' parameter suggests to me you might be wanting to 
fit your model using a different function than 'lm', and use its 
corresponding prediction function.



More information about the R-help mailing list