2016-09-15 8 views
2

Я создал фиктивный объект hdf5 какПолучить имена столбцов объектов внутри объекта HDF5 с R

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_A и df_B без чтения всего файла rhd5file.h5. Является ли это возможным?

Я попытался h5readAttributes() и h5ls(), но ни один из них не показывает имена столбцов без чтения весь объект

Требуемая мощность:

A: height, index 
B: age, address 

ответ

0

Вы могли бы написать в атрибутах в 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") 

Надеюсь, что эта помощь.