Description Usage Arguments Details Reading and Writing Files Show File Contents Extract/List File Contents See Also Examples
*H5File* objects are are the main entry point to access HDF5 data from binary files. The *H5File* S4 class directly maps https://www.hdfgroup.org/HDF5/doc/cpplus_RM/class_h5_1_1_h5_file.html objects from the C++ API to R. Through the implemented class hierarchy it shares common functionality with *H5Group*.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
name |
character; File path pointing to H5File. |
mode |
mode used for file
The following modes are supported by
|
.Object |
H5File; S4 object of class |
HDF5 files can be opened or generated using the h5file() function and
a specified file access mode. h5file() returns a H5File object
which can be used to access H5Groups and DataSets
using subsetting parameters or according class methods.
HDF5 files which have been created or opened through h5file() need
to be closed afterwards using h5close().
h5flush() can be used to flush unwritten data to an HDF5 file.
HDF5 Files can contain the following objects:
Similar to a file system folder, used to organize HDF5 objects in a hierarchical way.
Objects to store actual data.
Meta data objects to store extra informatino about Files, Groups and Datasets.
HDF5 files can be created and accessed using h5file():
file <- h5file(name = "test.h5", mode = "a")
The following access-modes are defined:
| Mode | Description |
| a | Read/write if exists, create otherwise (default). |
| r | Read only, file must exist. |
| r+ | Read/write, file must exist. |
| w | Create file, truncate if exists. |
| w- | Create file, fail if exists. |
HDF5 objects stored in a file are shown with the following symbols:
| Mode | Description |
| + | HDF5 Group. |
| D | HDF5 Dataset. |
| A | HDF5 Attribute. |
The following functions are defined to extract HDF5 file contents:
List HDF5 groups in file.
List HDF5 datasets in file.
List Attributes of HDF5 object (file, group or dataset).
CommonFG CommonFG-Group
CommonFG-DataSet H5Location-Attribute
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # The following examples generates a HDF5 file with the different HDF5
# Objects and shows its contents:
file <- h5file(name = "test1.h5", mode = "a")
file["testdataset"] <- 1:10
h5attr(file, "testattrib") <- LETTERS[1:10]
file["testgroup/testdataset2"] <- 1:10
file
# Close file and delete
h5close(file)
if(file.exists("test.h5")) file.remove("test.h5")
# The following example shows hdf5 file contents and how to use them to iterate over HDF5 elements:
file <- h5file(name = "test2.h5", mode = "a")
file["testgroup1/testset1"] <- 1:10
file["testgroup2/testset2"] <- 11:20
file["testgroup3/testset3"] <- 21:30
# Extract first 3 elements from each dataset and combine result to matrix
sapply(list.datasets(file, recursive = TRUE), function(x) file[x][1:3])
# Add new dataset to each group in HDF5 file
for(g in list.groups(file)) {
file[paste(g, "testsetx", collapse = "/")] <- 1:10
}
list.datasets(file, recursive = TRUE)
# Close file
h5close(file)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.