0
목록이나 매트릭스에 자동으로 저장하려는 여러 변수가있는 hdf5 파일이 있습니다.문자열을 변수 이름으로 사용하여 hdf5 파일의 변수를 저장하는 방법은 무엇입니까?
library(rhdf5)
file = H5Fopen("myfile.h5")
file
HDF5 FILE
name/
filename
name otype dclass dim
0 AGB_CO H5I_DATASET FLOAT 3
1 AGB_CUT H5I_DATASET FLOAT 17 x 11 x 1
2 AGB_GROWTH H5I_DATASET FLOAT 17 x 11 x 1
3 AGB_MORT H5I_DATASET FLOAT 17 x 11 x 1
4 AGE H5I_DATASET FLOAT 1
5 AREA H5I_DATASET FLOAT 1
6 AREA_SI H5I_DATASET FLOAT 1
7 BALIVE H5I_DATASET FLOAT 3
8 BASAL_AREA_CUT H5I_DATASET FLOAT 17 x 11 x 1
9 BASAL_AREA_GROWTH H5I_DATASET FLOAT 17 x 11 x 1
10 BASAL_AREA_MORT H5I_DATASET FLOAT 17 x 11 x 1
h5info=h5ls("myfile.h5")
names=h5info$name
names
[1] "AGB_CO" "AGB_CUT" "AGB_GROWTH" "AGB_MORT"
[5] "AGE" "AREA" "AREA_SI" "BALIVE"
[9] "BASAL_AREA_CUT" "BASAL_AREA_GROWTH" "BASAL_AREA_MORT" "BA_CO"
나는 지금은 메모리에 모든 변수를 저장하는 루프를 사용하고 싶습니다
file$AGB_CO
[1] 0.04595303 0.02707645 0.03625819
을 입력하여 파일의 모든 변수에 액세스 할 수 있습니다. 내가 시도
for (i in 1:names) {
vari=paste0("file$",names[i])
assign(vari,NA)
*some list or matrix*=as.name(vari)
}
처럼 뭔가 할당(), 평가(), as.name(), 그들 중 누구도 작동하지 않습니다,하지만 난 또 다른 변수로 저장할 수 없습니다입니다. 그러나 myvar = file $ AGB_CO를 입력하면 작동합니다. 이것을 구현하는 방법?
왜 h5read ("myfile.h5", "/")를 사용하지 않습니까? – user3507085
@ user3507085 잘 작동하는 것 같습니다. 나는 또한 h5dump를 매우 유용하게 사용했다. –