[R] nlme error on dimensions in multiplication

Thomas Wutzler twutz at bgc-jena.mpg.de
Thu Mar 22 09:55:49 CET 2012


Hello ,

can anyone reproduce the example - with or without errors?

Thomas

On 21.03.12 11:04, Thomas Wutzler wrote:
> 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



More information about the R-help mailing list