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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。