R 3.5.1 paste (), содержащий integer64, искажает значения - PullRequest
0 голосов
/ 06 декабря 2018

Я отслеживал некоторые «невозможные» числа в отчете, который я генерировал через 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, но не уверен, почему.

какие-либо предложения?в основном интересно, не странно ли это в моей системе, и должен ли я сообщать об этом в апстриме.

это R 3.5.1 в современной системе arch-linux, и только что обновил все пакеты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...