尝试将R数据帧导出到csv文件时遇到一个奇怪的问题。 数据框包含一些大数字,但是当将它们写到csv文件时,它们会“丢失”小数部分,而改写时不带小数部分。 但并非像人们期望的那样,而是这样:
说3224571816.5649是R中的正确值。当写入csv时,它变为32245718165649。
我正在使用write.csv2
函数编写csv。分隔符是正确的,因为它通常适用于较小的值。是由于数字(带小数点)大于32位而引起的吗?
更重要的是,我要解决这个问题,因为我有一个完整的数据框,其值大于或等于此值?另外,必须将其写入csv。
答案 0 :(得分:0)
write.csv2适用于不同的csv标准(西欧样式,根据您使用“。”作为十进制指示符,我猜您不是在找)。 write.csv2使用逗号作为小数点指示符,使用分号作为字段定界符,因此,如果您尝试以逗号分隔的文件形式读取结果,则确实看起来很奇怪。
我建议您使用write.csv(甚至更好的是write.table)来输出文件。 write.csv假定逗号分隔符和小数点的句点。
write.csv和write.csv2都只是write.table的包装器,后者是基础方法。通常,我建议使用write.table,因为它不假定您所在的区域,并且您可以显式地将其传递给sep =“,”,dec =“。”等。这不仅可以使您确定要使用的内容,但这也使您的代码更具可读性。
有关更多信息,请访问rdocumentation.org网站中的write.table:https://www.rdocumentation.org/packages/utils/versions/3.5.3/topics/write.table