[R] NA preserved in logical call - I don't understand this behavior because NA is not equal to 0
Uwe Ligges
ligges at statistik.tu-dortmund.de
Sun Jul 18 19:00:44 CEST 2010
On 18.07.2010 18:02, stephen sefick wrote:
> I am confused by the behavior of the below piece of code. The NAs are
> making it past the logical call ==0. I am sure that I am missing
> something. I just don't understand this behavior. Thanks for your
> help in advance.
>
>
> ########code#######################################################
> left<- (structure(list(measurment_num = c(2, 2.2, 2.4, 2.6, 2.8, 2.82,
> 3, NA, NA, NA), bankfull_depths_m = c(1.29, 1.28, 1.23, 0.18,
> -0.05, 0, -0.09, NA, NA, NA)), .Names = c("measurment_num", "bankfull_depths_m"
> ), row.names = c(10L, 11L, 12L, 13L, 14L, 20L, 15L, 16L, 17L,
> 18L), class = "data.frame"))
>
> if(sum(left[,"bankfull_depths_m"]==0, na.rm=TRUE) == 1){
> left_min<- left[left[,"bankfull_depths_m"]==0, "measurment_num"]
> }
NA == 0 is ??? --> NA!
Use is.na() to check for missing values.
Uwe Ligges
> left
> ##################################################################
>
More information about the R-help
mailing list