[Rd] unexpected behaviour in lm() (PR#3657)
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue Aug 5 08:26:44 MEST 2003
On Mon, 4 Aug 2003, Thomas Lumley wrote:
> 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
> model.matrix.
>
> 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.
It could give an informative warning though, except in the y ~ . case.
I think that is possible: let me look into the code.
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list