isNA | R Documentation |
Check if an object is NA. Always return TRUE of FALSE, a logical vector of length one.
isNA(x)
x |
any R object. |
isNA
returns TRUE if the argument is a single NA, i.e. it is
atomic, has length one, and represents an NA value. In any other case
isNA
returns FALSE
.
isNA
is suitable for use in conditional constructs since it
always returns a single value which is never NA.
Note that identical()
distinguishes different types of NA,
i.e. identical(x, NA)
is TRUE only if x
is NA (logical).
TRUE or FALSE
The requirement that x
is atomic means that
isNA(list(NA))
gives FALSE
.
For comparison, is.na(list(NA))
gives TRUE
. The same
holds for classed lists, such as is.na(structure(list(NA), class
= "myclass"))
.
Georgi N. Boshnakov
isTRUE
, is.na
, identical
v <- c(1, NA, 3) isNA(v[2]) # TRUE ## a vector of two or more Na's is not isNA isNA(rep(NA,3)) # FALSE ## a list containing NA is not isNA isNA(list(NA)) # FALSE ## ... but is.na(list(NA)) # TRUE ## identical() distinguishes different types of NA: class(v) # "numeric", not "integer" identical(v[2], NA) # FALSE, NA on its own is "logical" identical(v[2], NA_integer_) # FALSE identical(v[2], NA_real_) # TRUE vi <- c(1L, NA_integer_, 3L) isNA(vi[2]) # TRUE class(vi) # "integer" identical(vi[2], NA_integer_) # TRUE identical(vi[2], NA_real_) # FALSE ## is.na(NULL) would give a warning isNA(NULL) # FALSE ## a length zero object is not NA, so isNA() returns FALSE: isNA(logical(0)) # FALSE ## is.na() has a different remit and returns a 0-length vector: is.na(logical(0)) # logical(0)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.