OPTIM功能如何正常工作?

时间:2013-11-13 01:29:41

标签: r

这里,我的函数nd工作正常但是当我在OPTIM函数中使用它时它会出错。 我的错是什么?代码是

ta=c(2.0, 4.0);       
n=500;                

x=runif(n);        

TT=rexp(n,1);       
D=matrix(0,n,1);        

for (j in 1:n) {
D[j]=ifelse(TT[j]>x[j],1,0)
}

xt=matrix(0,length(ta),1);
for (ii in 1:length(ta)) {
 xt[ii]=sum(I(TT<ta[ii])*D)      
}

nd<- function(params) {
tta=c(params[1],params[2]);
ss1=0;

ss1=xt[1]*log(xt[1]/sum(pmin(TT,tta[1])))+(xt[2]-xt[1])*log((xt[2]-xt[1])/sum((pmin(TT,tta[2])-tta[1])*I(TT>tta[1])))+(sum(D)-xt[2])*log((sum(D)-xt[2])/sum((TT-tta[2])*I(TT>tta[2])));
ll=-ss1;

return (ll)  
 }


nn<-optim(par=c(0.5,2.5),fn=nd, method = "L-BFGS-B", lower=c(0.01,2.01), upper=c(3.99, 9.99));

我发现了以下错误;

optim中的错误(par = c(0.5,2.5),fn = nd,method =“L-BFGS-B”,lower = c(0.01 ,:   L-BFGS-B需要有限值'fn'

0 个答案:

没有答案