double
位於 base
包(package)。 說明
創建、強製或測試雙精度向量。
用法
double(length = 0)
as.double(x, ...)
is.double(x)
single(length = 0)
as.single(x, ...)
參數
length |
指定所需長度的非負整數。 Double 值將被強製轉換為整數:提供長度不是 1 的參數是錯誤的。 |
x |
對象被強製或測試。 |
... |
傳入或傳出其他方法的進一步參數。 |
細節
double
創建指定長度的雙精度向量。向量的元素都等於 0
。它與 numeric
相同。
as.double
是一個通用函數。它與 as.numeric
相同。方法應返回基類型 "double"
的對象。
is.double
是雙type 的測試。
R沒有單精度數據類型。所有實數均以雙精度格式存儲。函數as.single
和single
與as.double
和double
除非他們設置屬性Csingle
是用在.C
和.Fortran
接口,並且它們僅旨在在該上下文中使用。
值
double
創建指定長度的雙精度向量。向量的元素都等於 0
。
as.double
嘗試將其參數強製為雙精度類型:與 as.vector
一樣,它會刪除包括名稱在內的屬性。 (要確保對象為 double 類型而不剝離屬性,請使用 storage.mode
。)可以轉換包含可選空格後跟十進製表示形式或十六進製表示形式(以 0x
或 0X
開頭)的字符串,特殊值也可以,例如 "NA"
、 "NaN"
、 "Inf"
和 "infinity"
,無論大小寫。
因子的 as.double
生成因子級別的代碼,而不是標簽的數字表示形式,另請參閱 factor
。
is.double
返回TRUE
或FALSE
,具體取決於其參數是否為雙精度type。
雙精度值
全部R平台需要使用符合 IEC 60559(也稱為 IEEE 754)標準的值。這本質上適用於 53 位精度,並表示該精度的絕對值範圍約為 到 。它還具有特殊的值NaN
(其中很多),正負無窮大和正負零(盡管R就好像它們是相同的一樣)。還有非規範化(化)(或者低於正常的) 數值低於上麵給出的範圍但表示精度較低的數字。
有關這些限製的準確信息,請參閱.Machine
。請注意,最終如何處理雙精度數字取決於 CPU/FPU 和編譯器。
在 IEEE 754-2008/IEC60559:2011 中,這稱為 ‘binary64’ 格式。
名字注意事項
這是一個曆史異常現象R其浮點向量有兩個名稱,double
和numeric
(並且以前有real
)。
double
是 type 的名稱。 numeric
是 mode 的名稱,也是隱式 class 的名稱。作為 S4 正式課程,請使用 "numeric"
。
潛在的混亂是R已經使用過base mode
"numeric"
表示“雙精度或整數”,這與 S4 的用法相衝突。因此is.numeric
測試模式,而不是類,但是as.numeric
(這與as.double
)強製類。
例子
is.double(1)
all(double(3) == 0)
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
https://en.wikipedia.org/wiki/IEEE_754-1985, https://en.wikipedia.org/wiki/IEEE_754-2008, https://en.wikipedia.org/wiki/IEEE_754-2019, https://en.wikipedia.org/wiki/Double_precision, https://en.wikipedia.org/wiki/Denormal_number.
也可以看看
相關用法
- R dots ...、..1 等在函數中使用
- R do.call 執行函數調用
- R dontCheck 抑製檢查的身份函數
- R dump R 對象的文本表示
- R diag 矩陣對角線
- R deparse 表達式解析
- R deparseOpts 表達式解析選項
- R debug 調試函數
- R dcf 以 DCF 格式讀寫數據
- R data.class 對象類
- R dimnames 對象的暗名稱
- R dyn.load 對外函數接口
- R diff 滯後差異
- R dput 將對象寫入文件或重新創建它
- R duplicated 確定重複元素
- R dim 物體的尺寸
- R drop 刪除冗餘盤區信息
- R delayedAssign 延遲評估和承諾
- R difftime 時間間隔/差異
- R det 計算矩陣的行列式
- R detach 從搜索路徑中分離對象
- R data.frame DataFrame
- R data.matrix 將 DataFrame 轉換為數字矩陣
- R date 係統日期和時間
- R droplevels 刪除因子中未使用的級別
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Double-Precision Vectors。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。