Basically you run you each iteration of your code inside try() and then test to see if it's class vector includes "try-error", ... then you can do something with the result or return NA. This may makeit more useful because I return the results at each iteration if there was no error:
sapply(test, function(x) if( "try-error" %in% class(try( Z <- exp(test[test[x:1]] ) ) ) ){NA}else{Z} ) On Sep 18, 2012, at 5:38 PM, John Sorkin wrote: > David, > Thank you. I will study your code so I can understand your suggestion. > Thanks, > John > > > John David Sorkin M.D., Ph.D. > Chief, Biostatistics and Informatics > University of Maryland School of Medicine Division of Gerontology > Baltimore VA Medical Center > 10 North Greene Street > GRECC (BT/18/GR) > Baltimore, MD 21201-1524 > (Phone) 410-605-7119 > (Fax) 410-605-7913 (Please call phone number above prior to faxing)>>> David > Winsemius <dwinsem...@comcast.net> 9/18/2012 8:35 PM >>> > > On Sep 18, 2012, at 5:10 PM, John Sorkin wrote: > > > Window 7 > > R 2.15 > > > > I am writing a simulation which generates sample sized estimates from > > simulated data. When I run the function shown below, > > power.t.test(delta=14.02528,sd=1.945226,power=0.8,sig.level=0.05) > > > > I get an error message: > > > >> power.t.test(delta=14.02528,sd=1.945226,power=0.8,sig.level=0.05) > > Error in uniroot(function(n) eval(p.body) - power, c(2, 1e+07)) : > > f() values at end points not of opposite sign > > > > The fact that the function can not return a sample size is OK, however I > > need to trap the error and set the sample size equal to NA. How do I trap > > the error so that when the error occurs I can set sample size equal to NA? > > ?conditions #### has lots of fancy stuff > # But I use just plain old `try` > > test=-10:10 > sapply(test, function(x) if( "try-error" %in% > class( try( test[test[x:1]] ) ) ){ > 2}else{0} ) > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > Error in test[x:1] : only 0's may be mixed with negative subscripts > [1] 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 > > You still get the messages but the code runs. > > -- > > David Winsemius, MD > Alameda, CA, USA > > > > Confidentiality Statement: > > This email message, including any attachments, is for ...{{dropped:14}} ______________________________________________ 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.