If I name the elements of the vector of initial values passed to optim(), then it attaches the names to the final result, e.g.
> f <- function(parms) (parms[1]-1)^2+(parms[2]-2)^2 > optim(c(x=3,y=4), f) $par x y 0.9999635 2.0003241 $value [1] 1.063637e-07 $counts function gradient 65 NA $convergence [1] 0 $message NULL However, the vector that gets passed to f doesn't have its names attached: > f <- function(parms) { + print(parms) + (parms["x"]-1)^2+(parms["y"]-2)^2 + } > optim(c(x=3,y=4), f) [1] 3 4 Error in optim(c(x = 3, y = 4), f) : function cannot be evaluated at initial parameters Is this something that should be fixed, i.e. could it be fixed without making optim() substantially slower? If not, it's at least something that should be documented. Duncan Murdoch ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel