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 ______________________________________________ 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.