write.csv精度R
我处理的是非常精确的数字(最大位数) 我注意到R中的write.csv精度R,r,csv,rounding,R,Csv,Rounding,我处理的是非常精确的数字(最大位数) 我注意到R中的write.csv(x)有时会将数字四舍五入 有人注意到这样的事情吗? 默认保存的位数是多少?如文档中所述 几乎在所有情况下,数字量的转换都受控制 通过选项“scipen”(请参阅options),但使用内部等效项 共位=15。要进行更精细的控制,请使用格式生成字符 矩阵/数据帧,并调用write.table 因此,简单的解决方案是更改选项,即 options(digits = DESIRED_VALUE) 定制的解决方案是使用格式将变量转换
write.csv(x)
有时会将数字四舍五入
有人注意到这样的事情吗?
默认保存的位数是多少?如文档中所述 几乎在所有情况下,数字量的转换都受控制 通过选项“
scipen
”(请参阅options
),但使用内部等效项
共位=15
。要进行更精细的控制,请使用格式
生成字符
矩阵/数据帧,并调用write.table
因此,简单的解决方案是更改选项
,即
options(digits = DESIRED_VALUE)
定制的解决方案是使用格式将变量转换为字符类型,例如
dat <- mtcars
dat$wt <- format(dat$wt, digits = 20)
所以四舍五入的值并没有什么不好的,因为您可能只需要精确到小数位数。此外,您的测量也会受到测量误差的影响,因此精度可能是虚幻的。这个问题是面向编程的,因此我投票将其迁移到StackexChange.com,因为这里没有主题。请看这里:这里:
format(2.620, digits = 20)
## [1] "2.6200000000000001066"