[Rd] hasNA() / anyNA()?
Tim Hesterberg
timh at insightful.com
Tue Aug 14 18:08:41 CEST 2007
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
More information about the R-devel
mailing list