[R] Passing parameters to 'optim' fn function
Robin Hankin
r.hankin at noc.soton.ac.uk
Wed Sep 12 10:53:01 CEST 2007
Hi
Use the dots argument at the end to pass in named parameters.
This is documented as the last in the argument list under ?optim.
Here's a toy example using x and p:
> f <- function(x,p){sum(x^2)+p*sum(x)}
> gr <- function(x,p){2*x+p*rep(1,length(x))}
> optim(par=c(10,10),fn=f,gr=gr,p=13)
$par
[1] -6.498188 -6.499652
$value
[1] -84.5
$counts
function gradient
63 NA
$convergence
[1] 0
$message
NULL
HTH
rksh
On 12 Sep 2007, at 09:32, José Luis Aznarte M. wrote:
> Hi again! I'm using the 'optim' method to fix the parameters of a
> model. I have written the function to be minimised and another
> function
> which returns the gradient of the error. Now my problem is that, in
> order to compute that gradient, it would be extremely convenient to be
> able to pass some parameters to the gradient function. I don't see how
> to do it given the fixed syntax of 'optim', which does not allow for
> parameters being passed to fn and gr:
>
>> optim(par, fn, gr = NULL, ...)
>
> Of course the first idea would be to "pack" the extra
> parameters in
> the vector 'par', but in that case the extra parameters would be
> optimized too.
> Does anyone have an idea on how to pass parameters to gr in optim?
> Thanks for your time!
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-
> guide.html
> and provide commented, minimal, self-contained, reproducible code.
--
Robin Hankin
Uncertainty Analyst
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
tel 023-8059-7743
More information about the R-help
mailing list