R 3.5.1 paste()包含integer64会破坏值

时间:2018-12-06 15:29:04

标签: r

我一直在跟踪我通过R和RPostgres库生成的报告中的一些“不可能”数字。该代码正在运行许多数据库查询,其中一些恰巧返回了BIGINT类型(通过SQL COUNT()聚合),这些类型默认由RPostgres解释为integer64(我将其解释为正在使用bigint="integer"选项,因为目前我的值都不是> 2 ^ 31)。

我设法得到一个非常小的例子:

i <- bit64::as.integer64(1)
paste(data.frame(a=i))

给我4.94065645841247e-324,而不是1。我假设paste()会将int64视为double,但不确定原因。

有什么建议吗?大多想知道这在我的系统上是否很奇怪,是否应该向上游报告。

这是最新的arch-linux系统上的R 3.5.1,并且刚刚更新了所有软件包

0 个答案:

没有答案