9

hdf5 を R にロードしようとしていて、いくつかの問題が発生しています。環境を構成するために行った手順は次のとおりです。

  • Mac OS X 10.6 上の R 2.10.0 (x64)
  • hdf5 1.8.3 macports 経由でインストール
  • CRAN の hdf5_1.6.9.tar.gz

私が抱えている問題は、私のバージョンの HDF5 と R モジュールが期待するバージョンの非互換性に関連していると思われます。完全を期すために、Rモジュールをインストールした方法を次に示します。

R CMD INSTALL --configure-vars='CPPFLAGS=-I/opt/local/include' --configure-args='--with-hdf5=/opt/local' hdf5_1.6.9.tar.gz

これで問題なくビルドできます。ライブラリは問題なくロードされているようですが、ファイルをロードしようとしてもデータが返されません:

ライブラリ(hdf5)

hdf5load("test.h5")

ヌル

まだ、

osx:data scott$ h5dump test.h5 HDF5 "test.h5" { GROUP "/" { DATASET "dset" { DATATYPE H5T_STD_I32LE DATASPACE SIMPLE { ( 31 ) / ( 31 ) } DATA { (0): 1, 2, 4 、8、16、32、64、128、256、512、1024、2048、4096、8192、(14): 16384、32768、65536、131072、262144、524288、1048576、2097152:4、8, 6 1924 、16777216、33554432、67108864、134217728、(28): 268435456、536870912、1073741824 } } }

何かご意見は?

前もって感謝します。

4

2 に答える 2

6

CRAN で h5r パッケージを試すこともできます。このパッケージは、新しい hdf5 ライブラリを使用し、hdf5 ライブラリよりも多くの機能を提供します。

于 2011-04-18T21:54:20.947 に答える
2

verbosityの引数を使用し、 を使用しhdfload()て環境を確認しますls()hdfload()副作用があり、テーブルを現在の環境にロードしNULLます。デフォルトの戻り値です。引数を使用するとload=TRUE、オブジェクトは名前付きリストのコンポーネントとして返されます。

  • load: 論理値。'FALSE' の場合、オブジェクトは名前付きリストのコンポーネントとして返されます。'TRUE' (デフォルト) の場合、オブジェクトは独自の名前を持つ個々の変数としてロードされます。この場合、関数は何も返しません。

私の Mac では、すべて同じ設定で問題なく動作します。

R> rm(list=ls())
R> ls()
character(0)
R> hdf5load("TestHDF5.h5", verbosity=3)
hdf5_global_verbosity=3 load=1
Processing object: Dataset0 ...... its a dataset...Dataset has ID335544326
Dataset has tid 201326902
Dataset has space id 268435467
Dataset has rank 1
Dataset has dims/maxdims: 1 / 1 
Allocating vector with rank=1 dim=1
calling vector_io. Hangs here with big datsets
Setting buffer size in plist
About to read with bufsize = 50
in string_ref: count=1, size=25 srcbf=25
leaving string_ref
 Done read
in vector_io: permuting
in vector_io: tidying
Phew. Done it. calling iinfo->add
Rank > 1 or not VECSXP
Calling  hdf5_load_attributes 
back from  hdf5_load_attributes 
...Finished dataset 
Processing object: Table0 ...... its a dataset...Dataset has ID335544327
Dataset has tid 201326906
Dataset has space id 268435468
Dataset has rank 1
Dataset has dims/maxdims: 1 / 1 
Dataset has type = VECSXP and rank 1
Reading...
....done
in string_ref: count=1, size=25 srcbf=25
leaving string_ref
...Finished dataset 
NULL
R> ls()
[1] "Dataset0" "Table0"
于 2009-11-14T01:21:24.450 に答える