[R] passing formula arg to mgcv::gam
Vadim Ogranovich
vograno at evafunds.com
Tue Sep 28 00:57:43 CEST 2004
This is a self-response :-).
It was indeed a problem with environments. One way to get around is to "reset" the environment, e.g. inside callGam do
formula <- as.formula(unclass(formula))
Not too aesthetic, but works. Is there a less kludgy way to do this?
BTW, forgot to mention. This is R-1.9.1 on RH-7.3.
Thanks,
Vadim
> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Vadim
> Ogranovich
> Sent: Monday, September 27, 2004 3:24 PM
> To: r-help at stat.math.ethz.ch
> Subject: [R] passing formula arg to mgcv::gam
>
> 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
>
More information about the R-help
mailing list