1

我有一个包含大量数字的数据集:

require(pacman)
p_load(bit64,
       feather,
       data.table)

sampleDT <- data.table(ID = c(1,2,3),
                       Val = c(11111111111,2222222222,3333))
sampleDT[, Val := bit64::as.integer64(Val)]     # convert it to integer64 type
sampleDT              # result looks fine

   ID         Val
1:  1 11111111111
2:  2  2222222222
3:  3        3333

但是,当我使用 R 羽毛保存此数据并重新加载时,不会保留大量数字。

feather::write_feather(x = sampleDT, path = "C:/Users/xxx/Downloads/test.feather")
resultDT <- feather::read_feather(path = "C:/Users/xxx/Downloads/test.feather")
resultDT
# A tibble: 3 x 2
     ID       Val
  <dbl>     <dbl>
1     1 5.49e-314
2     2 1.10e-314
3     3 1.65e-320

这是 integer64 类型的真正问题吗?我应该怎么做才能保留这么大的数字?

4

0 回答 0