Hello Wen: On 2009.09.06 10:49:03, Wen Huang wrote: > Hello, > > I wanted to fit a linear mixed model to a data that is similar in > terms of design to the 'Machines' data in 'nlme' package except that > each worker (with triplicates) only operates one machine. I created a > subset of observations from 'Machines' data such that it looks the > same as the data I wanted to fit the model with (see code below). > > I fitted a model in which 'Machine' was a fixed effect and 'Worker' > was random (intercept), which ran perfectly. Then I decided to > complicate the model a little bit by fitting 'Worker' within > 'Machine', which was saying variation among workers was nested within > each machine. The model could be fitted by 'lme', but when I tried to > get > confidence intervals by 'intervals(fm2)' it gave me an error: > > Error in intervals.lme(fm2) : > Cannot get confidence intervals on var-cov components: Non-positive > definite approximate variance-covariance > > I am wondering if this is because it is impossible to fit a model like > 'fm2' or there is some other reasons?
The problem doesn't seem to be the model specification but is most likely the result of estimating a more complicated model with very little data. Using the complete Machines dataset with the same model specification seems to work fine: # ----------------------------------------------------------------------------- # > fm3 <- lme(score ~ Machine, random = ~ Machine - 1 | Worker, data = Machines) > intervals(fm3) Approximate 95% confidence intervals Fixed effects: lower est. upper (Intercept) 48.972459 52.355556 55.73865 MachineB 3.093747 7.966667 12.83959 MachineC 10.816607 13.916667 17.01673 attr(,"label") [1] "Fixed effects:" Random Effects: Level: Worker lower est. upper sd(MachineA) 2.1702468 4.0792807 7.6675752 sd(MachineB) 4.6301082 8.6252908 16.0677975 sd(MachineC) 2.3387870 4.3894795 8.2382579 cor(MachineA,MachineB) 0.1992744 0.8027499 0.9647702 cor(MachineA,MachineC) -0.1702480 0.6225047 0.9260744 cor(MachineB,MachineC) 0.1235115 0.7708309 0.9579666 Within-group standard error: lower est. upper 0.7629124 0.9615766 1.2119736 # ----------------------------------------------------------------------------- # With the restricted dataset, there are only 18 observations in 6 groups. This is probably too little data for the (restricted) maximum likelihood technique used by lme(). Hope that helps, ~Jason -- Jason W. Morgan Graduate Student Department of Political Science *The Ohio State University* 154 North Oval Mall Columbus, Ohio 43210 ______________________________________________ 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.