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

SFun28 picture SFun28 · Sep 22, 2011 · Viewed 13k times · Source

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

Answer

Joshua Ulrich picture Joshua Ulrich · Sep 22, 2011

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