NA {base} | R Documentation |
Not Available / “Missing” Values
Description
NA
is a logical constant of length 1 which contains a missing
value indicator. NA
can be freely coerced to any other vector
type except raw. There are also constants NA_integer_
,
NA_real_
, NA_complex_
and NA_character_
of the
other atomic vector types which support missing values: all of these
are reserved words in the R language.
The generic function is.na
indicates which elements are missing.
The generic function is.na<-
sets elements to NA
.
Usage
NA
is.na(x)
## S3 method for class 'data.frame'
is.na(x)
is.na(x) <- value
Arguments
x |
an R object to be tested. |
value |
a suitable index vector for use with |
Details
The NA
of character type is distinct from the
string "NA"
. Programmers who need to specify an explicit
string NA
should use NA_character_
rather than
"NA"
, or set elements to NA
using is.na<-
.
is.na(x)
works elementwise when x
is a
list
. It is generic: you can write methods to handle
specific classes of objects, see InternalMethods. A complex
value is regarded as NA
if either its real or imaginary part is
NA
or NaN
.
Function is.na<-
may provide a safer way to set missingness.
It behaves differently for factors, for example.
Value
The default method for is.na
returns a logical vector of the same
length as its argument x
, containing TRUE
for those
elements marked NA
or NaN
(!) and FALSE
otherwise. dim
, dimnames
and names
attributes
are preserved.
The method is.na.data.frame
returns a logical matrix with the
same dimensions as the data frame, and with dimnames taken from the
row and column names of the data frame.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Chambers, J. M. (1998) Programming with Data. A Guide to the S Language. Springer.
See Also
NaN
, is.nan
, etc.,
and the utility function complete.cases
.
na.action
, na.omit
, na.fail
on how methods can be tuned to deal with missing values.
Examples
is.na(c(1, NA)) #> FALSE TRUE
is.na(paste(c(1, NA))) #> FALSE FALSE
(xx <- c(0:4))
is.na(xx) <- c(2, 4)
xx #> 0 NA 2 NA 4