Prof Brian Ripley wrote: > On Wed, 28 Jan 2009, Harald Eikrem wrote: > >> ( I just became aware the mailer enforces html bodies, as such removed >> by the list handler. Sorry about that. My message was ) >> >> I have this function >> >> slm <- function(fun=lm, ...) { >> #ilm <- eval(match.call()[-1]); # no way >> ilm <- eval(parse(text=sub("^list", deparse(substitute(fun)), >> deparse(substitute(...()))))); >> ... >> >> The latter actually does the trick, but recognising how some gurus >> hate parse, I would like to know if this can anyhow be done with >> match.call, or any other reasonable solution. >> >> The issue here is that lm (and likewise glm, bayesglm, etc.) returns >> the function call, which needs to show up as the original args to slm >> of course. > > The way to do this is eval(substitute()). E.g. from the new Rd2HTML > > Rd <- eval(substitute(parse_Rd(f, encoding = enc), > list(f = Rd,enc = encoding))) >
I don't understand the substitute(...()) bit (looks like an unexpected feature), but I suspect that it might also be a good idea to read and understand the first dozen lines or so of the lm function itself. -- O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalga...@biostat.ku.dk) FAX: (+45) 35327907 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.