which.na(x) which.nan(x) which.inf(x)
which.na returns the indices of values in x which are missing or "Not a Number".
which.nan returns the indices of values in x which are "Not a Number".
which.inf returns the indices of values in x which are infinite (positive or negative).
# a non-zero number divided by zero creates infinity # zero over zero creates a NaN weird.values <- c(1/0, -20.9/0, 0/0, NA)which.inf(weird.values) [1] 1 2
which.nan(weird.values) [1] 3
which.na(weird.values) [1] 3 4
# in this example, the which.na expression and the subscript # expression involving is.na should return the same value which.na(weird.values) seq(along = weird.values)[is.na(weird.values)]