What is the best way to detect whether or not a (potentially large) matrix contains missing values (NAs) or not? I use if (sum(is.na(x)) > 0) {...} are there more efficient ways? /Ali
Ali - If all you care about is if there are any missing values (not how many or where they are), I think it would be a bit faster to use if(any(is.na(x))){...} - Phil Spector Statistical Computing Facility Department of Statistics UC Berkeley spector at stat.berkeley.edu On Wed, 20 Oct 2010, Ali Tofigh wrote:> What is the best way to detect whether or not a (potentially large) > matrix contains missing values (NAs) or not? I use > > if (sum(is.na(x)) > 0) {...} > > are there more efficient ways? > > /Ali > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >
?complete.cases Sent from my iPhone On Oct 20, 2010, at 18:53, Ali Tofigh <alix.tofigh at gmail.com> wrote:> What is the best way to detect whether or not a (potentially large) > matrix contains missing values (NAs) or not? I use > > if (sum(is.na(x)) > 0) {...} > > are there more efficient ways? > > /Ali > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
A small test indicates that the following may be the fastest method (although all are pretty fast) has.na <- !all(complete.cases(x)) Thanks Jim and Phil for your suggestions. /Ali On Wed, Oct 20, 2010 at 19:03, Jim Holtman <jholtman at gmail.com> wrote:> ?complete.cases > > Sent from my iPhone > > On Oct 20, 2010, at 18:53, Ali Tofigh <alix.tofigh at gmail.com> wrote: > >> What is the best way to detect whether or not a (potentially large) >> matrix contains missing values (NAs) or not? I use >> >> if (sum(is.na(x)) > 0) {...} >> >> are there more efficient ways? >> >> /Ali >> >> ______________________________________________ >> R-help at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >