[R] unexpected "false convergence"
Jack Tanner
ihok at hotmail.com
Wed Jan 4 15:59:49 CET 2006
Thank you, Spencer.
I've discovered that if I drop the value parameter from the call to
corSymm(), R 2.2.1 converges successfully, but the values it converges to
are slighly (in the hundredths and thousandths) different from those that R
2.1.1 produces.
In the same vein, I also have an example where the R 2.2.1 glmmPQL produces
the warning "non-integer #successes in a binomial glm! in: eval(expr, envir,
enclos)", and another where R 2.2.1 says "iteration limit reached without
convergence" unless I invoke glmmPQL() with lmeControl(msMaxIter=100).
Neither of those happen in R 2.1.1.
I'm fine with the results above. I don't know if they're of interest to
anyone else; if they are, I'm happy to provide more details.
>From: Spencer Graves <spencer.graves at pdf.com>
>To: Jack Tanner <ihok at hotmail.com>
>CC: r-help at stat.math.ethz.ch, Douglas Bates <dmbates at gmail.com>,
>Prof Brian Ripley <ripley at stats.ox.ac.uk>
>Subject: Re: [R] unexpected "false convergence"
>Date: Tue, 03 Jan 2006 20:40:56 -0800
>
> I replicated your 'false convergence' using R 2.2.0:
> > sessionInfo()
>R version 2.2.0, 2005-10-06, i386-pc-mingw32
>
>attached base packages:
>[1] "methods" "stats" "graphics" "grDevices" "utils" "datasets"
>[7] "base"
>
>other attached packages:
> nlme MASS
>"3.1-66" "7.2-23"
>
> Since the error message said, "Error in lme.formula", I listed the code
>for "lme.formula" and traced it using "debug(lme.formula)", The function
>"glmmPQL" calls "lme.formula" repeatedly. The function "lme.formula" in
>turn calls "nlminb" when it's available, though it used to call "optim".
>The fifth time "lme.formula" was called, "nlminb" returned the error
>message "false convergence (8)".
>
> Under R 2.2, "nlminb" is part of the "base" package. I'm not certain,
>but I don't think it was available in "base" under R 2.1.1.
>
> I think this explains the problem, but not how to fix it. I tried
>modifying the code fo "lme.formula" to force it to call "optim", but this
>generated a different error. I am therefore copying Professors Bates &
>Ripley in case one of them might want to look at this.
>
> hope this helps.
> spencer graves
>
>Jack Tanner wrote:
>>I've come into some code that produces different results under R 2.1.1 and
>>R 2.2.1. I'm really unfamiliar with the libraries in question (MASS and
>>nlme), so I don't know if this is a bug in my code, or a regression in R.
>>If it's a bug on my end, I'd appreciate any advice on potential causes and
>>relevant documentation.
>>
>>The code:
>>
>>score<-c(1,8,1,3,4,4,2,5,3,6,0,3,1,5,0,5,1,11,1,2,4,5,2,4,1,6,1,2,8,16,5,16,3,15,3,12,4,9,2,4,1,8,2,6,4,11,2,9,3,17,2,6)
>>id<-rep(1:13,rep(4,13))
>>test<-gl(2,1,52,labels=c("pre","post"))
>>coder<-gl(2,2,52,labels=c("two","three"))
>>il<-data.frame(id,score,test,coder)
>>attach(il)
>>cs1<-corSymm(value=c(.396,.786,.718,.639,.665,.849),form=~1|id)
>>cs1<-Initialize(cs1,data=il)
>>run<-glmmPQL(score~test+coder,
>>random=~1|id,family=poisson,data=il,correlation=cs1)
>>
>>The output under R 2.2.1, which leaves the run object (last line of the
>>code) undefined:
>>
>>iteration 1
>>iteration 2
>>iteration 3
>>iteration 4
>>Error in lme.formula(fixed = zz ~ test + coder, random = ~1 | id, data =
>>list( :
>> false convergence (8)
>>
>>Under R 2.1.1, I get exactly 4 iterations as well, but no "false
>>convergence" message, and run is defined.
>>
>>______________________________________________
>>R-help at stat.math.ethz.ch mailing list
>>https://stat.ethz.ch/mailman/listinfo/r-help
>>PLEASE do read the posting guide!
>>http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list