See ?na.exclude

On Fri, 23 Jan 2009, Neil Beddoe wrote:

Hi.

I need to apply run a regression analysis for groups of data of fixed 
length:100 As, 100 Bs, 100 Cs etc.

eg

x
Key     Value
A       1
A       21.2
A       4
A       6.5
...repeat 96 times with differing values of A
B       1
B       2.3
B       NA
B       6.5
...repeat 96 times with differing values of B
etc

I run these against a linear model using tapply(data$Value, 
data$Key,FUN=regr,100) where
regr<-function(x,w)
{
       #run the model against the last w values of x
       lm((x[length(x)-w):length(x)]~myModel(w))
}
In the results, I want to return NA for any Key group where one or more of the 
values is NA.  If I run the above I get a regression structure ignoring the 
missing values and returning values for data that contains NA.  Using 
na.action=na.fail or na.action=NULL causes the whole tapply function to fail 
and I get nothing.  Is there a way I can get lm to return NA if any of the 
values in the data are NA but valid numbers for complete data?

I realise that I could remove the groups with NAs but I'm running the 
regressions over multiple time periods and most of the data groups will have a 
full complement of data for at least some of these periods. It becomes a pain 
to manage NAs if I do that.

Sorry if the above is a little unclear.

Thanks

Neil

--
Brian D. Ripley,                  rip...@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

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to