[R] fast NA elimination ?

Roger D. Peng rpeng at jhsph.edu
Wed Jul 7 16:40:40 CEST 2004


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
> 
> ______________________________________________
> R-help at stat.math.ethz.ch 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/




More information about the R-help mailing list