"kakul modani" <[EMAIL PROTECTED]> wrote in
news:[EMAIL PROTECTED]: 

> I am having the following error in my function
> 
> function(theta,reqdIRR)
> {
> theta1<-theta[1]
> theta2<-theta[2]
> n<-length(reqdIRR)
> constant<- n*(theta1+theta2)
> sum1<-lapply(reqdIRR*exp(theta1),FUN = sum)
> sum2<-lapply(exp(theta2 - reqdIRR*exp(theta1)),FUN = sum)
> sum = sum1 + sum2
> log.fcn = constant - as.numeric(sum)
> result = - log.fcn
> return(result)
> }
> 
> *error :  neg.log.gumbel(1,reqdIRR)
> Error in sum1 + sum2 : non-numeric argument to binary operator
>>
> 
> how can i rectify the error?Its really urgent...

sum1 and sum2 are lists and "+" is expecting a vector. Two choices

--- substituting:
sum = unlist(sum1)+ unlist(sum2)

--or--
change the lapply(...) to sapply(...) 

which will return a numeric vector.

-- 
David Winsemius

______________________________________________
R-help@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.

Reply via email to