I am trying to load an hdf5 into R and running into some problems. Here are the steps I took to configure my environment:
Use the verbosity
argument in hdfload()
and check your environment using ls()
. hdfload()
has a side effect, it loads the tables into the current environment, NULL
is the default return value. If you use the argument load=TRUE
the objects are returned as the components of a named list:
load
: A logical value. If 'FALSE',
the objects are returned as the
components of a named list. If 'TRUE' (the default), the
objects are loaded as individual variables with their own
names - the function returns nothing in this case. On my Mac everything works well with the same setup.
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"
You can also try the h5r package on CRAN. This package uses the new hdf5 libraries and provides more functionality than hdf5 library.