[R] Possible improvement in lm
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Jan 18 14:51:30 CET 2006
It seems you are looking for na.action = na.exclude.
This is described in all good books on S/R (e.g. MASS4, p. 141) and also
in an answer on this list already this week.
It is even on the help pages for residuals.lm and fitted.
On Wed, 18 Jan 2006, Vivek Satsangi wrote:
> I do a series of regressions (one for each quarter in the dataset) and
> then go and extract the residuals from each stored lm object that is
> returned as follows:
> vResiduals <- as.vector(unlist(resid(lQuarterlyRegressions[[i]])));
> Here lQuarterlyRegressions is a vector of objects returned by lm().
> Next, I may go find outliers using identify() on a plot or do some
> other analysis which tells me which row of the quarterly data I need
> to take a closer look at.
> However, if I try to match some point in one of the quarters that I
> have with its residual, then I have to drop the points from my
> "current Data" which have NA's for either the explanatory variables or
> the explained, so that the vector or residuals and the data have the
> same indexes.
> This lead to some serious confusion/bugs for me, and I am wondering if
> it might not be better for lm to put an NA into those rows where the
> point was dropped because of NA's in the explanatory or explained
> variables (currently it just returns nothing at that index). Ofcourse,
> there might be some arguments against this idea, and I would be
> interested to hear them.
> Thank you for your time and attention,
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-help