我有一个包含以下数据集的hdf5文件:
DATASET "data" {
DATATYPE H5T_COMPOUND {
H5T_STD_U16LE "rlzi";
H5T_STD_U32LE "sid";
H5T_STD_U64LE "eid";
H5T_ARRAY { [2] H5T_IEEE_F32LE } "gmv";
}
DATASPACE SIMPLE { ( 39838472 ) / ( H5S_UNLIMITED ) }
ATTRIBUTE "nbytes" {
DATATYPE H5T_STD_I64LE
DATASPACE SCALAR
}
}
每个记录都有一个包含两个元素的数组“ gmv”。我可以使用以下代码通过hdf5r软件包读取此数据集:
library(hdf5r)
fl <- h5file("file.hdf5", mode="r")
ds <- fl$open("/groupname/data")
dat <- ds$read()
使用此方法仅读取两个“ gmv”元素之一,以提供具有以下结构的数据框:
'data.frame': 39838472 obs. of 4 variables:
$ rlzi: int 26 11 13 14 1 2 5 14 14 11 ...
$ sid : int 11 16 18 18 33 33 37 40 41 42 ...
$ eid :integer64 322350180466688 322350180466688 322350180466688 ...
$ gmv : num 0 0 0 0 0 0 0 0 0 0 ...
有什么办法可以读取每条记录的gmv数组的两个元素吗?