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.

     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 as from R 1.5.0 distinct from the
     string '"NA"'.  Programmers who need to specify an explicit string
     'NA' should use 'as.character(NA)' rather than '"NA"', or set
     elements to 'NA' using 'is.na<-'.

     'is.na(x)' works elementwise when 'x' is a 'list'.  The method
     dispatching is C-internal, rather than via 'UseMethod'.

     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 "form" 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

