na.fail                package:stats                R Documentation

Handle Missing Values in Objects

Description:

     These generic functions are useful for dealing with 'NA's in e.g.,
     data frames. 'na.fail' returns the object if it does not contain
     any missing values, and signals an error otherwise. 'na.omit'
     returns the object with incomplete cases removed. 'na.pass'
     returns the object unchanged.

Usage:

     na.fail(object, ...)
     na.omit(object, ...)
     na.exclude(object, ...)
     na.pass(object, ...)

Arguments:

  object: an R object, typically a data frame

     ...: further arguments special methods could require.

Details:

     At present these will handle vectors, matrices and data frames
     comprising vectors and matrices (only).

     If 'na.omit' removes cases, the row numbers of the cases form the
     '"na.action"' attribute of the result, of class '"omit"'.

     'na.exclude' differs from 'na.omit' only in the class of the
     '"na.action"' attribute of the result, which is '"exclude"'.  This
     gives different behaviour in functions making use of 'naresid' and
     'napredict': when 'na.exclude' is used the residuals and
     predictions are padded to the correct length by inserting 'NA's
     for cases omitted by 'na.exclude'.

References:

     Chambers, J. M. and Hastie, T. J. (1992) _Statistical Models in
     S._ Wadsworth & Brooks/Cole.

See Also:

     'na.action'; 'options' with argument 'na.action' for setting NA
     actions; and 'lm' and 'glm' for functions using these.
     'na.contiguous' as alternative for time series.

Examples:

     DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA))
     na.omit(DF)
     m <- as.matrix(DF)
     na.omit(m)
     stopifnot(all(na.omit(1:3) == 1:3))  # does not affect objects with no NA's
     try(na.fail(DF))#> Error: missing values in ...

     options("na.action")

