[R] function in nls argument
    Fernando Moyano 
    nanomoyano at yahoo.com
       
    Wed May  7 17:40:36 CEST 2008
    
    
  
Greetings R users, maybe there is someone who can help
me with this problem:
I define a function "optim.fun" and want as output the
sum of squared errors between predicted and measured
values, as follows:
optim.fun <- function (ST04, SM08b, ch2no, a, b, d, E)
        {
        predR <-
(a*SM08b^I(2)+b*SM08b+d)*exp(E*((1/(283.15-227.13))-(1/(ST04+273.15-227.13))))
        abserr <- abs(ch2no-predR)
        qnum <- quantile(abserr, probs=0.95, na.rm=T) 
      
        is.na(abserr) <- (abserr > qnum)
        errsq <- sum(abserr^2, na.rm=T)
        errsq
        }
Then I want to optimize parameters a,b,d and E as to
minimize the function output with the following:
optim.model<-nls(nulldat ~ optim.fun(ST04, SM08b,
ch2no, a, b, d, E), data=tower,
start=list(a=-0.003,b=0.13,d=0.50, E=400), na.action =
na.exclude )
were nulldat=0
At this point I get the following error message:
Error in qr.default(.swts * attr(rhs, "gradient")) : 
  NA/NaN/Inf in foreign function call (arg 1)
Warning messages:
1: In if (na.rm) x <- x[!is.na(x)] else if
(any(is.na(x))) stop("missing values and NaN's not
allowed if 'na.rm' is FALSE") ... :
  the condition has length > 1 and only the first
element will be used
(this warning is repeated 12 times)
Question: what does the error mean? What am I doing
wrong?
Thanks a bunch.
Nano
Jen, Germany
Max Planck for Biogeochemistry
      ____________________________________________________________________________________
[[elided Yahoo spam]]
    
    
More information about the R-help
mailing list