我一直在通过 R 和RPostgres库生成的报告中追踪一些“不可能”的数字。该代码正在运行许多数据库查询,其中一些恰巧返回BIGINT类型(通过 SQLCOUNT()聚合),默认情况下RPostgres解释为integer64(我正在使用该bigint="integer"选项,因为目前我的值都不大于 2^31 )。
我设法得到了一个非常小的例子:
i <- bit64::as.integer64(1)
paste(data.frame(a=i))
Run Code Online (Sandbox Code Playgroud)
给我4.94065645841247e-324回来,而不是1。我认为paste()是将 theint64视为 a double,但不确定为什么。
有什么建议?主要想知道这是否在我的系统上很奇怪,我是否应该向上游报告。
这是最新的 arch-linux 系统上的 R 3.5.1 并且刚刚更新了所有软件包
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |