is.finite
位于 base
包(package)。 说明
is.finite
和 is.infinite
返回与 x
相同长度的向量,指示哪些元素是有限(不是无限且不是缺失)或无限的。
Inf
和-Inf
是正无穷大和负无穷大,而NaN
意思是“不是数字”。 (这些适用于数值以及复数值的实部和虚部,但不适用于整数向量的值。)Inf
和NaN
(也NA
) 是预订的中的单词R语言。
用法
is.finite(x)
is.infinite(x)
is.nan(x)
Inf
NaN
参数
x |
R要测试的对象:默认方法处理原子向量。 |
细节
is.finite
返回与 x
长度相同的向量,如果 x[j]
是有限的(即,它不是值 NA
、 NaN
、 Inf
之一,则该向量的第 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
长度相同的逻辑向量:dim
、dimnames
和 names
属性。
注意
在R,本质上所有的数学函数(包括基本的Arithmetic
),应该可以正常工作+/- Inf
和NaN
作为输入或输出。
基本规则应该是,与 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
,“不可用”,它也不是数字,但通常用于缺失值并适用于多种模式,而不仅仅是数字和复杂模式。
相关用法
- R is.function 是类型(原始)函数的对象吗?
- R is.recursive 对象是原子的还是递归的?
- R is.object 对象是“内部分类的”吗?
- R is.language 对象是语言对象吗?
- R is.single 对象是单精度类型吗?
- R is.R 我们使用的是 R,而不是 S?
- R is.unsorted 测试对象是否未排序
- R isS4 测试 S4 对象
- R isSymmetric 测试矩阵或其他对象是否对称(厄米特)
- R invisible 将打印模式更改为不可见
- R icuSetCollate 按 ICU 设置整理
- R identity 恒等函数
- R identical 测试对象是否完全相等
- R integer 整数向量
- R iconv 在编码之间转换字符向量
- R interactive R 是否以交互方式运行?
- R interaction 计算因子交互作用
- R ifelse 条件元素选择
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Finite, Infinite and NaN Numbers。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。