Search code examples
rnannar-faq

One function to detect NaN, NA, Inf, -Inf, etc.?


Is there a single function in R that determines if a value is NA, NaN, Inf, -Inf, or otherwise not a well-formed number?


Solution

  • You want is.finite

    > is.finite(NA)
    [1] FALSE
    > is.finite(NaN)
    [1] FALSE
    > is.finite(Inf)
    [1] FALSE
    > is.finite(1L)
    [1] TRUE
    > is.finite(1.0)
    [1] TRUE
    > is.finite("A")
    [1] FALSE
    > is.finite(pi)
    [1] TRUE
    > is.finite(1+0i)
    [1] TRUE