On Sep 19, 2011, at 12:19 PM, Marc Schwartz wrote: > > On Sep 19, 2011, at 12:14 PM, Marc Schwartz wrote: > >> >> On Sep 19, 2011, at 12:01 PM, Rich Shepard wrote: >> >>> On Mon, 19 Sep 2011, Marc Schwartz wrote: >>> >>>> You can look at ?complete.cases for one approach, presuming that it will >>>> work on zoo objects. >>> >>> Marc, >>> >>> That's the opposite of what I want. It returns only rows with no missing >>> data. I'm looking for something that will return rows with _only_ missing >>> data, and drop them in the bit bucket. >>> >>> Thanks, >>> >>> Rich >> >> >> Rich, >> >> OK, I mis-read your post. >> >> Depending upon the underlying structure/class of the zoo object (eg. matrix >> versus data frame) and presuming that there are no functions in zoo that >> provide this specific functionality, you may have to create a function that >> goes row-by-row looking for all NA's. >> >> Possibly something along the lines of the following for a matrix: >> >> zoo.object[apply(zoo.object, 1, function(x) all(is.na(x))), ] >> >> >> That won't work for a data frame class object, so you might have to loop >> over the rows with a for() loop or sapply(): >> >> zoo.object[sapply(rownames(zoo.object), function(x) all(is.na(x))), ] >> >> >> Both of the above are untested.
Rich, One more time…re-post: I forgot a critical '!' in both. They should be zoo.object[!apply(zoo.object, 1, function(x) all(is.na(x))), ] and the DF approach is not correct either. It should be: zoo.object[!sapply(rownames(zoo.object), function(x) all(is.na(zoo.object[x, ]))), ] I clearly have not had enough caffeine yet today… Marc ______________________________________________ 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.