[R] Keep factor order in lmer

Pascal A. Niklaus pascal.niklaus at ieu.uzh.ch
Wed Feb 3 15:34:04 CET 2016

I would like to keep a specific order of fixed effects in a model passed 
to lmer. In particular, I would like to prevent that interactions are 
automatically moved after all main effects.

In aov and lme, this is possible with terms(..., keep.order=TRUE). 
Unfortunately, I have not found a way to achieve this behaviour in lmer.

Here is an example that illustrates the problem:

d <- data.frame(

d$y <- rnorm(nrow(d))

## example using aov, with intended output

summary(aov(terms(y~A*B+C,keep.order = TRUE),data=d))

             Df Sum Sq Mean Sq F value Pr(>F)
A            1  0.831  0.8308   0.832  0.370
B            1  0.356  0.3557   0.356  0.556
A:B          1  0.103  0.1035   0.104  0.750
C            1  0.992  0.9919   0.993  0.328
Residuals   27 26.970  0.9989

## works also in lme


## but how do I achieve this in lmer?


Of course, I could recode the interactions into new single factors, but 
that seems rather cumbersome.

Thanks for your help


More information about the R-help mailing list