首页 > 解决方案 > 双精度数据类型和数值数据类型的区别

问题描述

R编程中双精度数据类型和数值数据类型之间的显着区别是什么?

标签: rprecision

解决方案


来自stat.ethz.ch:

R 的浮点向量有两个名称,double 和 numeric(以前是 real),这是一个历史反常现象。double 是类型的名称。numeric 是模式的名称,也是隐式类的名称。作为 S4 正式课程,请使用“数字”。潜在的混淆是 R 使用“数字”模式来表示“双精度或整数”</p>

我们可以认为双打属于数字。要看到这个:

 > is.double(1)
 [1] TRUE
 > is.numeric(1)
 [1] TRUE

R 通常将数字存储为双精度数。使用“numeric()”与“double()”相同。您还可以将数字存储为单个或整数。两者都是数字。出于性能原因,您可以选择强制将数字存储为整数,但除非您正在构建一个包,否则这种权衡可能不值得您花时间。

我建议阅读Gillespie 的概述以获取有关类型和性能的更多信息。


推荐阅读