Going through the R-Dev list, I have found this (from Pedro Afalo), dated 8 April 2004:
> Dear Richard, > > The problem that you report is documented (but no solution given) in the > file ch08.R in the scripts directory of nlme package. > > I have found the following workaround just by chance, but it may > give a clue of what is the problem to those who know how to program > in R. > > The solution is to add an explicit call to factor in the nlme call. > In the case of the error reported by Richard the following call to nlme > in the ch08.R file can be used: > > fm4CO2.nlme <- update( fm3CO2.nlme, > fixed = list(Asym + lrc ~ factor(Type) * factor(Treatment), c0 ~ 1), > start = c(fm3CO2.fix[1:5], 0, 0, 0, fm3CO2.fix[6]) ) > > instead of: > > fm4CO2.nlme <- update( fm3CO2.nlme, > fixed = list(Asym + lrc ~ Type * Treatment, c0 ~ 1), > start = c(fm3CO2.fix[1:5], 0, 0, 0, fm3CO2.fix[6]) ) > > I hope this helps, > > Pedro. I have tried the workaround for my own case and it works... Any news since then about fixing the problem? Patrick Patrick Giraudoux a écrit : > Dear listers, > > I am trying to fit a nlme model with "age" and "pds" as reals, and > "zone" a factor with two levels "Annaba" and "Boumalek" . The "best" > model found is the following: > > > modm3 > Nonlinear mixed-effects model fit by maximum likelihood > Model: pds ~ Asym/(1 + exp((xmid - age)/scal)) > Data: croispulm > Log-likelihood: -91.86667 > Fixed: list(Asym ~ zone, xmid ~ zone, scal ~ 1) > Asym.(Intercept) Asym.zoneBoumalek xmid.(Intercept) > xmid.zoneBoumalek scal > 9.99551079 0.39423966 4.97981027 > 0.06969807 2.23116661 > > Random effects: > Formula: list(Asym ~ 1, xmid ~ 1) > Level: nichoir > Structure: General positive-definite, Log-Cholesky parametrization > StdDev Corr Asym.(Intercept) 1.796565e-06 As.(I) > xmid.(Intercept) 1.219400e-04 0 Residual 6.163282e-01 > Correlation Structure: Continuous AR(1) > Formula: ~age | nichoir > Parameter estimate(s): > Phi > 0.3395242 > Number of Observations: 102 > Number of Groups: 17 > > > Everything normal so far. > > Things come to be strange when I try to compute predicted values: > > > pred<-predict(modm3,newdata=mydata,type="response") > Error in predict.nlme(modm3, newdata = mydata, type = "response") : > Levels Annaba,Boumalek not allowed for zone > > I have checked and re-checked that zone in the newdata is well a > factor with the "good" levels, and I can hardly understand why these > two levels used when fitting the model are now rejected when used for > computing predicted values. > > Any hint welcome, > > Best regards, > > Patrick > > > > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
