[R] "infinite recursion" in do.call when lme4 loaded only
Dieter Menne
dieter.menne at menne-biomed.de
Thu Jan 12 17:54:30 CET 2006
A larg program which worked with lme4/R about a year ago failed when I
re-run it today. I reproduced the problem with the program below.
-- When lme4 is not loaded, the program runs ok and fast enough
-- When lme4 is loaded (but never used), the do.call fails
with infinite recursion after 60 seconds. Memory used increases
beyond bonds in task manager.
-- I tested a few S3 based packages (MASS, nlme) and did not get
similar problems
Current workaround: do lme4-processing in a separate program.
------
#library(lme4) # uncomment this to see the problem
np <- 12
nq <- 20
nph <- 3
nrep <- 30
grd <- expand.grid(Pat=as.factor(1:np),
Q=as.factor(1:nq),
Phase=as.factor(1:nph))
df <- with (grd,
data.frame(Pat=Pat,Q=Q,Phase=Phase,Resp = rnorm(np*nq*nph*nrep)))
score <- function(x) {
data.frame(Pat=x$Pat[1],Phase=x$Phase[1],Q=x$Q[1],score = mean(x$Resp))
}
# about 20 sec
caScore <- by(df,list(Pat=df$Pat,Phase=df$Phase,Q=df$Q),FUN = score )
ca1 = do.call("rbind",caScore)
# Without lme4: 3 seconds
# With lme4: After 60 sec:
#Error: evaluation nested too deeply: infinite recursion /
#options(expressions=)?
-----------------------
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 2.1
year 2005
month 12
day 20
svn rev 36812
language R
More information about the R-help
mailing list