[R] passing parameters in optim()

Thomas Lumley tlumley at u.washington.edu
Tue Feb 5 23:23:18 CET 2002


On Tue, 5 Feb 2002, Nancy Lo wrote:

> Hi all,
>
> I am using optim() to get estimate for parameter 'a' which will minimize
> the output of lprob.catch(a) and I got an error message:
>
> > optim(2,lprob.catch(x, freq,1, 0.5,0.5, a,- 0.7, 1, -0.7,0.1,
> 1,0.2,2,1,data.sf.mont))
> Error in catch2.fun(k, f1, f2, a, b, A, B, R, n0, av, index.n) :
>         Object "a" not found
>
>
> Why wasn't the initial value of a=2 passed to catch2.fun() which was
> called by lprob.catch()?
>

The second argument to optim() must be a function of one variable
(possibly a vector variable), but
   lprob.catch(x, freq,1, 0.5,0.5, a,- 0.7, 1, -0.7,0.1, 1,0.2,2,1,data.sf.mont)
is a not a function at all.  How is optim() supposed to know that a=2,
rather than x=2, or data.sf.mont=2?

You probably wanted
 optim(2,function(a) {lprob.catch(x, freq,1, 0.5,0.5, a,- 0.7, 1, -0.7,0.1,1,0.2,2,1,data.sf.mont)})
assuming that all the other variables are defined.

	-thomas

Thomas Lumley			Asst. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list