[R] Error in integrate(integrand, 0, Inf) : non-finite function value

stats12 skarmv at gmail.com
Sun Oct 21 05:01:51 CEST 2012


Hi,

Thank you for your comment. I worked on the code again and was able to make
it work. The only problem I am having right now is that nlm depends on the
initial value.  

When the initial value is 1, I get the following estimates
0.1230414 19.6271029

when it is 2, I get the following
29.46874 20.01679



d<-matrix(c(1,1,0,0,0,0,0,0,2,1,0,0,1,1,0,1,2,2,1,0),nrow=10,ncol=2) 
h<-matrix(runif(20,0,1),10) 
delta<-matrix(c(2,1,0,1,0,1,0,0,2,1,0,0,1,1,1,1,0,2,1,0),nrow=10,ncol=2) 

out<-vector("numeric",length(1:2)) 
integ<-vector("numeric",length(1:10)) 

for (k in 1:2){ 
ll<-function(p){ 
cmh<-delta[,k]*(h[,k]*log(0.5))+p*log(gamma(1+1/p)) 
for(s in 1:10){ 
integrand<-function(x)
x^d[s,k]*exp(-x*gamma(1+1/p))^p*p*x^(p-1)*exp(-x*h[s,k]) 
integ<-integrate(integrand,0,Inf)$value 
return(integ)
}

lik<-sum(cmh+log(integ)) 
-lik 
} 
initial<-c(1) 
t<-nlm(ll,initial) 
out[k]<-t$estimate 
} 

est<-as.vector(out)








--
View this message in context: http://r.789695.n4.nabble.com/Error-in-integrate-integrand-0-Inf-non-finite-function-value-tp4646868p4646896.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list