[R] eval while keeping NA-s

Ott Toomet otoomet at ut.ee
Thu Jan 18 14:07:03 CET 2007


Dear R-people,

I would like to construct a model frame while keeping eventual NA-s in
it.  The code looks like in lm():

   m <- match(c("formula", "data", "subset", "weights", "na.action",
                "offset"), names(mf), 0)
   mfO <- mf[c(1, m)]
   mfO$drop.unused.levels <- TRUE
   mfO[[1]] <- as.name("model.frame")
   names(mfO)[2] <- "formula"
   mfO <- eval(mfO, parent.frame())

The problem is that eval() removes all the observation which include
NA-s.  

Are there ways to get the frames and keep NA-s?  I see, I can play
around with the "na.action" attribute of the resulting frame, but how
can I set the na.action?

Thanks in advance,
Ott



More information about the R-help mailing list