Re: [R] passing formula arguments cv.glm

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Tue 26 Jul 2005 - 19:57:38 EST

Adai,

using traceback() helps, as does giving a reproducible example when reporting a problem.

However, the problem is I think the line

         d.glm <- update(glmfit, data = data[j.in, , drop = FALSE])

in cv.glm. I think that should be

         d.glm <- eval.parent(update(glmfit,
                     data = data[j.in, , drop = FALSE], evaluate = FALSE))

as in add.default and many other places.

Could you please confirm that is the cause?

Brian

On Mon, 25 Jul 2005, Adaikalavan Ramasamy wrote:

> I am trying to write a wrapper for the last example in help(cv.glm) that
> deals with leave-one-out-cross-validation (LOOCV) for a logistic model.
> This wrapper will be used as part of a bigger program.
>
> Here is my wrapper funtion :
>
> logistic.LOOCV.err <- function( formu=NULL, data=NULL ){
>
> cost.fn <- function(cl, pred) mean( abs(cl-pred) > 0.5 )
>
> glmfit <- glm( formula=formu, data=data, family="binomial" )
> print("glmfit is OK")
>
> err <- cv.glm( data=data, glmfit=glmfit,
> cost=cost.fn, K=nrow(data) )$delta[2]
> print("cv.glm OK")
> }
>
>
> When I run the above function line by line with the arguments from
> below, it works fine. But when I call it as function, I get this :
>
> rm( glmfit, formu, cv.err ) # cleanup if required
> logistic.LOOCV.err( formu=as.formula(r~stage+xray+acid), data=nodal )
>
> logistic.LOOCV.err( formu=as.formula(r~stage+xray+acid), data=nodal )
> [1] "glmfit is OK"
> Error in model.frame(formula = formu, data = data[j.in, , drop =
> FALSE], :
> Object "formu" not found
>
>
> I think this has something to do with formula and environments but I do
> not know enough to solve it myself. I searched the archive without much
> help (perhaps I was using the wrong keywords).
>
> Any help would be very much appreciated. Thank you.
>
> Regards,
> --
> Adaikalavan Ramasamy ramasamy@cancer.org.uk
> Centre for Statistics in Medicine http://www.ihs.ox.ac.uk/csm/
> Wolfson College Annexe Tel : 01865 284 408
> Linton Road, Oxford OX2 6UD Fax : 01865 284 424
>
> ______________________________________________
> 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
>

-- 
Brian D. Ripley,                  ripley@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

______________________________________________
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 Jul 26 20:02:22 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:34:01 EST