RE: [R] passing formula arg to mgcv::gam

From: Vadim Ogranovich <vograno_at_evafunds.com>
Date: Tue 28 Sep 2004 - 08:57:43 EST


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@stat.math.ethz.ch
> [mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of Vadim
> Ogranovich
> Sent: Monday, September 27, 2004 3:24 PM
> To: r-help@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@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
>



R-help@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 Received on Tue Sep 28 09:07:57 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 02:56:20 EST