[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