[R] Prediction using GAM

Prof Brian Ripley ripley at stats.ox.ac.uk
Thu Mar 24 09:00:48 CET 2005


R has *two* gam() functions in contributed packages 'mgcv' and 'gam'. 
Which is this?

Please see the posting guide and provide a reproducible example.

If this is package 'gam', prediction difficulties of this sort for the S 
version are discussed in the White Book, MASS and elsewhere (but I recall 
reading that they did not apply to the R version).


On Wed, 23 Mar 2005, Kerry Bush wrote:

> Recently I was using GAM and couldn't help noticing
> the following incoherence in prediction:
>
>> data(gam.data)
>> data(gam.newdata)

It is unusual to use data() on your own objects, but we cannot reproduce 
what you did without data.

>> gam.object <- gam(y ~ s(x,6) + z, data=gam.data)
>> predict(gam.object)[1]
>        1
> 0.8017407
>>
> predict(gam.object,data.frame(x=gam.data$x[1],z=gam.data$z[1]))
>        1
> 0.1668452
>
> I would expect that using two types of predict
> arguments should give me the same results.
> When I used this to predict a new data set then it
> seems OK:
>
>>
> predict(gam.object,data.frame(x=gam.newdata$x[1],z=gam.newdata$z[1]))
>        1
> 0.4832136
>> predict(gam.object,gam.newdata)[1]
>        1
> 0.4832136
>
> Could anybody explain the strange behavior of
> predict.gam function?


-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list