如何在R中精确读取大数并对它们进行算术运算?

时间:2014-06-23 03:55:55

标签: r

我正在阅读csv文件,其中有一些非常大的数字,如1327707999760,但R会自动将其转换为1.32771e + 12。我试图给它分配一个双类,但它不起作用,因为它已经是一个舍入值。 我查看了Preserving large numbers等其他帖子。人们说“它不是”1.67E + 12格式“,它只是不会完全使用默认值打印.R正好读它,整个数字就在那里。”但是当我试图对它们做一些算术运算时,这是不对的。 例如:

test[1,8]
[1] 1.32681e+12
test[2,8]
[1] 1.32681e+12
test[2,8]-test[1,8]
[1] 0

但我知道他们的号码不同!

2 个答案:

答案 0 :(得分:5)

那不大。这仅仅是一个表征问题。试试这个:

options(digits=22)

options('digits')默认为7,这就是您看到自己所做的事情的原因。正在读取和存储所有十二个数字,但默认情况下不打印。

答案 1 :(得分:3)

Excel允许自定义格式:格式/单元格/自定义并输入#0