[R] L-BFGS-B needs finite values of 'fn'

Jinsong Zhao jszhao at mail.hzau.edu.cn
Tue Jun 24 12:51:06 CEST 2008


Another question related with the same code:

> r <- c(3,4,4,3,5,4,5,9,8,11,12,13)
> n <- rep(15,12)
> x <- c(0, 1.1, 1.3, 2.0, 2.2, 2.8, 3.7, 3.9, 4.4, 4.8, 5.9, 6.8)
> x <- log10(x)
> fr <- function(c, alpha, beta) {
>   P <- c + (1-c) * pnorm(alpha + beta * x)
>   P <- pmax(pmin(P,1),0)
>   -(sum(log(choose(n,r))) + sum(r * log(P)) + sum((n -r)* log(1-P)))
>  }
> fit <- mle((fr), start = list(c =0.2, alpha = 0, beta =0.1), method =
> "BFGS")
> 

The above code could terminate normally. However, if ``beta'' set to 0, 
then the following error message will appear:

Error in optim(start, f, method = method, hessian = TRUE, ...) :
   initial value in 'vmmin' is not finite

I have learn that "drc" package could deal with this situation, it set 
the first observation to control, however, I don't find the way to 
implement it in the source code, for the code is too complex to me.

Any suggestion? Thanks in advance!

Jinsong



More information about the R-help mailing list