[R] passing formula arg to mgcv::gam

Thomas Lumley tlumley at u.washington.edu
Tue Sep 28 16:34:22 CEST 2004


I think that this should work in gam(), but in any case a fix is to put 
the subset variable into the data frame.  The formula interface works best 
this way.  In your example you could add idx=1:100 to the data frame and 
then use subset=idx %in%  1:10

 	-thomas


On Mon, 27 Sep 2004, Vadim Ogranovich wrote:

> Hi,
>
> I have a function, callGam, that fits a gam model to a subset of a dataframe. The argument to callGam is a formula, the subset is determined inside the function itself. My naïve approach generates and error, see below. I guess this is because 'idx' is loocked up in the environment of 'formula', but I am too ignorant about environments to be able to tell for sure. Could someone please suggest a way around?
>
> Thanks,
> Vadim
>
>> library("mgcv")
>>
>> callGam <- function(formula) {
> +   idx <- seq(10)
> +   gam(formula, data=data.frame(x=rnorm(100), y=rnorm(100)), subset=idx)
> + }
>>
>> gam.fit <- callGam(y ~ x)
> Error in eval(expr, envir, enclos) : Object "idx" not found
>>
>
> ______________________________________________
> R-help at 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
>

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle


More information about the R-help mailing list