S-PLUS has an anyMissing() function, for which the default is: anyMissing.default <- function(x){ (length(which.na(x)) > 0) }
This is more efficient than any(is.na(x)) in the usual case that there are few or no missing values. There are methods for vectors that drop to C code, and methods for data frames and other classes. The code below seems to presume a list, and would be very slow for vectors. For reasons of consistency between S-PLUS and R, I would ask that an R function be called anyMissing rather than hasNA or anyNA. Tim Hesterberg >is there a hasNA() / an anyNA() function in R? Of course, > >hasNA <- function(x) { > any(is.na(x)); >} > >would do, but that would scan all elements in 'x' and then do the >test. I'm looking for a more efficient implementation that returns >TRUE at the first NA, e.g. > >hasNA <- function(x) { > for (kk in seq(along=x)) { > if (is.na(x[kk])) > return(TRUE); > } > FALSE; >} > >Cheers > >Henrik ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel