[Rd] unexpected behaviour in lm() (PR#3657)

Thomas Lumley tlumley at u.washington.edu
Mon Aug 4 14:49:36 MEST 2003

On Mon, 4 Aug 2003 ottk at bms.com wrote:

> > lm(c(1:10) ~ c(1:10))
> Call:
> lm(formula = c(1:10) ~ c(1:10))
> Coefficients:
> (Intercept)
>         5.5

It's a feature. Unfortunately it's not a well documented feature.  A
variable on the right-hand side of the formula is removed if it has the
same name as the left-hand side of the formula.  This is done in

It's a feature because
 - it's always been done that way
 - it allows  y~. to specify all the columns of a data frame *except* y

It needs to be documented. Unfortunately the logical place is
help(model.matrix), where no-one will look.


More information about the R-devel mailing list