[R] passing formula arg to mgcv::gam
Gabor Grothendieck
ggrothendieck at myway.com
Tue Sep 28 03:19:33 CEST 2004
How about
environment(formula) <- environment()
Vadim Ogranovich <vograno <at> evafunds.com> writes:
:
: 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
More information about the R-help
mailing list