当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R is.finite 有限、无限和 NaN 数


R语言 is.finite 位于 base 包(package)。

说明

is.finiteis.infinite 返回与 x 相同长度的向量,指示哪些元素是有限(不是无限且不是缺失)或无限的。

Inf-Inf是正无穷大和负无穷大,而NaN意思是“不是数字”。 (这些适用于数值以及复数值的实部和虚部,但不适用于整数向量的值。)InfNaN(也NA) 是预订的中的单词R语言。

用法

is.finite(x)
is.infinite(x)
is.nan(x)

Inf
NaN

参数

x

R要测试的对象:默认方法处理原子向量。

细节

is.finite 返回与 x 长度相同的向量,如果 x[j] 是有限的(即,它不是值 NANaNInf 之一,则该向量的第 j 个元素是 TRUE-Inf )和 FALSE 否则。如果实部和虚部都是有限的,则复数是有限的。

is.infinite 返回与 x 长度相同的向量,如果 x[j] 是无限的(即等于 Inf-Inf 之一),则其第 j 个元素是 TRUE,否则返回 FALSE。除非 x 是数字或复数,否则这将是错误的。如果实部或虚部是无限的,复数就是无限的。

is.nan 测试数值是否为 NaN 。不要测试与 NaN 的相等性,甚至不要使用 identical ,因为系统通常具有许多不同的 NaN 值。其中之一用于数字缺失值 NA ,而 is.nan 对于该值为 false。如果复数的实部或虚部是 NaN 但不是 NA ,则复数被视为 NaN 。逻辑向量、整数向量和原始向量的所有元素均不被视为 NaN。

所有三个函数都接受NULL作为输入并返回长度为零的结果。默认方法接受字符和原始向量,并返回FALSE对于所有条目。之前R版本 2.14.0 他们接受所有输入,返回FALSE对于大多数非数字值;非原子向量的情况现在被标记为错误。

所有三个函数都是通用的:您可以编写方法来处理特定类的对象,请参阅InternalMethods

保留与 x 长度相同的逻辑向量:dimdimnamesnames 属性。

注意

R,本质上所有的数学函数(包括基本的Arithmetic),应该可以正常工作+/- InfNaN作为输入或输出。

基本规则应该是,与 Inf 的调用和关系实际上是具有适当数学限制的语句。

计算涉及NaN将返回NaN也许NA:这两者中哪一个不受保证并且可能取决于R平台(因为编译器可能会重新排序计算)。

例子

pi / 0 ## = Inf a non-zero number divided by zero creates infinity
0 / 0  ## =  NaN

1/0 + 1/0 # Inf
1/0 - 1/0 # NaN

stopifnot(
    1/0 == Inf,
    1/Inf == 0
)
sin(Inf)
cos(Inf)
tan(Inf)

参考

The IEC 60559 standard, also known as the ANSI/IEEE 754 Floating-Point Standard.

https://en.wikipedia.org/wiki/NaN.

D. Goldberg (1991). What Every Computer Scientist Should Know about Floating-Point Arithmetic. ACM Computing Surveys, 23(1), 5-48. doi:10.1145/103162.103163.
Also available at https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html.

The C99 function isfinite is used for is.finite.

也可以看看

NA,“不可用”,它也不是数字,但通常用于缺失值并适用于多种模式,而不仅仅是数字和复杂模式。

Arithmeticdouble

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Finite, Infinite and NaN Numbers。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。