gpt4 book ai didi

通过在 .csv 和数据库中写入 R 意外舍入

转载 作者:行者123 更新时间:2023-12-02 04:59:18 25 4
gpt4 key购买 nike

我遇到了以下问题。我有大约 10-20 位小数的数值。我正在将这些值写入 .csv(通过 write.csv2())和数据库(通过 RODBC 包中的 SQLSave())。所有小数对我来说都是相关的。不幸的是,R 将小数点后 8 位的数字四舍五入。

举个例子:

5655698.697843645699322

变成:

5655698,69784365

我试图增加位数(options() 中的$digits),但这只影响我在控制台中看到的位数。我尝试使用 format(,digits=x) 并且这是有效的。但是,由于我有大量列,因此成本很高,而且看起来不是一个干净的解决方案。

是否有另一种方法可以通过写入 .csv 和数据库来增加位数?

最佳答案

R 使用 64 位 IEEE double 作为其基本数字格式。这具有 14-15 有效数字(不是小数位)的精度限制。所以 R 只是将数字写出到其准确度的正确极限。

如果你想要更多的小数,你可以使用一个包来进行任意精度的运算:

http://cran.r-project.org/web/packages/Rmpfr/index.html

http://cran.r-project.org/web/packages/gmp/index.html

关于通过在 .csv 和数据库中写入 R 意外舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18358783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com