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