将长整数导出为CSV

时间:2014-10-19 02:42:15

标签: r csv export

我正在尝试导出data.frame,其中有2列有16个和24个长整数。

然而,在导出到csv后,我正在使用4.352370e+15等科学记数代替原始的非科学整数。

代码

write.csv(fulljoin,file="output2.csv")

2 个答案:

答案 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