Hello R users, When trying to fit a nonlinear mixed model to a respiration time series, I get the following error message:
Error in recalc.varFunc(object[[i]], conLin) : dims [product 30] do not match the length of object [34] In addition: Warning message: In conLin$Xy * varWeights(object) : longer object length is not a multiple of shorter object length Below is an example that generates this message on Windows XP R 2.14.0 nlme 3.1-103 --- library(nlme) #load(file="tmp/exampleNmleError.RData") #ds1, fm1, ctrl con <- url("http://www.bgc-jena.mpg.de/~twutz/tmp/exampleNmleError.RData") load(file=con) #ds1, fm1, ctrl close(con) ds1 <- subset(ds1, select=c("ColNoM","minT","resp")) head(ds1) plot( resp ~ minT, col=rainbow(length(unique(ColNoM)))[ColNoM], ds1) lines( fitted.values(fm1) ~ minT, ds1 ) # starting values from glns fit ds2 <- ds1 # ds2 <- unique(ds1) # does not resolve the error tmp.fit1 <- nlme( resp ~ exp(beta0l) + beta1 * exp(-exp(beta2l)*minT) ,fixed=list(beta0l+beta1+beta2l~1) ,random= beta0l ~ 1 | ColNoM , weights =varPower(fixed=0.4, form=~resp) , start=list(fixed = coef(fm1)) #, method='REML' ,data=ds2 #,control=ctrl ) --- The exp function in the example is used to constrain estimates of the coefficients to positive values, when actually estimating log of the coefficients with nlme. When I try to debug, there find a mismatch between the dims of weights and the dims of Matrix conLin$Xy generated by function MEdecomp, which reduced the original 34 rows to just 6 rows. I tried to remove double entries in my example, but this did not help. How can I make proper use of nlme? Yours, Thomas ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.