2015-11-03 58 views
0

我有3行的数据是这样的:R和长数据类型(数字)。我可以避免精确度损失吗?

1010095104702929164 
    1014576908756930874 
    103493462503798643 

和我一起读他们:

read.csv(file) 

而且我得到了R:

1 1.010095e+18 
2 1.014577e+18 
3 1.034935e+17 

现在,当我写出来回到文件我得到这个:

"1",1010095104702929152 
"2",1014576908756930816 
"3",103493462503798640 

这些值不相同。任何方式来避免这种情况? 我试过:

read.csv(file, colclasses=c('character'))
但它不起作用。

+0

当你将它们作为字符阅读时,请详细说明“不起作用”,因为这对我来说“工作正常”。请注意,参数是'colClasses'而不是'colclasses'。 – joran

+0

现在有效。我不确定是什么导致它不工作。原始数据中有更多列。我在R-Studio工作,所以不会拼写错误。 –

+0

你的意思是说,当你拼写正确的参数时,它的作品?什么修正了它? – joran

回答

0

它一起工作:

read.csv(file, colClasses=c('character'))

为Joran指出。