NA                   package: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 'x'.

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

