Hi all I tried to reproduce an example with lme and used the Orthodont dataset. library(nlme) fm2a.1 <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1 | Subject) anova(fm2a.1)> numDF denDF F-value p-value > (Intercept) 1 80 4123.156 <.0001 > age 1 80 114.838 <.0001 > Sex 1 25 9.292 0.0054or alternatively (to get the same result) fm2a.2 <- lme(distance ~ age + Sex, data = Orthodont, random = list(Subject = ~ 1)) anova(fm2a.2)> numDF denDF F-value p-value > (Intercept) 1 80 4123.156 <.0001 > age 1 80 114.838 <.0001 > Sex 1 25 9.292 0.0054--------------------------------------------------------------- Then I restarted!!! R to use the lme4 package instead of nlme. --------------------------------------------------------------- library(lme4) fm2b.1 <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1 | Subject) anova(fm2b.1)> Analysis of Variance Table > Df Sum Sq Mean Sq Denom F value Pr(>F) > age 1 235.356 235.356 105.000 114.8383 < 2.2e-16 *** > Sex 1 19.044 19.044 105.000 9.2921 0.002912 **or alternatively (to get the same result) fm2b.2 <- lme(distance ~ age + Sex, data = Orthodont, random = list(Subject = ~ 1anova(fm2b.2)> Analysis of Variance Table > Df Sum Sq Mean Sq Denom F value Pr(>F) > age 1 235.356 235.356 105.000 114.8383 < 2.2e-16 *** > Sex 1 19.044 19.044 105.000 9.2921 0.002912 **I got different DF for the denominator. Do I have to use lme in another way in the package lme4? I use R 2.0.1 under linux and Package: nlme Version: 3.1-53 Date: 2004-11-03 Package: lme4 Version: 0.6-11 Date: 2004-12-16 Thanks for help. Regards, Christoph Buser -- Christoph Buser <buser at stat.math.ethz.ch> Seminar fuer Statistik, LEO C11 ETH (Federal Inst. Technology) 8092 Zurich SWITZERLAND phone: x-41-1-632-5414 fax: 632-1228 http://stat.ethz.ch/~buser/
Christoph Buser wrote:> Hi all > > I tried to reproduce an example with lme and used the Orthodont > dataset. > > library(nlme) > fm2a.1 <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1 | Subject) > anova(fm2a.1) > >> numDF denDF F-value p-value >>(Intercept) 1 80 4123.156 <.0001 >>age 1 80 114.838 <.0001 >>Sex 1 25 9.292 0.0054 > > > or alternatively (to get the same result) > > fm2a.2 <- lme(distance ~ age + Sex, data = Orthodont, random = list(Subject = ~ 1)) > anova(fm2a.2) > >> numDF denDF F-value p-value >>(Intercept) 1 80 4123.156 <.0001 >>age 1 80 114.838 <.0001 >>Sex 1 25 9.292 0.0054 > > > --------------------------------------------------------------- > Then I restarted!!! R to use the lme4 package instead of nlme. > --------------------------------------------------------------- > > library(lme4) > fm2b.1 <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1 | Subject) > anova(fm2b.1) > >>Analysis of Variance Table >> Df Sum Sq Mean Sq Denom F value Pr(>F) >>age 1 235.356 235.356 105.000 114.8383 < 2.2e-16 *** >>Sex 1 19.044 19.044 105.000 9.2921 0.002912 ** > > > or alternatively (to get the same result) > > fm2b.2 <- lme(distance ~ age + Sex, data = Orthodont, random = list(Subject = ~ 1anova(fm2b.2) > >>Analysis of Variance Table >> Df Sum Sq Mean Sq Denom F value Pr(>F) >>age 1 235.356 235.356 105.000 114.8383 < 2.2e-16 *** >>Sex 1 19.044 19.044 105.000 9.2921 0.002912 ** > > > > I got different DF for the denominator. Do I have to use lme in > another way in the package lme4? > > I use R 2.0.1 under linux and > Package: nlme > Version: 3.1-53 > Date: 2004-11-03 > Package: lme4 > Version: 0.6-11 > Date: 2004-12-16 > > Thanks for help. > > Regards, > > Christoph Buser >No. The calculation of denominator degrees of freedom in lme4 is bogus and I believe this is documented. Note that for all practical purposes there is very little difference between 25 and 100 denominator degrees of freedom. lme4 is under development (and has been for a seemingly interminable period of time). Getting the denominator degrees of freedom calculation "right" is way down the list of priorities. Many people express dismay about the calculation of denominator degrees of freedom in all versions of lme4. IIRC Frank Harrell characterizes this as one of the foremost deficiencies in R relative to SAS. I don't agree that this is a glaring deficiency. In fact I believe that there is no "correct" answer. The F statistics in a mixed model do not have an F distribution under the null hypothesis. It's all an approximation, which is why I don't stay up nights worrying about the exact details of the approximation. My plan for lme4 is that one slot in the summary object for an lme model will be an incidence table of terms in the fixed effects versus grouping factors for the random effects. This table will indicate whether a given term varies within groups defined by the grouping factor. Anyone who wants to implement their personal favorite calculation of denominator degrees of freedom based on this table will be welcome to do so. I personally think that tests on the fixed-effects terms will be better implemented using the restricted likelihood-ratio tests defined by Reinsel and Ahn rather than the Wald tests and the whole issue of denominator degrees of freedom may be moot. My apologies if I seem to be peeved. I am not upset by your question - it is an entirely reasonable question. It is just that I have discussed the issue of denominator degrees of freedom too many times. To me a more important objective of lme4 is to be able to handle random effects associated with crossed or partially crossed grouping factors. I believe that in those cases the calculation of denominator degrees of freedom will be very complicated and even more of an approximation than in the case of nested grouping factors. This is why I would rather finesse the whole issue by using the Reinsel and Ahn approach.