[R] Trap an error from a function

John Sorkin JSorkin at grecc.umaryland.edu
Wed Sep 19 02:38:20 CEST 2012


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 <dwinsemius at 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 the sole use of the intended recipient(s) and may contain confidential and privileged information.  Any unauthorized use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. 


More information about the R-help mailing list