[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