我正在尝试在我的R代码中使用big.matrix对象,但是我无法使用GIT_COMMITTER_DATE="<some date>" git commit -m 'message'
将它们保存到文件中,这就是我通常保存对象的方式:
saveRDS
我认为saveRDS在某种程度上没有意识到big.matrix对象实际上是指向其他内存的指针,实际上只是保存指针。有什么方法可以解决这个问题吗?
(我真的不想使用文件支持的big.matrix对象,因为我实际想要保存的对象是包含一个或多个big.matrix对象的复杂数据结构,所以我需要一个支持文件对于对象中包含的每个big.matrix,然后将对象序列化为不确定数量的文件而不是一个。)
答案 0 :(得分:0)
但是big.memory
个对象位于外部指针后面,因此它们在R 的控制之外。这意味着您想要将它们保存为RDS对象从R 从一开始就注定失败。
您可以将它们转换为普通对象占用大量内存,然后将其写为RDS。否则可以查看filebased.bigmatrix()
?
答案 1 :(得分:0)
你可以尝试
> saveRDS(describe(x), "bigmem-test.RDS")
> y <- attach.big.matrix(readRDS("bigmem-test.RDS"))
我不确定你打算做什么。以上内容适用于同一个R会话。但是没有文件支持,你结束R会话后内存中的任何东西都会消失,上面的内容将不起作用,因为无论它指向什么都将消失。