这些参数在R中的包h5中意味着什么

时间:2016-12-01 10:29:54

标签: r hdf

我在R中使用包h5来编写库。因此,出于同样的原因,我试图从头开始使用函数createDataSet来构建数据集,

createDataSet(.Object=HDF.handle,datasetname="chrX2",data=matrix(nrow=10,ncol=10,data=NA),compression=0L,chunksize=4L,type="double")

会导致错误消息:

unable to find an inherited method for function ‘createDataSet’ for signature ‘"H5File", "character", "matrix", "character", "missing", "integer", "missing", "integer", "missing"’

我已将其缩小到我向该函数提供的typedimensionsmaxdimensions参数。

关于type,手册说character; Character specifying data type, can be either one of:,因此指定“double”的长度为1的字符向量应该有效。

我还考虑了包可能从提供的矩阵推断矩阵的数据类型的可能性,因为指定matrix(nrow=10,ncol=10,data=NA)生成包含数据类型逻辑的NA的矩阵。这反过来会与type参数冲突。

有人可以告诉我在这种情况下我做错了什么。

此外,关于dimensionsmaxdimensions参数。我不太清楚这些参数控制的是什么。

从手册中, 尺寸定义为 integer; Dimensions of dataset to be created.

maxdimensions定义为integer; Maximum dimensions used for dataset, NA sets maxdimensions to ’unlimited’

我有点困惑,因为一旦创建的HDF格式的数据集的形状在不删除数据集的情况下无法更改。在这种情况下maxdim控制什么?

这是否与提供的数据形状有某种关系?

因此矩阵的dimensions应为c(nrow(matrix),ncol(matrix)),因此maxdim也应相同。

链接到手册here

更新

我创建了数据集。我发现冲突位于参数data和上面提到的三个参数之间。从参数列表中删除数据可以解决问题,但是在创建数据集时,{I} {{p}}确实无法清楚地了解这一点。

maxdimensions

0 个答案:

没有答案