一个功能检测NaN、NA、Inf、-Inf等?

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

提问人:Suraj 提问时间:9/23/2011 最后编辑:zx8754Suraj 更新时间:6/29/2019 访问量:14561

问:

R 中是否有单个函数可以确定值是 、 、 、 还是不是格式正确的数字?NANaNInf-Inf

R nan na r-常见问题

评论


答:

66赞 Joshua Ulrich 9/23/2011 #1

你想要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

评论

1赞 kohske 9/23/2011
请注意,还会返回 .is.finite(TRUE)TRUE
1赞 Joshua Ulrich 9/23/2011
@kohske:说得好。 也返回 .这可能是因为 和 只是整数。is.finite(FALSE)TRUETRUEFALSE
9赞 hadley 9/25/2011
True 和 false 不是整数 - 但它们将被强制执行,而不会出现错误/警告消息
5赞 Joshua Ulrich 9/25/2011
@hadley:我不清楚;感谢您的澄清。我指的是 R 布尔值是 C 级别的 32 位整数,而不是会返回。is.integer(TRUE)TRUE