[Rd] lm with factors for which only one level occurs
Gabor Grothendieck
ggrothendieck at gmail.com
Sat Feb 9 04:54:07 CET 2008
Consider the following:
> lm(conc ~ Type, CO2, subset = Plant == "Quebec")
Error in `contrasts<-`(`*tmp*`, value = "contr.treatment") :
contrasts can be applied only to factors with 2 or more levels
Here Type is a factor for which only one level occurs
within the "Quebec" subset. This is something that
one would think would be possible to handle in lm. (Note
that singular.ok = TRUE is the default.)
I came across this when automatically performing lm's
on the levels of a conditioning variable, such as Plant in the above
example, and found I had to unexpectedly special case situations
like the above.
lmList() in lme4 is likely adversely affected by this as well.
More information about the R-devel
mailing list