[Rd] Name length of function argument? (PR#10357)

Duncan Murdoch murdoch at stats.uwo.ca
Sat Oct 20 12:02:55 CEST 2007


deiwiks at icr.gess.ethz.ch wrote:
> Hi,
> I've just been programming a function to calculate the likelihood in a 
> probit model.
> The function looks like this
>
> likelihood <- function(Y,X,p) {
> Z <- p[1] +p[2]*X
> P <- Y*pnorm(Z) + (1-Y)*(1-pnorm(Z))
> -prod(P)
> }
>
> out <- optim(likelihood,p=c(0,0),Y=wells$switch,X=wells$dist, hessian=TRUE)
>
> X and Y are vectors containing column data.
> This works fine, however, if I rename p to pp or anything that is longer 
> than one character, I get the following error message:
>
> Error in optim(f, pp = c(0, 0), Y=wells$switch, X=wells$dist, 
> hessian=TRUE) :
>   cannot coerce type closure to double vector
>
> This seems like a bug... Or can you help me find the mistake I made?
>   
See ?optim.  The first argument should be par, not fn.

Duncan Murdoch



More information about the R-devel mailing list