[R] passing formula arguments cv.glm

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Jul 26 11:57:38 CEST 2005


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 at 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 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
>

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




More information about the R-help mailing list