當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R double 雙精度向量


R語言 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.singlesingleas.doubledouble除非他們設置屬性Csingle是用在.C.Fortran接口,並且它們僅旨在在該上下文中使用。

double 創建指定長度的雙精度向量。向量的元素都等於 0

as.double 嘗試將其參數強製為雙精度類型:與 as.vector 一樣,它會刪除包括名稱在內的屬性。 (要確保對象為 double 類型而不剝離屬性,請使用 storage.mode 。)可以轉換包含可選空格後跟十進製表示形式或十六進製表示形式(以 0x0X 開頭)的字符串,特殊值也可以,例如 "NA""NaN""Inf""infinity" ,無論大小寫。

因子的 as.double 生成因子級別的代碼,而不是標簽的數字表示形式,另請參閱 factor

is.double 返回TRUEFALSE,具體取決於其參數是否為雙精度type

雙精度值

全部R平台需要使用符合 IEC 60559(也稱為 IEEE 754)標準的值。這本質上適用於 53 位精度,並表示該精度的絕對值範圍約為 。它還具有特殊的值NaN(其中很多),正負無窮大和正負零(盡管R就好像它們是相同的一樣)。還有非規範化(化)(或者低於正常的) 數值低於上麵給出的範圍但表示精度較低的數字。

有關這些限製的準確信息,請參閱.Machine。請注意,最終如何處理雙精度數字取決於 CPU/FPU 和編譯器。

在 IEEE 754-2008/IEC60559:2011 中,這稱為 ‘binary64’ 格式。

名字注意事項

這是一個曆史異常現象R其浮點向量有兩個名稱,doublenumeric(並且以前有real)。

doubletype 的名稱。 numericmode 的名稱,也是隱式 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.

也可以看看

integernumericstorage.mode

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Double-Precision Vectors。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。