[R] NA, deleting rows

Sundar Dorai-Raj sundar.dorai-raj at pdf.com
Thu Dec 18 15:20:56 CET 2003


Take a look at what (aa$a2 == 1) returns and it may clear things up.

Try

aa[-which(aa$a2 == 1), ]

or

subset(aa, a2 != 1 | is.na(a2))

HTH,
Sundar


juli g. pausas wrote:

> Dear colleges,
> I do not understand the following behaviour:
> 
>> aa <- data.frame(a1= 1:10, a2= c(rep(NA, 5), 1:5) )
>> aa
> 
>   a1 a2
> 1   1 NA
> 2   2 NA
> 3   3 NA
> 4   4 NA
> 5   5 NA
> 6   6  1
> 7   7  2
> 8   8  3
> 9   9  4
> 10 10  5
> 
>> aa[!aa$a2==1, ]  # removing rows with a2==1
> 
>     a1 a2
> NA   NA NA
> NA.1 NA NA
> NA.2 NA NA
> NA.3 NA NA
> NA.4 NA NA
> 7     7  2
> 8     8  3
> 9     9  4
> 10   10  5
> 
> I didn't expect a1 to be affected.
> Is  aa[!aa$a2==1, ]  an incorrect way to remove rows? Any other way?
> 
> (R 1.8.1. for Windows)
> Thanks in advance
> 
> Juli
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help




More information about the R-help mailing list