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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。