2016-03-31 3 views
0

Хотя это может показаться похожим на уже заданный вопрос: is-it-possible-to-update-dataset-dimensions-in-hdf5-file-using-rhdf5-in-r, но они не совсем такие же.Как мы можем иметь неограниченные размеры для набора данных в файле HDF5 с использованием пакета RHDF5?

В документации RHDF5 указано, что мы можем определить максимальные размеры, которые может иметь набор данных при создании набора времени, используя h5createDataset() (с использованием параметра maxdims). Но что, если мы заранее не знаем размеры набора данных, например, мы могли бы иметь ситуацию, когда размер набора данных постоянно увеличивается, и поэтому мы не имеем представления о максимальных размерах, которые может достичь набор данных.

В ответ на упомянутый выше вопрос было упомянуто, что это можно сделать с помощью констант dataspace и HDF5.

Может ли кто-нибудь дать некоторое представление о том, как можно использовать константы HDF5 и dataspace?

ответ

0

Хотя делать некоторые эксперименты с функцией h5createDataset(), я нашел способ сделать это:

> 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 

Пожалуйста, поправьте меня, если я ошибаюсь где-то или, если есть лучший способ сделать это.

 Смежные вопросы

  • Нет связанных вопросов^_^