如何在R中分配大于适合内存的DataSet?

时间:2016-12-07 20:06:13

标签: r hdf5 rhdf5

我有一个外部应用程序(非R),其输入是包含密集数据立方体的HDF5文件。我希望在R中生成数据。

在R中创建HDF5数据集的常规方法如下:

`

library(h5)
data <- numeric( 8*8*1000000)
dim(data) <- c(8,8,1000000)
file <- h5file("test.h5", 'w')
file['data'] <- data`

如果有足够的内存来创建data,但是当数据很大时,则无效。我可以在切片中创建数据,因此可以将其写入文件,如果我可以先创建数据集。

为了尝试创建数据集,我做

file <- h5file("test.h5", 'w')
createDataSet(file, 'data', NA, 'double', c(8,8,1000000))

然而,R拒绝这种说法

  

无法找到函数'createDataSet'的继承方法   签名'“H5File”,“character”,“numeric”,“character”,“numeric”,   “失踪”,“失踪”,“失踪”'

documentation中的调用签名表明“维度”不是向量,而是整数 - 可能指定维度的数量。我已尝试过其他调用签名并导致不匹配 - 也许H5File不是CommonFG类型,尽管CommonFG是H5File的父类。

0 个答案:

没有答案