Re: [Rd] messing with ...

From: Tony Plate <>
Date: Wed, 13 Aug 2008 10:35:44 -0600

Ben Bolker wrote:
> I'm looking for advice on manipulating parameters that
> are going to be passed through to another function.
> Specifically, I am working on my version of "mle",
> which is a wrapper for optim (among other optimizers).
> I would prefer not to replicate the entire argument
> list of optim(), so I'm using ... to pass extra arguments
> through.
> However:
> the starting values are specified as a list,
> which means that users can potentially specify them
> in any order (or at least that's the way it works
> now -- one solution to the problem I'm about to state
> is to insist that they specify the parameters in the
> same order as they are given in the arguments of
> the objective function).
> However, there are other arguments (lower, upper,
> control$parscale, control$ndeps) that should all
> be in the same order as the objective function
> definition by the time they get to optim()). I can
> think of a few solutions:
> (1) make the user specify them all in the right order (ugh)
> (2) add all of them as explicit parameters to my function
> so that I can rearrange them appropriately (ugh)
> (3) mess with the ... argument before it gets passed
> through to optim (impossible?)
> (4) capture ... as arglist <- list(...), manipulate the arguments
> as necessary, then pass them along to optim as
>"optim",arglist) (ugh but maybe the best solution?)
> any thoughts?
here's my two cents:
- require names on parameters, rather than order - construct calls and use eval() rather than (then you can manipulate list(...) without the ugh factor of -- though is any different to eval() in R? -- I know in S-PLUS that the use of can completely blow out memory usage) - to avoid manually duplicating arg lists, use constructs like names(formals(optim)) and pmatch to find args that below to the optimizer function vs the objective function mailing list Received on Wed 13 Aug 2008 - 16:36:52 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 13 Aug 2008 - 21:36:57 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive