fread() 将大数字读取为 4.076092e-309

fread() reads big number as 4.076092e-309

原始数字是825010211307012825010304926185的整数。 fread() 将所有这些数字变为 4.076092e-309

read.table正常,但是我需要读取大数据所以不能用

如何更正此错误?

如果安装 bit64 包,那么 fread 将使用它来读取这些大整数:

之前:

> fread("./bignums.txt")
              V1
1: 4.076092e-309
2: 4.076092e-309

施展魔法:

> install.packages("bit64")

然后:

> fread("./bignums.txt")
                V1
1: 825010211307012
2: 825010304926185

fread 已将它们读入 64 位整数:

> fread("./bignums.txt")$V1
integer64
[1] 825010211307012 825010304926185

我不知道为什么 freadbit64 不可用时会误读它们。我至少会收到警告...