It would help if you told us what type of error you are getting and to also provide sample data so that we could run it to see what happens. I use 'try' a lot to catch errors and have not had any problems with it.
On Mon, Mar 18, 2013 at 6:11 AM, lisa <wang.li...@gmail.com> wrote: > Hi All, > > I have tried every fix on my try or tryCatch that I have found on the > internet, but so far have not been able to get my R code to continue with > the "for loop" after the lmer model results in an error. > > Here is two attemps of my code, the input is a 3D array file, but really > any function would do.... > > metatrialstry<-function(mydata){ > > a<-matrix(data=NA, nrow=dim(mydata)[3], ncol=5) > #colnames(a)=c("sens", "spec", "corr", "sens_se", "spec_se", > "counter")#colnames(a)=c("sens", "spec", "corr", "sens_se", "spec_se") > k=1 > for(ii in 1:dim(mydata)[3]){ > tmp<-mydata[,,ii] > tmp1<-as.data.frame(tmp) > names(tmp1)=c("persons", "d1", "tp", "fn", "fp", "fn", "detect", "d0", > "outcome") > lm1<-try(lmer(outcome~0+d1+d0+(0+d1+d0 | persons), family=binomial, > data=tmp1, nAGQ=3), silent=T) > if(class(lm1)[1]!='try-error'){ > a[ii,1]=lm1@fixef[1] > a[ii,2]=lm1@fixef[2] > a[ii,3]=vcov(lm1)[1,2]/prod(sqrt(diag(vcov(lm1)))) > a[ii,4:5]=sqrt(diag(vcov(lm1))) > } > } > #k=k+1 > #a[ii,6]=k > > return(a) > } > > ######################################### > ######### try / try catch ############### > ######################################### > > > > metatrialstry<-function(mydata){ > > a<-matrix(data=NA, nrow=dim(mydata)[3], ncol=5) > #colnames(a)=c("sens", "spec", "corr", "sens_se", "spec_se", "counter") > colnames(a)=c("sens", "spec", "corr", "sens_se", "spec_se") > #a[,6]=rep(0, length(a[,6])) > for(ii in 1:dim(mydata)[3]){ > tmp<-mydata[,,ii] > tmp1<-as.data.frame(tmp) > names(tmp1)=c("persons", "d1", "tp", "fn", "fp", "fn", "detect", "d0", > "outcome") > lm1<-tryCatch(lmer(outcome~0+d1+d0+(0+d1+d0 | persons), > family=binomial, data=tmp1, nAGQ=3), error=function(e) e) > a[ii,1]=lm1@fixef[1] > a[ii,2]=lm1@fixef[2] > a[ii,3]=vcov(lm1)[1,2]/prod(sqrt(diag(vcov(lm1)))) > a[ii,4:5]=sqrt(diag(vcov(lm1))) > } > return(a) > } > > > Any guidance would be greatly appreciated... > > thanks! > Lisa > > -- > Lisa Wang > email: wang.li...@gmail.com > cell: +49 -0176-87786557 > Tübingen, Germany, 72070 > > [[alternative HTML version deleted]] > > > ______________________________________________ > 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. > > -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? Tell me what you want to do, not how you want to do it. [[alternative HTML version deleted]]
______________________________________________ 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.