2016-09-15 82 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_Adf_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") 

希望這個幫助。