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 do.call("optim",arglist) (ugh but maybe the best solution?) any thoughts? thanks Ben Bolker
signature.asc
Description: OpenPGP digital signature
______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel