I find complete.cases() to be very useful for this kind of stuff (and very fast). As in,

> d <- data.frame(x = c(1,2,3,NA,5), y = c(1,NA,3,4,5))
> d
   x  y
1  1  1
2  2 NA
3  3  3
4 NA  4
5  5  5
> complete.cases(d)
[1]  TRUE FALSE  TRUE FALSE  TRUE
> use <- complete.cases(d)
> d[use, ]
  x y
1 1 1
3 3 3
5 5 5
>


-roger

ivo welch wrote:

dear R wizards: an operation I execute often is the deletion of all observations (in a matrix or data set) that have at least one NA. (I now need this operation for kde2d, because its internal quantile call complains; could this be considered a buglet?) usually, my data sets are small enough for speed not to matter, and there I do not care whether my method is pretty inefficient (ok, I admit it: I use the sum() function and test whether the result is NA)---but now I have some bigger data sets. Is there a recommended method of doing NA elimination most efficiently? sincerely, /iaw
---
ivo welch
professor of finance and economics
brown / nber / yale


______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html



-- Roger D. Peng http://www.biostat.jhsph.edu/~rpeng/

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to