2016-03-31 12 views
0

Zaten bir soruya benzer görünse de: is-it-possible-to-update-dataset-dimensions-in-hdf5-file-using-rhdf5-in-r ancak tam olarak aynı değildir.HDF5 File'da RHDF5 paketi kullanan bir veri seti için sınırsız boyutlara nasıl sahip olabiliriz?

RHDF5 belgelerinde, bir veri kümesinin, h5createDataset() kullanılarak maxtass parametresi kullanılarak oluşturulan bir veri kümesinin sahip olabileceği maksimum boyutları tanımlayabileceğimiz yazılmıştır. Ancak, veri kümesinin boyutlarını önceden bilmiyorsak, ör. Veri kümesinin boyutunun sürekli olarak artmakta olduğu bir durum olabilir ve bu nedenle bir veri kümesinin ulaşabileceği maksimum boyutlar hakkında hiçbir fikrimiz yoktur. Yukarıda bahsedilen soruya verilen cevapta, veri alanının ve HDF5 sabitlerinin yardımıyla yapılabileceği belirtilmiştir.

HDF5 sabitlerinin ve veri alanının nasıl kullanıldığına dair herhangi bir fikir sahibi olan var mı?

cevap

0

fonksiyonu h5createDataset() ile Bazı deneyler yaparken, ben bunu yapmanın bir yolunu bulduk:

> library(rhdf5) 

> fid <- H5Fcreate('test.h5') 

> h5createGroup(fid,'1') 
[1] TRUE 

> h5createDataset(fid,'1/1',dims = c(2,2,2),maxdims = c(Inf,Inf,Inf)) 
[1] TRUE 
Warning message: 
    In H5Screate_simple(dims, maxdims) : 
    NAs introduced by coercion to integer range 

> arr <- array(c(1:8),c(2,2,2)) 

> h5write(arr,fid,'1/1') 

> h5read(fid,'1/1') 
, , 1 

    [,1] [,2] 
[1,] 1 3 
[2,] 2 4 

, , 2 

    [,1] [,2] 
[1,] 5 7 
[2,] 6 8 

yanlış yere ya da bunu yapmak için daha iyi bir yöntem varsa varsa düzeltin lütfen.