gpt4 book ai didi

r - write.csv 精度 R

转载 作者:行者123 更新时间:2023-12-02 05:51:13 26 4
gpt4 key购买 nike

我正在处理非常精确的数字(最大位数)。

我注意到 R 中的 write.csv(x) 有时会对数字进行四舍五入。

有人注意到类似的事情吗?默认保存的位数是多少?

最佳答案

正如文档中所写,

In almost all cases the conversion of numeric quantities is governed by the option "scipen" (see options), but with the internal equivalent of digits = 15. For finer control, use format to make a character matrix/data frame, and call write.table on that.

所以简单的解决方案是更改选项,即

options(digits = DESIRED_VALUE)

定制的解决方案是将变量转换为具有格式的字符类型,例如

dat <- mtcars
dat$wt <- format(dat$wt, digits = 20)

然后像这样保存。但请注意,在使用计算机时,我们总是处理四舍五入的数字(参见Gldberg,1991,What Every Computer Scientist Should Know About Floating-Point Arithmetic),并且您可能会发现对计算机精度有影响的棘手结果,例如

format(2.620, digits = 20)
## [1] "2.6200000000000001066"

因此,四舍五入值并没有什么“坏处”,因为您可能只需要它们精确到小数点后的位数。而且,您的测量也会受到测量误差的影响,因此精度可能是虚幻的。

关于r - write.csv 精度 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45501564/

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