Re: [R] About Passing Arguments to Function

From: Charilaos Skiadas <cskiadas_at_gmail.com>
Date: Thu, 22 May 2008 21:36:57 -0400

On May 22, 2008, at 9:14 PM, Edward Wijaya wrote:

> Hi,
>
> Below I have a function mlogl_k,
> later it's called with "nlm" .
>
> __BEGIN__
> vsamples<- c(14.7, 18.8, 14, 15.9, 9.7, 12.8)
>
> mlogl_k <- function( k_func, x_func, theta_func, samp) {
> tot_mll <- 0
> for (comp in 1:k_func) {
> curr_mll <- (- sum(dgamma(samp, shape = x_func,
> scale=theta_func, log = TRUE)))
> tot_mll <- tot_mll + curr_mll
> }
>
> tot_mll
> }
>
> # Calling the function above
> mlogl_out <- nlm(mlogl_k, mean(vsamples), k_func =2, x_func = 1,
> theta_func = 1, samp=vsamples)
>
> __END__
>
> I thought under NLM, I already assign
> the parameter correctly.
> However it gives me the following error.
>
> Error in f(x, ...) : unused argument(s) (14.3166666666667)
> Calls: nlm -> <Anonymous> -> f
> Execution halted
>
>
> What's wrong with my code above?

nlm passes the following values over to mlogl_k: mean(vsamples), k_func =2, x_func = 1, theta_func = 1, samp=vsamples

Now, f is called with these arguments, and all its arguments are matched by the named arguments. Then it does not know what to do with the "mean(vsamples)" argument. Hence the error: f is called with one more argument than it can handle.

It is not clear with respect to what variables you want the minimization. Right now all the named variables are treated as constants, and there is no variable left with respect to which mlogl_k is supposed to be maximized. Read the documentation for nlm carefully: Your function should have one more argument (like the alpha in the question you asked yesterday).

> - Edward

Haris Skiadas
Department of Mathematics and Computer Science Hanover College



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. Received on Fri 23 May 2008 - 01:39:52 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 Fri 23 May 2008 - 02:30:45 GMT.

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

list of date sections of archive