【发布时间】:2019-08-13 09:46:03
【问题描述】:
我在尝试将 R 数据帧导出到 csv 文件时遇到了一个奇怪的问题。 数据帧包含一些大数字,但是当它们被写入 csv 文件时,它们会“丢失”小数部分,而是在没有小数部分的情况下写入。 但不像人们期望的那样,而是这样:
说 3224571816.5649 是 R 中的正确值。当写入 csv 时,它变为 32245718165649。
我正在使用write.csv2 函数来编写 csv。分隔符是正确的,因为它通常适用于较小的值。是不是因为数字(带小数)大于 32 位而出现问题?
更重要的是,我该如何解决这个问题,因为我有一个值比这大(或更大)的整个数据框?此外,它必须写入 csv。
【问题讨论】:
-
您不能在打印之前将数据框内容转换为文本/字符吗?
-
您提供的号码对我有用。这与
max.print选项无关吗?你options('max.print')的价值是多少? -
你也尝试过其他写方法(例如
fwrite()fromdata.table)? -
@Oka 当我阅读您的评论时,我检查了列类型。显然 R 已经将它们转换为字符。这就是导致问题的原因(以及为什么 JaKu 对这个数字没有问题)。问题是由于 $.$ 没有转换为 $,$ 因为 R 认为它们是字符串。
标签: r csv export-to-csv