我有一个 CSV(我使用 data.table 中的 fread 读取),其中有一些相当大的数字,我将其转换为羽毛格式,然后另存为羽毛文件,但是当我读入这个新文件时,数字完全是不同的。这发生在我转换的 777 个不同的 CSV 文件上,因此它不是 CSV 特有的。我尝试制作一个可重现的示例,但发现如果我在 R 中生成数字没有问题。
包含来自 CSV 数据的代码:
options(digits = 22)
t<-tempfile()
i<-as.data.frame(data$total)
head(i)
x
1 10661832289
2 10836572665
3 11011492485
4 11180245212
5 11331994931
6 11486446777
feather::write_feather(i,t)
feather::read_feather(t)
# A tibble: 36 × 1
x
<dbl>
1 5.2676450557158410e-314
2 5.3539782724388232e-314
3 5.4404001462775578e-314
4 5.5237750713302844e-314
5 5.5987493942542471e-314
可重现的代码:运行此代码不会导致相同的问题。因此,它必须是从 CSV 中读取的保留类。
options(digits = 22)
t<-tempfile()
i<-as.data.frame(runif(10,10000000000,13000000000))
head(i)
feather::write_feather(i,t)
feather::read_feather(t)
我的会话信息:
sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] bit64_0.9-5 bit_1.1-12
loaded via a namespace (and not attached):
[1] lazyeval_0.2.0 plyr_1.8.4 assertthat_0.1 hms_0.3
[5] tools_3.3.3 haven_0.2.1 tibble_1.2 Rcpp_0.12.9
[9] feather_0.3.1 data.table_1.10.4 xlsxjars_0.6.1 rJava_0.9-8
[13] xlsx_0.5.7