[R] putting match.call to good use

Harald Eikrem heikrem at c2i.net
Wed Jan 28 15:29:44 CET 2009


( 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.

   ~~harald e




More information about the R-help mailing list