[R] error: Error in if (is.na(f0$objective)) { : argument is of length zero

Bert Gunter gunter.berton at gene.com
Mon Feb 18 22:39:49 CET 2013


You're kidding, right?!

See ?traceback for browsing the call stack after an error.

Also ?browser, ?debug, and ?recover for other debugging options.


-- Bert

On Mon, Feb 18, 2013 at 1:28 PM, Aya Anas <aanas at feps.edu.eg> wrote:
> Dear all,
>
> I tried running the following syntax but it keeps running for about 4 hours
> and then i got the following errors:
>
> Error in if (is.na(f0$objective)) { : argument is of length zero
> In addition: Warning message:
> In is.na(f0$objective) :
>   is.na() applied to non-(list or vector) of type 'NULL'
>
> Here is the syntax itself:
>
> library('nloptr')
> library('pracma')
> # objective function
> f <- function(x,s) {m<-100
> t<-2*m+1
> H<-matrix(data=NA,nrow=t,ncol=t)
> I<-diag(t)
> delta<-2*x[1]/t
> z<--x[1]+.5*delta
> range1<-t
> for (i in 1:range1){
> z_i=-x[1]+(i-.5)*delta
> for (j in 1:range1){
>               up<-(((-x[1]+j*delta-(1-x[2])*z_i)/x[2]))-s
>               down<-(((-x[1]+(j-1)*delta-(1-x[2])*z_i)/x[2]))-s
>               H[i,j]<-pnorm(up,mean=0,sd=1)-pnorm(down,mean=0,sd=1)}
> }
>
> K<-solve(I-H)
> one <- matrix(1,nrow=t,ncol=1)
> u <- matrix(0,nrow=m,ncol=1)
> y<-c(u, 1, u)
> z<-t(y)
> ARLV<-K%*%one
> ARLV2<-t(ARLV)
>     return((ARLV2%*%y)/3)
> }
> # constraint function
> eval_g0 <- function(x) {m1<-100
> t1<-2*m1+1
> H1<-matrix(data=NA,nrow=t1,ncol=t1)
> I1<-diag(t1)
> delta1<-2*x[1]/t1
> z1<--x[1]+.5*delta1
> range11<-t1
> for (i1 in 1:range11){
> z_i1=-x[1]+(i1-.5)*delta1
> for (j1 in 1:range11){
>               up1<-((-x[1]+j1*delta1-(1-x[2])*z_i1)/x[2])
>               down1<-((-x[1]+(j1-1)*delta1-(1-x[2])*z_i1)/x[2])
>               H1[i1,j1]<-pnorm(up1,mean=5,sd=1)-pnorm(down1,mean=5,sd=1)}
> }
>
> K1<-solve(I1-H1)
> one1 <- matrix(1,nrow=t1,ncol=1)
> u1 <- matrix(0,nrow=m1,ncol=1)
> y1<-c(u1, 1, u1)
> z1<-t(y1)
> ARLV1<-K1%*%one1
> ARLV21<-t(ARLV1)
>
>     return( abs((ARLV21%*%y1)-500)-1)
> }
> eval_f0 <- function(x) romberg(function(s) f(x, s), 0, 6)
> of <- nloptr( x0=c(0.653,0.09),
>                 eval_f=eval_f0,
>                 lb = c(0,0),
>                 ub = c(6,1),
>                 eval_g_ineq = eval_g0,
>                 opts = list("algorithm"="NLOPT_LN_COBYLA", "maxeval"=1000),
>                                 )
> print(of)
>
> Regards,
> Aya
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.



-- 

Bert Gunter
Genentech Nonclinical Biostatistics

Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm



More information about the R-help mailing list