Learn R Programming

rhdf5 (version 2.16.0)

h5createDataset: Create HDF5 dataset

Description

R function to create an HDF5 dataset and defining its dimensionality and compression behaviour.

Usage

h5createDataset (file, dataset, dims, maxdims = dims, storage.mode = "double", H5type = NULL, size = NULL, chunk = dims, level = 6, fillValue, showWarnings=TRUE)

Arguments

file
The filename (character) of the file in which the dataset will be located. For advanced programmers it is possible to provide an object of class H5IdComponent representing a H5 location identifier (file or group). See H5Fcreate, H5Fopen, H5Gcreate, H5Gopen to create an object of this kind.
dataset
Name of the dataset to be created. The name can contain group names, e.g. 'group/dataset', but the function will fail, if the group does not yet exist.
dims
The dimensions of the array as they will appear in the file. Note, the dimensions will appear in inverted order when viewing the file with a C-programm (e.g. HDFView), because the fastest changing dimension in R is the first one, whereas the fastest changing dimension in C is the last one.
maxdims
The maximum extension of the array.
storage.mode
The storage mode of the data to be written. Can be obtained by storage.mode(mydata).
H5type
Advanced programmers can specify the datatype of the dataset within the file. See h5const("H5T") for a list of available datatypes. If H5type is specified the argument storage.mode is ignored. It is recommended to use storage.mode
size
For storage.mode='character' the maximum string length has to be specified. HDF5 then stores the string as fixed length character vectors. Together with compression, this should be efficient.
chunk
The chunk size used to store the dataset. It is an integer vector of the same length as dims. This argument is usually set together with a compression property (argument level).
level
The compression level used. An integer value between 0 (no compression) and 9 (highest and slowest compression).
fillValue
Standard value for filling the dataset. The storage.mode of value has to be convertable to the dataset type by HDF5.
showWarnings
If TRUE (default), a warning is given if the chunk size is equal to the dataset dimension for large compressed datasets.

Value

Details

Creates a new dataset. in an existing HDF5 file. The function will fail, if the file doesn't exist or if there exists already another dataset with the same name within the specified file.

References

http://www.hdfgroup.org/HDF5

See Also

h5createFile, h5createGroup, h5read, h5write, rhdf5

Examples

Run this code
h5createFile("ex_createDataset.h5")

# create dataset with compression
h5createDataset("ex_createDataset.h5", "A", c(5,8), storage.mode = "integer", chunk=c(5,1), level=7)

# create dataset without compression
h5createDataset("ex_createDataset.h5", "B", c(5,8), storage.mode = "integer")
h5createDataset("ex_createDataset.h5", "C", c(5,8), storage.mode = "double")

# write data to dataset
h5write(matrix(1:40,nr=5,nc=8), file="ex_createDataset.h5", name="A")
# write second column
h5write(matrix(1:5,nr=5,nc=1), file="ex_createDataset.h5", name="B", index=list(NULL,2))

h5dump("ex_createDataset.h5")

Run the code above in your browser using DataLab