[R] Help with tryCatch
David Winsemius
dwinsemius at comcast.net
Sat Jan 2 05:54:00 CET 2010
Dr Sorkin;
You are a smart person. Why are you unable to create a working example
that would allow testing of the code structure?
On Jan 1, 2010, at 10:27 PM, John Sorkin wrote:
> coeffs <- matrix(nrow=10, ncol=3)
> dimnames(coeffs) < -list(NULL,c("BMI","BMIsq","min"))
>
> # set row counter
> n<-0
>
> # Function to run
> testone<-function()
> {
> SampleData<-sample(1:SS,size=SS,replace=TRUE)
# a simple dataset
> result<-summary(glm(AAMTCARE~BMIEpiRevAdjc+BMIEpiRevAdjcSq+SEX+jPHI
> +jMEDICAID+H_AGE+jMARSTAT+factor(jEDUCATION)+factor(jsmokercat)
> +factor(jrace)+log(INCOME_C
> +1),data=SimData[SampleData,],family=Gamma(link="log")))
> }
>
# and a simple model would be more appropriate
> # if function ran correctly, increment row counter by one and store
> results
> # Do this 10 times
# Try this untested (for lack of a working example) code:
# Do this 10 times
while (n<10) {
resulttry<-try(testone(),final=n<-n+1)
# Do the function ran without an error
if (class(resulttry) == "summary.glm" ){ #test for something that
will distinguish
#the error (of type=="list") from a valid fit (also of type == "list")
coeffs[n,1] <- result$coefficients[2,1]
coeffs[n,2] <- result$coefficients[3,1]
coeffs[n,3] <- -(coeffs[n,1])/(2*coeffs[n,2])
print(n)
print(coeffs)} else { }
}
--
David Winsemius, MD. MPH
> while (n<10) {
> result<-tryCatch(testone(),final=n<-n+1)
>
> # Do the function ran without an error
> result
> coeffs[n,1] <- result$coefficients[2,1]
> coeffs[n,2] <- result$coefficients[3,1]
> coeffs[n,3] <- -(coeffs[n,1])/(2*coeffs[n,2])
> print(n)
> print(coeffs)
>
> # if function returned with either a warning or error do not
> increment row counter, do not store results
> # I have no idea how to get to this code!
> # I need to know if an error code has been raised
> }
More information about the R-help
mailing list