我正在尝试导出data.frame
,其中有2列有16个和24个长整数。
然而,在导出到csv后,我正在使用4.352370e+15
等科学记数代替原始的非科学整数。
代码
write.csv(fulljoin,file="output2.csv")
答案 0 :(得分:1)
以下选项对我有用。感谢大家提供帮助。
选项(位数= 18)强>
其他一切都保持不变。它在阅读和写作时都有所帮助。
答案 1 :(得分:0)
我不会指望在默认整数数据类型中获得那么多数字而不会丢失精度。请注意,整数实际上会在一定长度后被强制转换为数字。将class(12345678L)
(整数)与class(123456789012L)
进行比较(带警告的数字)。经过一段时间后,无论您显示多少位数,您都将开始失去精确度:
option(digits=22) # the max
x <- 1234567890123456789012; x
# [1] 1234567890123456774144 -- whoops!
对于较大的整数,您可能希望在Big Integer
中使用其他类,例如gmp
。
library(gmp)
x <- as.bigz("1234567890123456789012345678901234567890")
x <- x + 1 # do some math
write.csv(as.character(x), "bignumber.csv", row.names=FALSE, quote=FALSE)
# csv looks like:
# x
# 1234567890123456789012345678901234567891