Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 导出为csv并以相同的数值精度导入?_R - Fatal编程技术网

R 导出为csv并以相同的数值精度导入?

R 导出为csv并以相同的数值精度导入?,r,R,当我将数字数据导出到csv文件,然后将它们导入到R中时,它们并不相等,如下所示。在不进行任意舍入的情况下,检查这些数据是否相等的最佳方法是什么?或者,有没有一种好方法可以将数字数据导出到csv文件,然后再导入它们并检查它们是否与新结果完全相同?我对涉及以不同方式向csv或制表符分隔的文件导出或导入数据的解决方案持开放态度 set.seed(10) x = rnorm(1) write.csv(x, "test.csv", row.names = F) y = read.csv("test.csv

当我将数字数据导出到csv文件,然后将它们导入到R中时,它们并不相等,如下所示。在不进行任意舍入的情况下,检查这些数据是否相等的最佳方法是什么?或者,有没有一种好方法可以将数字数据导出到csv文件,然后再导入它们并检查它们是否与新结果完全相同?我对涉及以不同方式向csv或制表符分隔的文件导出或导入数据的解决方案持开放态度

set.seed(10)
x = rnorm(1)
write.csv(x, "test.csv", row.names = F)
y = read.csv("test.csv")
x == y

如果数据不必保存为
.csv
,那么最好使用
保存
将数据保存为
.RData
,然后在需要时加载它

set.seed(10)
x = rnorm(1)
x2 = x
save(x2, file = "x.RData")
rm(x2)
load("x.RData")

> identical(x, x2)
[1] TRUE

如果数据不必保存为
.csv
,那么最好使用
保存
将数据保存为
.RData
,然后在需要时加载它

set.seed(10)
x = rnorm(1)
x2 = x
save(x2, file = "x.RData")
rm(x2)
load("x.RData")

> identical(x, x2)
[1] TRUE
那么…write.csv(格式(x,数字=17),“test.csv”,row.names=F)呢

无论如何,我必须弄明白: 表格: “历史上,R的浮点向量有两个名称,
double
numeric
(以前是
real
)。
double
是类型的名称。
numeric
是模式的名称,也是隐式类的名称。”

计算机上的实际精度取决于您的计算机,请参见
.machine

关于…write.csv(格式(x,数字=17),“test.csv”,row.names=F)的内容

无论如何,我必须弄明白: 表格: “历史上,R的浮点向量有两个名称,
double
numeric
(以前是
real
)。
double
是类型的名称。
numeric
是模式的名称,也是隐式类的名称。”


计算机上的实际精度取决于您的计算机,请参见
.machine

谢谢,了解这一点很有用,但我对导出到csv或制表符分隔文件的数据特别感兴趣。我编辑了这个问题。谢谢,知道这一点很有用,但我对导出到csv或制表符分隔文件的数据特别感兴趣。我编辑了这个问题。我喜欢你的答案。我在找一件简单的事情。为什么17是个好选择?请看我的编辑。格式(x,digits=22)是最大值,显示18位。
numeric
使用基于的双精度浮点格式,具有15-17位有效十进制数字。好的,digits=17及以上对我适用。这个数字可以确定吗?我不确定如何解释.Machine中的字节大小信息。有趣的问题,不幸的是我不知道答案。我认为,在大多数电脑上,精度已经足够了。。。顺便说一句:RData的优点是,数据是压缩的,所以需要更少的内存!如果你只在R范围内工作,我会用它。我喜欢你的答案。我在找一件简单的事情。为什么17是个好选择?请看我的编辑。格式(x,digits=22)是最大值,显示18位。
numeric
使用基于的双精度浮点格式,具有15-17位有效十进制数字。好的,digits=17及以上对我适用。这个数字可以确定吗?我不确定如何解释.Machine中的字节大小信息。有趣的问题,不幸的是我不知道答案。我认为,在大多数电脑上,精度已经足够了。。。顺便说一句:RData的优点是,数据是压缩的,所以需要更少的内存!如果你只在R范围内工作,我会用它。