On Thu, 18 Jan 2007, Ott Toomet wrote: > 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?
Set na.action=na.pass on the call, or reset in your code (as that resets drop.unused.levels). -- Brian D. Ripley, [EMAIL PROTECTED] 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@stat.math.ethz.ch 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.