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

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

Reply via email to