[R] Re: errors in randomization test
CR Bleay, School Biological Sciences
Colin.Bleay at bristol.ac.uk
Tue Jul 6 15:42:34 CEST 2004
dear rolf,
thank you for the assistance, i did not know how to catch the errors from
try.
of course the new code has thrown up a new error:
"Error in terms.default(object) : no terms component"
which i have to resolve.
cheers,
colin
--On Tuesday, July 6, 2004 9:23 am -0300 Rolf Turner <rolf at math.unb.ca>
wrote:
> Colin Bleay wrote:
>
>> last week i sent an e-mail about dealing with errors thrown up from a
>> glm.nb model carried out on multiple random datasets.
>>
>> every so often a dataset is created which results in the following error
>> after a call to glm.nb:
>>
>> "Error: NA/NaN/Inf in foreign function call (arg 1)
>> In addition: Warning message:
>> Step size truncated due to divergence"
>>
>>
>> I am at a loss as to how to deal with this.
>>
>> firstly because the dataset that is generated, although throwing an
>> error when the glm.nb model is applied, is a valid dataset. so how do i
>> incorporate this dataset in my results (results being descriptive stats
>> on the coefficients from the multiple datasets) i.e. shoould
>> coefficients be set to zero?
>
> Almost surely, setting the coefficients equal to 0 is the
> wrong thing to do. What the right thing is depends on the
> answer to ``lastly''.
>
> Setting the coefficients to be NA in this case (i.e.
> effectively throwing away such cases) is also wrong, but not
> quite as wrong as setting them equal to 0.
>
>> secondly, how do i capture and deal with the error. is it possible to
>> construct an "if" statement so that "if error, do this, if not continue"
>
> This should be do-able using try(). Something like:
>
> c.list <- list()
> save.bummers <- list()
> K <- 0
> for(i in 1:42) {
> repeat {
> X <- generate.random.data.set()
> Y <- try(glm.nb(X,whatever))
> if(inherits(Y,"try-error")) {
> K <- K+1
> save.bummers[[K]] <- X
> } else break
> }
> c.list[[i]] <- coeff(Y)
> }
>
> This should give you a sample of 42 coefficient vectors from
> the ``successful'' data sets, and a list of all the (a random
> number of) data sets that yielded a lack of success. You can
> then take the data sets stored in save.bummers and experiment
> with them to see what is causing the problem.
>
>> lastly, i am unsure as to what characteristics of a dataset would result
>> in these errors in the glm.nb?
>
> Here I have to heed the advice (attributed to a ``great art
> historian'') from George F. Simmons' wonderful book on
> elementary differential equations: ``A fool he who gives
> more than he has.''
>
> cheers,
>
> Rolf Turner
> rolf at math.unb.ca
>
----------------------
Dr Colin Bleay
Dept. Biological Sciences,
University of Bristol,
Woodlands rd.,
Bristol,
BS8 1UG.
UK
Tel: 44 (0)117 928 7470
Fax: 44 (0)117
More information about the R-help
mailing list