使用ff包访问文件中的巨大3D数组

时间:2013-07-24 15:41:25

标签: r

例如,32位类型的15 GB 3D立方体以二进制格式存储在文件中。我知道ff包让用户将对象映射到内存映射文件。因此,我想知道,如果使用ff,我可以将对象映射到不是由ff创建的3D立方体文件。

使用3D立方体时,显而易见的好处是高效的内存管理。我试图找到一些关于此的参考,但我甚至从ff包文档中找不到任何相关材料。任何暗示都将受到赞赏。

1 个答案:

答案 0 :(得分:3)

你可以,虽然我以前没试过。

简单测试:

library(ff)
writeBin(as.vector(volcano), "file.bin", size = 8)
a <- ff(filename = "file.bin", readonly = TRUE, vmode = "double", dim = dim(volcano))
image(as.ram(a))

我会在你使用你的文件之前仔细测试,但是这与readonly = FALSE一起工作,我可以修改值,删除a,重新创建它,然后进行修改。