[R] Add covariate in nlme?
hwouters
heidiwout at gmail.com
Wed Apr 18 11:37:36 CEST 2012
Hi R-experts,
I have a problem using nlme. I use the following code to group my data:
Parameterg <- groupedData( result ~ time | Batch,
data = Batchdata,
labels = list( x = "Time", y = "analysis")
)
and then uses the nlme function to fit a nonlinear mixed model that includes
Process as a fixed covariate:
nlme.model001epr <- nlme(result ~ A0 * exp(- ( exp(A1) * exp(-Ea /
(0.0083144*TEMP.K)) * exp(eps)) * time),
data = Parameterg,
fixed=list(A0+Ea~1,A1~Process),
random=eps~1,
start=c(93, 92, 34.5,37),
control=list(msVerbose=TRUE, maxIter = 200),
verbose=TRUE, method="REML",
na.action=na.pass)
this fit give the following error:
Error in MEEM(object, conLin, control$niterEM) :
Singularity in backsolve at level 0, block 1
HOWEVER, in SAS the same model with covariate is WORKING!
When I'm changing the fixed part in nmle as follows
fixed=list(A0+Ea~1,A1~1|Process),
then the following error is popping up:
Error in contr.treatment(n = 0L) :
not enough degrees of freedom to define contrasts
In addition: Warning messages:
1: In Ops.factor(1, Process) : | not meaningful for factors
2: In Ops.factor(1, Process) : | not meaningful for factors
However, when adding the process as a random effect it works:
nlme.model001epr <- nlme(result ~ A0 * exp(- ( exp(A1) * exp(-Ea /
(0.0083144*TEMP.K)) * exp(eps) ) * time),
data = Parameterg,
fixed=list(A0+Ea+A1~1),
random=eps~1|Process/Batch,
start=c(93, 92, 34.5),
control=list(msVerbose=TRUE, maxIter = 200),
verbose=TRUE, method="REML",
na.action=na.pass)
Does anybody knows what the correct implementation is for adding a covariate
in a nlme and what might be my problem here?
Looking forward to your replies,
Heidi
--
View this message in context: http://r.789695.n4.nabble.com/Add-covariate-in-nlme-tp4567189p4567189.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list