Re: [Rd] optim bug (PR#9684)

From: Bill Dunlap <bill_at_insightful.com>
Date: Tue, 15 May 2007 09:09:42 -0700 (PDT)

On Tue, 15 May 2007, Prof Brian Ripley wrote:

> This is not a bug, but as documented on the help page:
>
> ...: Further arguments to be passed to 'fn' and 'gr'. Beware of
> partial matching to earlier arguments.
>
> You have partial matching to 'upper'.

We have this problem in optim(), integrate(), and probably other functions. These functions have a lot of arguments before the ..., using up a lot of partial matching space. Would you consider adding another argument to the tail end of their argument lists that would include the auxillary arguments?

E.g.,

   optim <- function(par, fn, gr = NULL,

           method = c("Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN"),
           lower = -Inf, upper = Inf,
           control = list(), hessian = FALSE,
           ..., aux.args = list(...))

If the user did not supply aux.args this would act like the old version. If the user did supply aux.args then the function could check that no unrecognized arguments were given to optim.

optim might require 2 such arguments,

    aux.args.fn = list(...), aux.args.gr=aux.args.fn (The forces you to know that the objective function is called 'fn', not integrate's 'f' or apply's 'FUN'.) I don't know what the best name for such an argument would be. If we added it, it would nice to make it the same in R and Splus.

> On Mon, 14 May 2007, christina.merz@gmx.de wrote:
>
> 'optim' does not accept arguments called 'u'. Here is an example:
>
> > R> fun<-function(x,u) (x-u)^2
> > R> optim(7,fn=fun,u=9)
> >
> > Fehler in fn(par, ...) : Argument "u" fehlt (ohne Standardwert)
> > Zusätzlich: Warning message:
> > bounds can only be used with method L-BFGS-B in: optim(7, fn = fun, u = 9)



Bill Dunlap
Insightful Corporation
bill at insightful dot com
360-428-8146

 "All statements in this message represent the opinions of the author and do  not necessarily reflect Insightful Corporation policy or position."



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue 15 May 2007 - 16:30:48 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 Tue 15 May 2007 - 18:33:52 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.