2016-05-17 38 views
-1

我试图读取数字为5或6位小数的.csv文件。但R似乎自动截断我的号码。在R中读取csv的准确性更高

我的原始数据是一样

4445.32433,41.9194,15625.68189,... 
16.27793374,3838.070873,189.9342746 

这是我所得到

$ V3 : num 4445.32 16.28 1049.5 36.91 9.52 ... 
$ V4 : num 41.9 3838.1 100.6 43.8 11.3 ... 

然而,该列的部分,我得到这个

$ V39 : num 1.02e-05 2.67e-01 1.16e-03 7.12e-04 2.14e-04 ... 
$ V40 : num 0.221222 0.072993 0.004526 0.002724 0.000817 ... 

什么是逻辑的R截断我的数据?

我怎样才能控制它?在阅读时使用colClasses=c("double")似乎没有效果。

谢谢。

回答

3

R没有在所有截断你的数据。您的数据已成功读入,且不会丢失任何精度。您在屏幕上看到的舍入只是print的结果。试试df$v3[1],你会明白我的意思。

虽然您可以控制要打印的位数,但由options(digits),不需要这样做。

1

全分辨率由R存储,您只能看到控制台上显示的舍入值。看看功能:options(digits=6)

更多信息,请参阅这个问题:Formatting Decimal places in R