[R] subsetting with NA's
    David Kane  <David Kane 
    a296180 at mica.fmr.com
       
    Mon Apr  8 12:38:53 CEST 2002
    
    
  
Hi,
I often have large dataframes with many variables and many NA's, from which I
would like to subset out some rows. Here is a toy example:
> x <- data.frame(a = c("x", "y", "z"), b = c(1, NA, 5))
> x
  a  b
1 x  1
2 y NA
3 z  5
I realize that, if I know the values in x$b that I want to subset, things are easy:
> x[x$b %in% c(1),]
  a b
1 x 1
However, if I only know the *range", then the NA's will flomux me.
> x[x$b < 3,]
    a  b
1   x  1
NA NA NA
Of course, I can explicitly avoid the NA's by doing something like:
> x[x$b < 3 & ! is.na(x$b),]
  a b
1 x 1
My problem is that this sort of syntax can become quite annoying when their are
many variables in the subseting expression. That is, I want to writing
something like:
x[x$b < 3 & x$c > 5 & x$d > 100,]
without having to write:
x[! is.na(x$b) & ! is.na(x$c) & ! is.na(x$d) & x$b < 3 & x$c > 5 & x$d > 100,]
Is there a trick for achieving this, for ignoring all NA's during subsetting?
To the extent that it matters: 
> version
         _                   
platform sparc-sun-solaris2.6
arch     sparc               
os       solaris2.6          
system   sparc, solaris2.6   
status   Patched             
major    1                   
minor    4.0                 
year     2002                
month    01                  
day      13                  
language R                   
> 
Thanks,
Dave Kane
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
    
    
More information about the R-help
mailing list