Re: [R] Possible improvement in lm

From: Gabor Grothendieck <>
Date: Thu 19 Jan 2006 - 00:33:27 EST

  1. Try using

   lm(...whatever..., na.action = na.exclude)

2. Be sure to read the note on Using Time Series in ?lm

3. The dyn package will accept ts, irts, its and zoo class time series and output time series for the residuals. Just preface lm with dyn$. e.g.


# test data
x <- ts(1:10, start = 2000, freq = 4)
x[5] <- NA
y <- x + rnorm(10)

# regress series y against series x
y.lm <- dyn$lm(y ~ x)
resid(y.lm) # note that residuals are a time series

On 1/18/06, Vivek Satsangi <> wrote:
> Folks,
> 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,

> -- Vivek Satsangi
> Student, Rochester, NY USA
> ______________________________________________
> mailing list
> PLEASE do read the posting guide!
> mailing list PLEASE do read the posting guide! Received on Thu Jan 19 00:56:36 2006

This archive was generated by hypermail 2.1.8 : Thu 19 Jan 2006 - 02:13:20 EST