【问题标题】:Get column names of objects inside HDF5 object with R使用 R 获取 HDF5 对象内对象的列名
【发布时间】:2017-01-23 08:58:50
【问题描述】:

我创建了一个虚拟 HDF5 对象

libray(rhdf5)
handle = h5createFile("rhd5file.h5")
df_A <- data.frame(height = rnorm(20,55,3), index = c(1:20))
df_B <- data.frame(age = rnorm(10,30,5), address = sample(letters,size= 10,replace = TRUE))
h5write(df_A, "rhd5file.h5", "A")
h5write(df_B, "rhd5file.h5", "B")
h5close(handle)

现在,我只想检索对象df_Adf_B 的列名,而不读取整个文件rhd5file.h5。有可能吗?

我尝试了h5readAttributes()h5ls(),但没有一个会在不读取整个对象的情况下显示列名

需要的输出:

A: height, index
B: age, address

【问题讨论】:

    标签: r hdf5 rhdf5


    【解决方案1】:

    您可以在属性中写入 colnames,然后您可以在不读取整个文件的情况下读取它们:

    library(rhdf5)
     handle = h5createFile("rhd5file.h5")
     df_A <- data.frame(height = rnorm(20,55,3), index = c(1:20))
     df_B <- data.frame(age = rnorm(10,30,5), address = sample(letters,size= 10,replace = TRUE))
     h5write(df_A, "rhd5file.h5", "A")
     h5write(df_B, "rhd5file.h5", "B")
    
     file=H5Fopen("rhd5file.h5")
     did <- H5Dopen(file,"A")
     h5writeAttribute(did, attr=names(df_A),name="colnames")
    
     H5Dclose(did)
     H5close()
    
     h5readAttributes("rhd5file.h5","A")
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 2021-08-29
      • 2018-12-31
      • 1970-01-01
      • 2017-07-02
      • 2019-07-08
      相关资源
      最近更新 更多