Package 'hdf5r'

Title: Interface to the 'HDF5' Binary Data Format
Description: 'HDF5' is a data model, library and file format for storing and managing large amounts of data. This package provides a nearly feature complete, object oriented wrapper for the 'HDF5' API <https://support.hdfgroup.org/documentation/hdf5/latest/_r_m.html> using R6 classes. Additionally, functionality is added so that 'HDF5' objects behave very similar to their corresponding R counterparts.
Authors: Holger Hoefling [aut, cre], Mario Annau [aut], Zhengjia Wang [ctb], Novartis Institute for BioMedical Research (NIBR) [cph]
Maintainer: Holger Hoefling <[email protected]>
License: Apache License 2.0 | file LICENSE
Version: 1.3.14
Built: 2026-09-21 07:07:12 UTC
Source: https://github.com/dipterix/hdf5r

Help Index


Retrieving a copy of a type

Description

Retrieving a copy of a type

Usage

## S3 method for class 'types_env'
x$name

## S3 method for class 'types_env'
x[[name]]

Arguments

x

The environment to request it from

name

The name of the type that is requested

Details

The types are stored in the environment h5types. These types should not be accessed directly. Therefor, the $-operator is overloaded to ensure that every type that is accessed is a copy of the original type

Value

Returns an object that is a copy of a type that was requested

Author(s)

Holger Hoefling


Convert a double or integer to hex

Description

Convert a double or integer to hex

Usage

as_hex(x)

Arguments

x

The integer or double vector to convert

Details

Converts a double or integer to hex. Contrary to the built-in format, this is done without any conversion of integers in double-format to integers in integer format.

Value

Character string with the hex value

Author(s)

Holger Hoefling


Create an empty R-object according to a given HDF5 datatype

Description

Create an empty R-object according to a given HDF5 datatype

Usage

create_empty(nelem, dtype)

Arguments

nelem

The number of elements to use for the object

dtype

The datatype based on which an empty R-object should be created

Details

With complex datatypes it can be useful to have a template that can be used so that the data input into a dataset conforms to expectations.

Given a datatype, this function creates an object of length nelem. Here, an empty datatype refers to objects with value 0 for numeric objects and empty strings.

Value

An empty R object corresponding to the datatype that was passed in

Author(s)

Holger Hoefling


Create an extended factor

Description

Create an extended factor

Usage

factor_ext(x, values, levels, drop = FALSE)

Arguments

x

The object to convert to an factor_ext

values

The values used for the levels; This is were factor_ext is different from a factor, as values for levels do not have to be consecutive or start at 1.

levels

The levels of the object; character string

drop

Should non-occurring levels be dropped

Details

An extended version of a regular factor variable. Instead of the levels having values from 1 to n where n is the number of levels, any integer value can be used for any level (including 64bit integers). If all values are in the range of a regular 32-bit integer, it is coerced to int. Automatic coercion of extended factors to factors in H5ToR_Post for enums only works for 32-bit integer base types. In this page this is heavily used, as constants in HDF5 can be arbitrary integer values.

Value

An object of S3 class factor_ext

Author(s)

Holger Hoefling


Various functions for factor_ext objects

Description

Various functions for factor_ext objects

Usage

values(x, ...)

## S3 method for class 'factor_ext'
values(x, ...)

## S3 method for class 'factor'
values(x, ...)

## Default S3 method:
values(x, ...)

## S3 method for class 'factor_ext'
as.character(x, ...)

## S3 method for class 'factor_ext'
x[[...]]

## S3 replacement method for class 'factor_ext'
x[[...]] <- value

## S3 method for class 'factor_ext'
x[..., drop = FALSE]

## S3 replacement method for class 'factor_ext'
x[...] <- value

is.factor_ext(x)

coercible_to_factor(x)

coerce_to_factor(x)

## S3 method for class 'factor_ext'
print(x, quote = FALSE, max.levels = NULL, width = getOption("width"), ...)

## S3 method for class 'factor_ext'
e1 == e2

## S3 method for class 'factor_ext'
e1 != e2

## S3 method for class 'factor_ext'
c(...)

Arguments

x

Object of type factor_ext

...

Currently ignored

value

The object to assign; here has be a level of factor_ext

drop

Should dimensions of size 1 be dropped?

quote

logical, indicating whether or not strings should be printed with surrounding quotes.

max.levels

integer, indicating how many levels should be printed. if '0', no extra "Levels" line will be printed. The default, 'NULL', entails choosing 'max.levels' such that the levels print on one line of width 'width' (same for values).

width

only used when max.levels is NULL (see above)

e1, e2

The two objects in the equality or inequality comparison.

Details

values

Extracts the underlying values of an object (the generic here)

values.factor_ext

Extracts the underlying values of a factor_ext object

values.factor

Extracts the underlying values of a factor

values.default

Default of the values function; currently returns an error

as.character

Coerces factor_ext to a character-representation using it levels, not values

[[.factor_ext

Single-item subsetting of a factor_ext object

[[<-.factor_ext

Single-item subset assignment to a factor_ext object

[.factor_ext

Subsetting of a factor_ext object

[<-.factor_ext

Subset assignment to a factor_ext object

is.factor_ext

Check if it is a factor_ext object. Returns a logical

coercible_to_factor

Checks if a factor_ext could be coerced to a factor. Return a logical.

coerce_to_factor

Coerces to a factor, otherwise throws an error if not possible.

print.factor_ext

Prints a factor_ext object.

==.factor_ext

Compare two factor_ext for equality.

!=.factor_ext

Compare two factor_ext for inequality.

c.factor_ext

Concatenate objects of type factor_ext.

Value

Depending on the function

Author(s)

Holger Hoefling


Flatten a nested data.frame

Description

Flatten a nested data.frame

Usage

flatten_df(df, factor_ext_to_char = FALSE)

Arguments

df

The data.frame to flatten

factor_ext_to_char

Should extended factor variables be converted to characters (mainly for easy printing)

Details

HDF5 Compounds allow for nesting. Correspondingly, nested data.frames are being produced. This function flattens such a nested data.frame.

For easier printing to the screen, it also allows for coercion of factor_ext to character variables.

Value

A flattened data.frame

Author(s)

Holger Hoefling


Guess the dimension of a chunk

Description

Guess the dimension of a chunk

Usage

guess_chunks(
  space_maxdims,
  dtype_size,
  chunk_size = getOption("hdf5r.chunk_size")
)

Arguments

space_maxdims

Maximal dimensions of the dataset

dtype_size

Size of the datatype that is stored

chunk_size

Size of each chunk in bytes

Details

The size of the chunk in bytes is first divided by the size of the datatype, giving the number of elements to be stored in each chunk. This is taken as a rough guideline. Then, the number of dimensions of the dataset is used. By default, the chunk is assumed to have the same size in each dimension, yielding an initial guess.

If the resulting chunk is larger than the entire dataset for a maximal dimension, this dimension of the chunk is reduced and redistributed to the other dimensions.

As a chunk is never allowed to be larger than the maximum dimension of the dataset itself,

Value

An integer vector giving the dimension of the chunk

Author(s)

Holger Hoefling


Guess the HDF5 datatype of an R object

Description

Guess the HDF5 datatype of an R object

Usage

guess_nelem(x, dtype)

guess_dim(x)

guess_dtype(
  x,
  ds_dim = NULL,
  scalar = FALSE,
  string_len = getOption("hdf5r.default_string_len")
)

Arguments

x

The object for which to guess the HDF5 datatype or the dimension or the number of elements

dtype

datatype; used in guessing the number of dataset elements of an r object

ds_dim

Can explicitly set the dimension of the dataset object. For scalar, this is one. Otherwise, this can be used so that a multi-dimensional object can be represented so that some of its dimension are in the dataset, and some are inside an H5T_ARRAY

scalar

Should the datatype be created so that x can be represented as a scalar with that datatype? This is intended to know if a vector/array should be represented as an H5T_ARRAY or not.

string_len

If a string is in the R object, the length to which the corresponding HDF5 type should be set. If it is a positive integer, the string is of that length. If it is Inf, it is variable length. If it is set to estimate, it is set to the length of the longest string in the x.

Details

Given an object, it creates a datatype in HDF5 that would match this object. For simple datasets like arrays, this function is not so useful, but is very good for creating dataframes or hierarchical objects (like lists of dataframes) etc.

Value

An object of class H5T that represents the HDF5-type of the Robj that was passed in

Author(s)

Holger Hoefling


Guess the dataspace of an object

Description

Guess the dataspace of an object

Usage

guess_space(x, dtype, chunked = TRUE)

Arguments

x

The R object for which to guess the space

dtype

Object of type H5T, that represents that datatype to use.

chunked

Is the datatype chunked? If yes, maxdims of the space will be set to infinity, otherwise maxdims will be set to the original extent of the space.

Details

Creates a dataspace that fits an R object so that it can be written into a dataset. This is used for example in dataset creation based on an R-object, not a specifically defined dimensions.

Value

An object of type H5S

Author(s)

Holger Hoefling


Wrapper functions to provide an h5 compatible interface.

Description

The functions listed below provide a wrapper-interface compatible to functions specified in the h5 package. The author(s) have decided to deprecate h5 and join forces and still make the transition for h5 users as smooth as possible. Additionally, almost all testcases could be transferred to hdf5r to improve test coverage even more.

Usage

h5file(...)

createGroup(object, name, ...)

openLocation(object, name)

openGroup(object, name)

createDataSet(object, name, ...)

readDataSet(object)

h5close(object)

h5flush(object)

existsGroup(object, name)

is.h5file(name)

extendDataSet(object, dims)

## S3 method for class 'H5D'
rbind(x, mat, ..., deparse.level = 1)

## S3 method for class 'H5D'
cbind(x, mat, ..., deparse.level = 1)

## S3 method for class 'H5D'
c(x, ...)

h5unlink(object, name)

list.attributes(object)

Arguments

...

Additional parameters passed to create_group or h5file.

object

CommonFG; Object implementing the CommonFG Interface (e.g. H5File, H5Group).

name

Name of the group to create.

dims

numeric; Dimension vector to which dataset should be extended.

x

An object of class H5D; the dataset to add rows or columns to; Needs to be a matrix

mat

The matrix to add to x

deparse.level

Set to 1; ignored otherwise; only present as required by generic

Details

Below you can find a list of all h5 functions including hdf5r mappings.

h5file

Directly maps to H5File$new, see also H5File.

createGroup

Maps to object$create_group where object implements CommonFG.

openLocation

Uses object$open where object implements CommonFG.

createDataSet

Maps to object$create_dataset where object implements CommonFG.

readDataSet

Maps to object$read, see also H5D.

h5close

Maps to object$close_all for H5File and object$close for other.

h5flush

Maps to object$flush where object implements CommonFGDTA.

The following interfaces are defined:

CommonFG

Implemented by objects of class H5File and H5Group.

CommonFGDTA

Implemented by objects of class H5File, H5Group, H5D, H5T and H5A.

References

Mario Annau (2017). h5: Interface to the 'HDF5' Library. R package version 0.9.9. https://github.com/mannau/h5


Class for representing HDF5 attributes

Description

This class represents an HDF5 attribute. Usually it is easier to read and write attributes for groups, datasets and committed datatypes using the functions documented in h5attributes.

Otherwise, the functionality for attributes is very similar to that of datasets (H5D), however with the notable exception that attributes always have to be read and written as a whole.

Value

Object of class H5A.

Super class

H5RefClass -> H5A

Methods

Public methods

Inherited methods

H5A$flush()

This function implements the HDF5-API function H5Fflush. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5A$flush(scope = h5const$H5F_SCOPE_GLOBAL)
Arguments
scope

The scope of the flush; one of the H5F_SCOPE_* values in h5const.


H5A$get_filename()

This function implements the HDF5-API function H5Fget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5A$get_filename()

H5A$get_info()

This function implements the HDF5-API function H5Aget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5A$get_info()

H5A$attr_name()

This function implements the HDF5-API function H5Aget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5A$attr_name()

H5A$get_space()

This function implements the HDF5-API function H5Aget_space. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5A$get_space()

H5A$get_type()

This function implements the HDF5-API function H5Aget_type. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5A$get_type(native = TRUE)
Arguments
native

Logical; should the native version of the datatype be returned.


H5A$get_storage_size()

This function implements the HDF5-API function H5Aget_storage_size. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5A$get_storage_size()

H5A$read_low_level()

Only for advanced users. See documentation for read instead. This function implements the HDF5-API function H5Aread. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5A$read_low_level(buffer, mem_type, duplicate_buffer = FALSE)
Arguments
buffer

The raw buffer to read into or write from.

mem_type

The memory datatype to use for the transfer; an object of class H5T.

duplicate_buffer

Logical; should the buffer be copied before it is returned.


H5A$read()

Reads the data of the attribute and returns it as an R-object

Usage
H5A$read(flags = getOption("hdf5r.h5tor_default"), drop = TRUE)
Arguments
flags

Conversion rules for integer values. See also h5const

drop

Logical. Should dimensions of length 1 be dropped (R-default for arrays)


H5A$write_low_level()

Only for advanced users. See documentation for write instead. This function implements the HDF5-API function H5Awrite. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5A$write_low_level(buffer, mem_type)
Arguments
buffer

The raw buffer to read into or write from.

mem_type

The memory datatype to use for the transfer; an object of class H5T.


H5A$write()

Writes the data of robj to the attribute

Usage
H5A$write(robj, mem_type = NULL, flush = getOption("hdf5r.flush_on_write"))
Arguments
robj

The object to write into the attribute

mem_type

The memory data type to use when transferring from HDF5 to intermediate storage. This is an advanced development feature and may be removed in the future.

flush

Logical; should the file be flushed after the write.


H5A$print()

Prints information for the dataset

Usage
H5A$print(...)
Arguments
...

ignored

Author(s)

Holger Hoefling

Examples

fname <- tempfile(fileext = ".h5")
file <- H5File$new(fname, mode = "a")
h5attr(file, "attr_numeric") <- rnorm(10)
a <- file$attr_open("attr_numeric")
a$get_info()
a$attr_name()
a$get_space()
a$get_type()
a$get_storage_size()
a$read()
a$write(10:1)
a$print()
a$close()
file$close_all()

Interface for HDF5 attributes

Description

Interface for HDF5 attributes

Usage

h5attributes(x)

h5attr_names(x)

h5attr(x, which)

h5attr(x, which) <- value

Arguments

x

The object to which to attach the attribute to or retrieve it from. Can be one of H5Group, H5D, H5T or H5File

which

The name of the attribute to assign it to

value

The value to assign to the attribute.

Details

Implements high-level functions that allows interactions with HDF5-attributes in a way very similar to regular R-object attributes in R are handled.

Value

For h5attributes, a named list with the content of the attributes read out. For h5attr_names, a vector of names of the attributes attached to the object x. For h5attr, the content of the attribute and for h5attr<-, the assignment, the original object to which the attributes are attached (so that chaining is possible).

Author(s)

Holger Hoefling


All constants used in HDF5

Description

These are all constants used in HDF5. They are stored in an environment with locked bindings so that they cannot be changed. An overview of all constants can be seen with h5const$overview, listing all of them. Each constant can be accessed using $ and the name of the constant. See the examples below.

Details

There are also some flags that govern edge cases of conversion from HDF5 to R. This is related to how integers are being treated and the issue of R not being able to natively represent 64bit integers and not at all being able to represent unsigned 64bit integers (even using add-on packages). The constants all start with the term H5TOR. There are currently possible values

H5TOR_CONV_NONE

Doesn't do any conversion. Every integer datatype with more than 32 bit is returned as 64bit integers. For unsigned 64bit integers, the conversion to signed 64bit integers is done by truncation

H5TOR_CONV_INT64_INT_NOLOSS

Under this setting, whenever a 64 bit integer would be returned, it is checked if it would also fit into a 32 bit integer without data loss and returned as such if possible

H5TOR_CONV_INT64_FLOAT_NOLOSS

Under this setting, whenever a 64 bit integer would be returned, it is checked if it would also fit into a 64 bit floating point value without data loss and returned as such if possible

H5TOR_CONV_INT64_NOLOSS

Combines H5TOR_CONV_INT64_INT_NOLOSS and H5TOR_CONV_INT64_FLOAT_NOLOSS and is set as the default in the hdf5r.h5tor_default option.

H5TOR_CONV_INT64_FLOAT_FORCE

Under this setting, whenever a 64 bit integer would be returned, it is coerced to a double even if this results in a loss of precision. If a loss of precision occurs, a warning is issued. Please note that this also overrides the use of H5TOR_CONV_UNIT64_NA. As loss of precision is already accepted, UINT64-values that are larger than LLONG_MAX will be represented as their next possible floating point value.

H5TOR_CONV_UINT64_NA

When converting an unsigned 64bit integer, any values that don't fit into a signed 64bit integer are set to NA. If this flag is not set, then the values will be truncated to LLONG_MAX, the largest 64bit signed integer.

H5TOR_CONV_DEFAULT

Is both H5TOR_CONV_INT64_INT and H5TOR_CONV_UNIT64_FLOAT

Author(s)

Holger Hoefling

Examples

h5const$overview
h5const$H5F_ACC_RDWR
h5const$H5F_ACC_DEFAULT
# Combining flags
bitwOr(h5const$H5TOR_CONV_UINT64_NA, h5const$H5TOR_CONV_INT64_INT_NOLOSS)

Class for representing HDF5 datasets

Description

In HDF5, datasets can be located in a group (see H5Group) or at the root of a file (see H5File). They can be created either with a pre-existing R-object (arrays as well as data.frames are supported, but not lists or other complex objects), or by specifying an explicit datatype (for available datatypes see h5types$overview as well as the dimension. In addition, other features are supported such as transparent compression (for which a chunk-size can be selected).

In order to create a dataset, the create_dataset methods of either H5Group or H5File should be used. Please see the documentation there for how to create them.

The most important parts of a dataset are the

Space

The space of the dataset. It describes the dimension of the dataset as well as the maximum dimensions. Can be obtained using the get_space of the H5S object.

Datatype

The datatypes that is being used in the dataset. Can be obtained using the get_type method. See H5T to get more information about using datatypes.

In order to read and write datasets, the read and write methods are available. In addition, the standard way of using [ to access arrays is supported as well (see H5S_H5D_subset_assign for more help).

Other information/action of possible interest are

Storage size

The size of the dataset can be extracted using get_storage_size

Size change

The size of the dataset can be changed using the set_extent method

Please also note the active methods

dims

Dimension of the dataset

maxdims

Maximum dimensions of the dataset

chunk_dims

Dimension of the chunks

key_info

Returns the space, type, property-list and dimensions

Value

Object of class H5D.

Super class

H5RefClass -> H5D

Active bindings

dims

Get the dimension of the dataset

maxdims

Get the maximal dimension of the dataset

chunk_dims

Return the dimension of the chunks. NA if the dataset is not chunked

key_info

Returns the key types as a list, consisting of type, space, dataset_create_pl, type_size_raw, type_size_variable, dims and chunk_dims. type_size_raw versus variable differs for variable length types, which return Inf for type_size_variable and the underlying size for type_size_raw

Methods

Public methods

Inherited methods

H5D$get_obj_name()

This function implements the HDF5-API function H5Iget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5D$get_obj_name()

H5D$create_attr()

This function implements the HDF5-API function H5Acreate2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$create_attr(attr_name, robj = NULL, dtype = NULL, space = NULL)
Arguments
attr_name

The name of the attribute.

robj

An R object to use as a template for the datatype and dataspace.

dtype

The datatype to use; an object of class H5T.

space

The dataspace to use; an object of class H5S.


H5D$attr_open()

This function implements the HDF5-API function H5Aopen. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_open(attr_name)
Arguments
attr_name

The name of the attribute.


H5D$create_attr_by_name()

This function implements the HDF5-API function H5Acreate_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$create_attr_by_name(
  attr_name,
  obj_name,
  robj = NULL,
  dtype = NULL,
  space = NULL,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

robj

An R object to use as a template for the datatype and dataspace.

dtype

The datatype to use; an object of class H5T.

space

The dataspace to use; an object of class H5S.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_open_by_name()

This function implements the HDF5-API function H5Aopen_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_open_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_open_by_idx()

This function implements the HDF5-API function H5Aopen_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_open_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_exists_by_name()

This function implements the HDF5-API function H5Aexists_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_exists_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_exists()

This function implements the HDF5-API function H5Aexists. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_exists(attr_name)
Arguments
attr_name

The name of the attribute.


H5D$attr_rename_by_name()

This function implements the HDF5-API function H5Arename_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_rename_by_name(
  old_attr_name,
  new_attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
old_attr_name

The current name of the attribute.

new_attr_name

The new name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_rename()

This function implements the HDF5-API function H5Arename. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_rename(old_attr_name, new_attr_name)
Arguments
old_attr_name

The current name of the attribute.

new_attr_name

The new name of the attribute.


H5D$attr_delete()

This function implements the HDF5-API function H5Adelete. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_delete(attr_name)
Arguments
attr_name

The name of the attribute.


H5D$attr_delete_by_name()

This function implements the HDF5-API function H5Adelete_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_delete_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_delete_by_idx()

This function implements the HDF5-API function H5Adelete_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_delete_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_info_by_name()

This function implements the HDF5-API function H5Aget_info_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_info_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_info_by_idx()

This function implements the HDF5-API function H5Aget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_info_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_name_by_idx()

This function implements the HDF5-API function H5Aget_name_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_name_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5D$attr_get_number()

This function implements the HDF5-API function H5Aget_num_attrs. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5D$attr_get_number()

H5D$flush()

This function implements the HDF5-API function H5Fflush. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5D$flush(scope = h5const$H5F_SCOPE_GLOBAL)
Arguments
scope

The scope of the flush; one of the H5F_SCOPE_* values in h5const.


H5D$get_filename()

This function implements the HDF5-API function H5Fget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5D$get_filename()

H5D$new()

Initializes a new dataset-object. Only for internal use. Use the create_dataset function for H5Group and H5File objects

Usage
H5D$new(id = NULL)
Arguments
id

For internal use only


H5D$get_space()

This function implements the HDF5-API function H5Dget_space. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$get_space()

H5D$get_space_status()

This function implements the HDF5-API function H5Dget_space_status. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$get_space_status()

H5D$get_type()

This function implements the HDF5-API function H5Dget_type. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$get_type(native = TRUE)
Arguments
native

Logical; should the native version of the datatype be returned.


H5D$get_create_plist()

This function implements the HDF5-API function H5Dget_create_plist. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$get_create_plist()

H5D$get_access_plist()

This function implements the HDF5-API function H5Dget_access_plist. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$get_access_plist()

H5D$get_offset()

This function implements the HDF5-API function H5Dget_offset. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$get_offset()

H5D$get_storage_size()

This function implements the HDF5-API function H5Dget_storage_size. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$get_storage_size()

H5D$vlen_get_buf_size()

This function implements the HDF5-API function H5Dvlen_get_buf_size. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$vlen_get_buf_size(type, space)
Arguments
type

The type to use. For a dataspace one of "simple", "scalar" or "null"; otherwise an object of class H5T.

space

The dataspace to use; an object of class H5S.


H5D$vlen_reclaim()

This function implements the HDF5-API function H5Dvlen_reclaim. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$vlen_reclaim(buffer, type, space, dataset_xfer_pl = h5const$H5P_DEFAULT)
Arguments
buffer

The raw buffer to read into or write from.

type

The type to use. For a dataspace one of "simple", "scalar" or "null"; otherwise an object of class H5T.

space

The dataspace to use; an object of class H5S.

dataset_xfer_pl

The dataset transfer property list. See H5P_DATASET_XFER.


H5D$read_low_level()

This function is for advanced users. It is recommended to use read instead or the [ interface. This function implements the HDF5-API function H5Dread, with minor changes to the API to accommodate R. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details. It reads the data in the dataset as specified by mem_space and return it as an R-obj

Usage
H5D$read_low_level(
  file_space = h5const$H5S_ALL,
  mem_space = NULL,
  mem_type = NULL,
  dataset_xfer_pl = h5const$H5P_DEFAULT,
  flags = getOption("hdf5r.h5tor_default"),
  set_dim = FALSE,
  dim_to_set = NULL,
  drop = TRUE
)
Arguments
file_space

An HDF5-space, represented as class H5S that determines which part of the dataset is being read. Can also be given as an id

mem_space

The space as it is represented in memory; advanced feature; may be removed in the future. Can also be given as an id.

mem_type

Memory type; extracted from the dataset if null (can be passed in for efficiency reasons Can also be given as an id.

dataset_xfer_pl

Dataset transfer property list. See H5P_DATASET_XFER

flags

Conversion rules for integer values. See also h5const

set_dim

If TRUE, the dimension attribute is set in the return value. How it is set is determined by dim_to_set.

dim_to_set

The dimension to set; Has to be numeric and needs to be specified if set_dim is TRUE. If the result is a data.frame, i.e. the data-type is a compound, then the dimension is ignored as the correct dimension is already set.

drop

Logical. Should dimensions of length 1 be dropped (R-default for arrays)


H5D$read()

Main interface for reading data from the dataset. It is the function that is used by [, where all indices are being passed in the parameter args.

Usage
H5D$read(
  args = NULL,
  dataset_xfer_pl = h5const$H5P_DEFAULT,
  flags = getOption("hdf5r.h5tor_default"),
  drop = TRUE,
  envir = parent.frame()
)
Arguments
args

The indices for each dimension to subset given as a list. This makes this easier to use as a programmatic API. For interactive use we recommend the use of the [ operator. If set to NULL, the entire dataset will be read.

dataset_xfer_pl

An object of class H5P_DATASET_XFER.

flags

Some flags governing edge cases of conversion from HDF5 to R. This is related to how integers are being treated and the issue of R not being able to natively represent 64bit integers and not at all being able to represent unsigned 64bit integers (even using add-on packages). The constants governing this are part of h5const. The relevant ones start with the term H5TOR and are documented there. The default set here returns a regular 32bit integer if it doesn't lead to an overflow and returns a 64bit integer from the bit64 package otherwise. For 64bit unsigned int that are larger than 64bit signed int, it return a double. This looses precision, however.

drop

Logical. When reading data, should dimensions of size 1 be dropped.

envir

The environment in which to evaluate args

Returns

The data that was read as an R object


H5D$write_low_level()

This function is for advanced users. It is recommended to use read instead or the [<- interface as used for arrays. This function implements the HDF5-API function H5Dwrite, with some changes to accommodate R. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details. It writes that data from the robj into the dataset.

Usage
H5D$write_low_level(
  robj,
  file_space = h5const$H5S_ALL,
  mem_space = NULL,
  mem_type = NULL,
  dataset_xfer_pl = h5const$H5P_DEFAULT,
  flush = getOption("hdf5r.flush_on_write")
)
Arguments
robj

The object to write into the dataset

file_space

An HDF5-space, represented as class H5S that determines which part of the dataset is being written.

mem_space

The space as it is represented in memory; advanced feature; may be removed in the future

mem_type

Memory type; extracted from the dataset if null (can be passed in for efficiency reasons

dataset_xfer_pl

Dataset transfer property list. See H5P_DATASET_XFER

flush

Should a flush be done after the write


H5D$write()

Main interface for writing data to the dataset. It is the function that is used by [<-, where all indices are being passed in the parameter args.

Usage
H5D$write(
  args,
  value,
  dataset_xfer_pl = h5const$H5P_DEFAULT,
  envir = parent.frame()
)
Arguments
args

The indices for each dimension to subset given as a list. This makes this easier to use as a programmatic API. For interactive use we recommend the use of the [ operator. If set to NULL, the entire dataset will be read.

value

The data to write to the dataset

dataset_xfer_pl

An object of class H5P_DATASET_XFER.

envir

The environment in which to evaluate args

Returns

The HDF5 dataset object, returned invisibly


H5D$set_extent()

This function implements the HDF5-API function H5Dset_extent. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for details.

Usage
H5D$set_extent(dims)
Arguments
dims

The dimensions of the object.


H5D$get_fill_value()

This function implements the HDF5-API function H5Pget_fill_value, automatically supplying the datatype of the dataset for convenience. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5D$get_fill_value()

H5D$create_reference()

This function implements the HDF5-API function H5Rcreate. The parameters are interpreted as in '['. The function always create H5R_DATASET_REGION references Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_r.html for details.

Usage
H5D$create_reference(...)
Arguments
...

Further arguments; currently ignored.


H5D$print()

Prints information for the dataset

Usage
H5D$print(..., max.attributes = 10)
Arguments
...

ignored

max.attributes

Maximum number of attribute names to print


H5D$obj_info()

This function implements the HDF5-API function H5Oget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5D$obj_info(remove_internal_use_only = TRUE)
Arguments
remove_internal_use_only

Logical; should fields that are only of internal use be dropped from the result.

Author(s)

Holger Hoefling

Examples

# First create a file to create datasets in it
fname <- tempfile(fileext = ".h5")
file <- H5File$new(fname, mode = "a")

# Show the 3 different ways how to create a dataset
file[["directly"]] <- matrix(1:10, ncol=2)
file$create_dataset("from_robj", matrix(1:10, ncol=2))
dset <- file$create_dataset("basic", dtype=h5types$H5T_NATIVE_INT,
             space=H5S$new("simple", dims=c(5, 2), maxdims=c(10,2)), chunk_dims=c(5,2))

# Different ways of reading the dataset
dset$read(args=list(1:5, 1))
dset$read(args=list(1:5, quote(expr=)))
dset$read(args=list(1:5, NULL))
dset[1:5, 1]
dset[1:5, ]
dset[1:5, NULL]

# Writing to the dataset
dset$write(args=list(1:3, 1:2), value=11:16)
dset[4:5, 1:2] <- -(1:4)
dset[,]

# Extract key information
dset$dims
dset$maxdims
dset$chunk_dims
dset$key_info
dset

file$close_all()
file.remove(fname)

Class for interacting with HDF5 files.

Description

H5File objects are are the main entry point to access HDF5 data from binary files. This class represents an open HDF5 File-id. It inherits all functions of the H5RefClass.

HDF5 files can be opened or generated using the H5File$new() function and a specified file access mode. H5File$new() returns a H5File object which can be used to access H5Groups and Datasets (see H5D) using subsetting parameters or according class methods.

HDF5 files which have been created or opened through H5File$new() need to be closed afterwards using $close_all(). $close_all() not only closes the file itself, but also all objects that are still open inside it (such as groups or datasets). $flush() can be used to flush unwritten data to an HDF5 file.

HDF5 Files typically contain the following objects:

Groups

Similar to a file system folder, used to organize HDF5 objects in a hierarchical way, see also H5Group

Datasets

Objects to store actual data, see also H5D

Attributes

Meta data objects to store extra information about Files, Groups and Datasets, see also H5A

Value

Object of class H5File.

Extract/List File Contents

The following functions are defined to extract HDF5 file contents:

list.groups

List HDF5 groups in file.

list.datasets

List HDF5 datasets in file.

names

List all items in a file or group (applicable for H5File and H5Group)

list.attributes

List Attributes of HDF5 object (file, group or dataset).

h5attr_names

Attribute names of an HDF5 object; similar to list.attributes

Super class

H5RefClass -> H5File

Public fields

mode

The mode the file was opened with.

filename

The name of the file on disk.

Active bindings

names

Returns the names of the items in the group or at the root of the file

Methods

Public methods

Inherited methods

H5File$open()

Opens groups, datasets or types using the appropriate HDF5-API functions. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for datasets, https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for types and https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for general objects.

Usage
H5File$open(
  name,
  link_access_pl = h5const$H5P_DEFAULT,
  dataset_access_pl = h5const$H5P_DEFAULT,
  type_access_pl = h5const$H5P_DEFAULT
)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.

dataset_access_pl

The dataset access property list. See H5P_DATASET_ACCESS.

type_access_pl

The datatype access property list.


H5File$open_by_idx()

This function implements the HDF5-API function H5Oopen_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5File$open_by_idx(
  n,
  group_name = ".",
  index_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$ls()

Returns the contents of a file or group as a data.frame.

Usage
H5File$ls(
  recursive = FALSE,
  detailed = FALSE,
  index_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_INC,
  link_access_pl = h5const$H5P_DEFAULT,
  dataset_access_pl = h5const$H5P_DEFAULT,
  type_access_pl = h5const$H5P_DEFAULT
)
Arguments
recursive

Logical; should the listing descend into subgroups.

detailed

Logical; should a more detailed listing be returned.

index_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.

dataset_access_pl

The dataset access property list. See H5P_DATASET_ACCESS.

type_access_pl

The datatype access property list.


H5File$exists()

This function implements the HDF5-API function H5Lexists. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$exists(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$path_valid()

This function implements the HDF5-API function H5LTpath_valid. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l_t.html for details.

Usage
H5File$path_valid(path, check_object_valid = TRUE)
Arguments
path

The path of the object inside the file.

check_object_valid

Logical; should the object be checked for validity first.


H5File$link()

This function implements the HDF5-API function H5Olink. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5File$link(
  obj,
  new_link_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
obj

The HDF5 object to use.

new_link_name

The new name of the link.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$obj_copy_to()

This function implements the HDF5-API function H5Ocopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5File$obj_copy_to(
  dst_loc,
  dst_name,
  src_name,
  object_copy_pl = h5const$H5P_DEFAULT,
  link_create_pl = h5const$H5P_DEFAULT
)
Arguments
dst_loc

The destination location; an object of class H5File or H5Group.

dst_name

The name of the destination object.

src_name

The name of the source object.

object_copy_pl

The object copy property list. See H5P_OBJECT_COPY.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.


H5File$obj_copy_from()

This function implements the HDF5-API function H5Ocopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5File$obj_copy_from(
  src_loc,
  src_name,
  dst_name,
  object_copy_pl = h5const$H5P_DEFAULT,
  link_create_pl = h5const$H5P_DEFAULT
)
Arguments
src_loc

The source location; an object of class H5File or H5Group.

src_name

The name of the source object.

dst_name

The name of the destination object.

object_copy_pl

The object copy property list. See H5P_OBJECT_COPY.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.


H5File$group_info()

This function implements the HDF5-API function H5Gget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for details.

Usage
H5File$group_info()

H5File$group_info_by_name()

This function implements the HDF5-API function H5Gget_info_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for details.

Usage
H5File$group_info_by_name(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$group_info_by_idx()

This function implements the HDF5-API function H5Gget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for details.

Usage
H5File$group_info_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$create_group()

This function implements the HDF5-API function H5Gcreate2 and H5Gcreate_anon (if name is NULL). Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for regular groups and https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for anonymous groups for details.

Usage
H5File$create_group(
  name,
  link_create_pl = h5const$H5P_DEFAULT,
  group_create_pl = h5const$H5P_DEFAULT,
  group_access_pl = h5const$H5P_DEFAULT
)
Arguments
name

The name of the object, relative to the object the method is called on.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

group_create_pl

The group creation property list.

group_access_pl

The group access property list.


H5File$create_dataset()

This function is the main interface to create a new dataset. Its parameters allow for customization of the default behavior, i.e. in order to get a specific datatype, a certain chunk size or dataset dimensionality. Also note that this function implements the HDF5-API function H5Dcreate2 and H5Dcreate_anon (if name is NULL). Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for regular groups and https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for anonymous groups for details.

Usage
H5File$create_dataset(
  name,
  robj = NULL,
  dtype = NULL,
  space = NULL,
  dims = NULL,
  chunk_dims = "auto",
  gzip_level = 4,
  link_create_pl = h5const$H5P_DEFAULT,
  dataset_create_pl = h5const$H5P_DEFAULT,
  dataset_access_pl = h5const$H5P_DEFAULT
)
Arguments
name

The name of the new dataset. If missing, an anonymous dataset is created

robj

An R-object to take as a template for creating the dataset. Either robj or both dtype and space have to be provided

dtype

The datatype to use for the creation of the object. Can be null if robj is given.

space

The space to use for the object creation. Can be null if robj is given. Otherwise an object of type H5S which specifies the dimensions of the dataset.

dims

Dimension of the new dataset; used if space is NULL. overwrite the dimension guessed from robj if robj is given.

chunk_dims

Size of the chunk. Has to have the same length as the dataset dimension. If "auto" then the size of each chunk is estimated so that each chunk is roughly as large in bytes as the value in the hdf5r.chunk_size option. See also guess_chunks for a more detailed explanation. If set to NULL, then no chunking is used, unless explicitly set in dataset_create_pl.

gzip_level

Only if chunk_dims is not null. If given, then the dataset_create_pl is set to enable zipping at the level given here. If set to NULL, then gzip is not set (but could be set otherwise in dataset_create_pl

link_create_pl

Link creation property list. See H5P_LINK_CREATE

dataset_create_pl

Dataset creation property list. See H5P_DATASET_CREATE

dataset_access_pl

Dataset access property list. See H5P_DATASET_ACCESS


H5File$commit()

This function implements the HDF5-API function H5Tcommit2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5File$commit(
  name,
  dtype,
  link_create_pl = h5const$H5P_DEFAULT,
  type_create_pl = h5const$H5P_DEFAULT,
  type_access_pl = h5const$H5P_DEFAULT
)
Arguments
name

The name of the object, relative to the object the method is called on.

dtype

The datatype to use; an object of class H5T.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

type_create_pl

The datatype creation property list.

type_access_pl

The datatype access property list.


H5File$link_create_hard()

This function implements the HDF5-API function H5Lcreate_hard. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_create_hard(
  obj_loc,
  obj_name,
  link_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
obj_loc

The location of the object; an object of class H5File or H5Group.

obj_name

The name of the object, relative to the object the method is called on.

link_name

The name of the link.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_create_soft()

This function implements the HDF5-API function H5Lcreate_soft. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_create_soft(
  target_path,
  link_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
target_path

The path of the target object.

link_name

The name of the link.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_create_external()

This function implements the HDF5-API function H5Lcreate_external. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_create_external(
  target_filename,
  target_obj_name,
  link_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
target_filename

The name of the file that holds the target object.

target_obj_name

The name of the target object.

link_name

The name of the link.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_exists()

This function implements the HDF5-API function H5Lexists. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_exists(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_move_from()

This function implements the HDF5-API function H5Lmove. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_move_from(
  src_loc,
  src_name,
  dst_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
src_loc

The source location; an object of class H5File or H5Group.

src_name

The name of the source object.

dst_name

The name of the destination object.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_move_to()

This function implements the HDF5-API function H5Lmove. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_move_to(
  dst_loc,
  dst_name,
  src_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
dst_loc

The destination location; an object of class H5File or H5Group.

dst_name

The name of the destination object.

src_name

The name of the source object.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_copy_from()

This function implements the HDF5-API function H5Lcopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_copy_from(
  src_loc,
  src_name,
  dst_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
src_loc

The source location; an object of class H5File or H5Group.

src_name

The name of the source object.

dst_name

The name of the destination object.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_copy_to()

This function implements the HDF5-API function H5Lcopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_copy_to(
  dst_loc,
  dst_name,
  src_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
dst_loc

The destination location; an object of class H5File or H5Group.

dst_name

The name of the destination object.

src_name

The name of the source object.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_delete()

This function implements the HDF5-API function H5Ldelete. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_delete(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_delete_by_idx()

This function implements the HDF5-API function H5Ldelete_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_delete_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_info()

This function implements the HDF5-API function H5Lget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_info(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_info_by_idx()

This function implements the HDF5-API function H5Lget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_info_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_value()

This function implements the HDF5-API function H5Lget_val. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_value(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_value_by_idx()

This function implements the HDF5-API function H5Lget_val_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_value_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$link_name_by_idx()

This function implements the HDF5-API function H5Lget_name_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5File$link_name_by_idx(
  n,
  group_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$mount()

This function implements the HDF5-API function H5Fmount. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5File$mount(name, child)
Arguments
name

The name of the object, relative to the object the method is called on.

child

The object to mount; an object of class H5File.


H5File$unmount()

This function implements the HDF5-API function H5Funmount. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5File$unmount(name)
Arguments
name

The name of the object, relative to the object the method is called on.


H5File$get_obj_name()

This function implements the HDF5-API function H5Iget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5File$get_obj_name()

H5File$create_attr()

This function implements the HDF5-API function H5Acreate2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$create_attr(attr_name, robj = NULL, dtype = NULL, space = NULL)
Arguments
attr_name

The name of the attribute.

robj

An R object to use as a template for the datatype and dataspace.

dtype

The datatype to use; an object of class H5T.

space

The dataspace to use; an object of class H5S.


H5File$attr_open()

This function implements the HDF5-API function H5Aopen. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_open(attr_name)
Arguments
attr_name

The name of the attribute.


H5File$create_attr_by_name()

This function implements the HDF5-API function H5Acreate_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$create_attr_by_name(
  attr_name,
  obj_name,
  robj = NULL,
  dtype = NULL,
  space = NULL,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

robj

An R object to use as a template for the datatype and dataspace.

dtype

The datatype to use; an object of class H5T.

space

The dataspace to use; an object of class H5S.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_open_by_name()

This function implements the HDF5-API function H5Aopen_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_open_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_open_by_idx()

This function implements the HDF5-API function H5Aopen_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_open_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_exists_by_name()

This function implements the HDF5-API function H5Aexists_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_exists_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_exists()

This function implements the HDF5-API function H5Aexists. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_exists(attr_name)
Arguments
attr_name

The name of the attribute.


H5File$attr_rename_by_name()

This function implements the HDF5-API function H5Arename_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_rename_by_name(
  old_attr_name,
  new_attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
old_attr_name

The current name of the attribute.

new_attr_name

The new name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_rename()

This function implements the HDF5-API function H5Arename. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_rename(old_attr_name, new_attr_name)
Arguments
old_attr_name

The current name of the attribute.

new_attr_name

The new name of the attribute.


H5File$attr_delete()

This function implements the HDF5-API function H5Adelete. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_delete(attr_name)
Arguments
attr_name

The name of the attribute.


H5File$attr_delete_by_name()

This function implements the HDF5-API function H5Adelete_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_delete_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_delete_by_idx()

This function implements the HDF5-API function H5Adelete_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_delete_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_info_by_name()

This function implements the HDF5-API function H5Aget_info_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_info_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_info_by_idx()

This function implements the HDF5-API function H5Aget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_info_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_name_by_idx()

This function implements the HDF5-API function H5Aget_name_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_name_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5File$attr_get_number()

This function implements the HDF5-API function H5Aget_num_attrs. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5File$attr_get_number()

H5File$create_reference()

This function implements the HDF5-API function H5Rcreate. If space=NULL then a H5R_OBJECT reference is created, otherwise a H5R_DATASET_REGION reference Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_r.html for details.

Usage
H5File$create_reference(name = ".", space = NULL)
Arguments
name

The name of the object, relative to the object the method is called on.

space

The dataspace to use; an object of class H5S.


H5File$flush()

This function implements the HDF5-API function H5Fflush. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5File$flush(scope = h5const$H5F_SCOPE_GLOBAL)
Arguments
scope

The scope of the flush; one of the H5F_SCOPE_* values in h5const.


H5File$get_filename()

This function implements the HDF5-API function H5Fget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5File$get_filename()

H5File$new()

Opens or creates a new HDF5 File

Usage
H5File$new(
  filename = NULL,
  mode = c("a", "r", "r+", "w", "w-", "x"),
  file_create_pl = h5const$H5P_DEFAULT,
  file_access_pl = h5const$H5P_DEFAULT,
  id = NULL
)
Arguments
filename

Name of the file

mode

How to open it. a creates a new file or opens an existing one for read/write. r opens an existing file for reading, r+ opens an existing file for read/write. w creates a file, truncating any existing ones and w-/x are synonyms, creating a file and failing if it already exists.

file_create_pl

The file creation property list. See H5P_FILE_CREATE.

file_access_pl

The file access property list. See H5P_FILE_ACCESS.

id

An HDF5 id; for internal use only.


H5File$get_obj_count()

This function implements the HDF5-API function H5Fget_obj_count. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5File$get_obj_count(types = h5const$H5F_OBJ_ALL)
Arguments
types

The types of object to count; one or more of the H5F_OBJ_* values in h5const.


H5File$get_obj_ids()

This function implements the HDF5-API function H5Fget_obj_ids. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5File$get_obj_ids(types = h5const$H5F_OBJ_ALL)
Arguments
types

The types of object to count; one or more of the H5F_OBJ_* values in h5const.


H5File$get_filesize()

This function implements the HDF5-API function H5Fget_filesize. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5File$get_filesize()

H5File$file_info()

This function implements the HDF5-API function H5Fget_info2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details. Please note that the returned information differs if HDF5 Version 1.8.16 or HDF5 Version >= 1.10.0 is being used

Usage
H5File$file_info()

H5File$get_intent()

This function implements the HDF5-API function H5Fget_intent. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5File$get_intent()

H5File$close_all()

Closes the file, flushes it and also closes all open objects that are still open in it. This is the recommended way of closing any file. If not all objects in a file are closed, the file remains open and cannot be re-opened the regular way.

Usage
H5File$close_all(close_self = TRUE)
Arguments
close_self

Logical; should the object itself be closed as well.


H5File$print()

Prints information for the file

Usage
H5File$print(..., max.attributes = 10, max.listing = 10)
Arguments
...

ignored

max.attributes

Maximum number of attribute names to print

max.listing

Maximum number of ls-items to print


H5File$obj_info_by_idx()

This function implements the HDF5-API function H5Oget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5File$obj_info_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  remove_internal_use_only = TRUE
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

remove_internal_use_only

Logical; should fields that are only of internal use be dropped from the result.


H5File$obj_info_by_name()

This function implements the HDF5-API function H5Oget_info_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5File$obj_info_by_name(object_name, remove_internal_use_only = TRUE)
Arguments
object_name

The name of the object, relative to the object the method is called on.

remove_internal_use_only

Logical; should fields that are only of internal use be dropped from the result.


H5File$obj_info()

This function implements the HDF5-API function H5Oget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5File$obj_info(remove_internal_use_only = TRUE)
Arguments
remove_internal_use_only

Logical; should fields that are only of internal use be dropped from the result.

Author(s)

Holger Hoefling, Mario Annau

See Also

h5file

Examples

# The following examples generates a HDF5 file with the different HDF5 
# Objects and shows its contents:
fname <- tempfile(fileext = ".h5")
file <- H5File$new(fname, mode = "a")
file[["testdataset"]] <- 1:10
h5attr(file, "testattrib") <- LETTERS[1:10]
file$create_group("testgroup")
file[["testgroup/testdataset2"]] <- 1:10
# Show contents of file
file
# Close file and delete
file$close_all()

# The following example shows hdf5 file contents and how to use them to iterate over HDF5 elements:
file <- h5file(fname, mode = "a")
sapply(c("testgroup1", "testgroup2", "testgroup3"), file$create_group)
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])
# Close file
file$close_all()
file.remove(fname)

Trigger the HDF5 garbage collection

Description

Trigger the HDF5 garbage collection

Usage

h5garbage_collect()

Details

This function triggers the HDF5 internal garbage collection. It is independent of the R garbage collection and currently has to be triggered by hand.

Value

Invisible NULL

Author(s)

Holger Hoefling


Class for representing HDF5 groups

Description

HDF5-Groups are essentially equivalent to directories in a file system. Inside the groups, other groups or datasets can be created. For the most parts, groups behave like files, so please also look at the documentation of H5File.

Value

Object of class H5Group.

Super class

H5RefClass -> H5Group

Active bindings

names

Returns the names of the items in the group or at the root of the file

Methods

Public methods

Inherited methods

H5Group$open()

Opens groups, datasets or types using the appropriate HDF5-API functions. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for datasets, https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for types and https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for general objects.

Usage
H5Group$open(
  name,
  link_access_pl = h5const$H5P_DEFAULT,
  dataset_access_pl = h5const$H5P_DEFAULT,
  type_access_pl = h5const$H5P_DEFAULT
)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.

dataset_access_pl

The dataset access property list. See H5P_DATASET_ACCESS.

type_access_pl

The datatype access property list.


H5Group$open_by_idx()

This function implements the HDF5-API function H5Oopen_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5Group$open_by_idx(
  n,
  group_name = ".",
  index_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$ls()

Returns the contents of a file or group as a data.frame.

Usage
H5Group$ls(
  recursive = FALSE,
  detailed = FALSE,
  index_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_INC,
  link_access_pl = h5const$H5P_DEFAULT,
  dataset_access_pl = h5const$H5P_DEFAULT,
  type_access_pl = h5const$H5P_DEFAULT
)
Arguments
recursive

Logical; should the listing descend into subgroups.

detailed

Logical; should a more detailed listing be returned.

index_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.

dataset_access_pl

The dataset access property list. See H5P_DATASET_ACCESS.

type_access_pl

The datatype access property list.


H5Group$exists()

This function implements the HDF5-API function H5Lexists. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$exists(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$path_valid()

This function implements the HDF5-API function H5LTpath_valid. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l_t.html for details.

Usage
H5Group$path_valid(path, check_object_valid = TRUE)
Arguments
path

The path of the object inside the file.

check_object_valid

Logical; should the object be checked for validity first.


H5Group$link()

This function implements the HDF5-API function H5Olink. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5Group$link(
  obj,
  new_link_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
obj

The HDF5 object to use.

new_link_name

The new name of the link.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$obj_copy_to()

This function implements the HDF5-API function H5Ocopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5Group$obj_copy_to(
  dst_loc,
  dst_name,
  src_name,
  object_copy_pl = h5const$H5P_DEFAULT,
  link_create_pl = h5const$H5P_DEFAULT
)
Arguments
dst_loc

The destination location; an object of class H5File or H5Group.

dst_name

The name of the destination object.

src_name

The name of the source object.

object_copy_pl

The object copy property list. See H5P_OBJECT_COPY.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.


H5Group$obj_copy_from()

This function implements the HDF5-API function H5Ocopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5Group$obj_copy_from(
  src_loc,
  src_name,
  dst_name,
  object_copy_pl = h5const$H5P_DEFAULT,
  link_create_pl = h5const$H5P_DEFAULT
)
Arguments
src_loc

The source location; an object of class H5File or H5Group.

src_name

The name of the source object.

dst_name

The name of the destination object.

object_copy_pl

The object copy property list. See H5P_OBJECT_COPY.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.


H5Group$group_info()

This function implements the HDF5-API function H5Gget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for details.

Usage
H5Group$group_info()

H5Group$group_info_by_name()

This function implements the HDF5-API function H5Gget_info_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for details.

Usage
H5Group$group_info_by_name(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$group_info_by_idx()

This function implements the HDF5-API function H5Gget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for details.

Usage
H5Group$group_info_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$create_group()

This function implements the HDF5-API function H5Gcreate2 and H5Gcreate_anon (if name is NULL). Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for regular groups and https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_g.html for anonymous groups for details.

Usage
H5Group$create_group(
  name,
  link_create_pl = h5const$H5P_DEFAULT,
  group_create_pl = h5const$H5P_DEFAULT,
  group_access_pl = h5const$H5P_DEFAULT
)
Arguments
name

The name of the object, relative to the object the method is called on.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

group_create_pl

The group creation property list.

group_access_pl

The group access property list.


H5Group$create_dataset()

This function is the main interface to create a new dataset. Its parameters allow for customization of the default behavior, i.e. in order to get a specific datatype, a certain chunk size or dataset dimensionality. Also note that this function implements the HDF5-API function H5Dcreate2 and H5Dcreate_anon (if name is NULL). Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for regular groups and https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_d.html for anonymous groups for details.

Usage
H5Group$create_dataset(
  name,
  robj = NULL,
  dtype = NULL,
  space = NULL,
  dims = NULL,
  chunk_dims = "auto",
  gzip_level = 4,
  link_create_pl = h5const$H5P_DEFAULT,
  dataset_create_pl = h5const$H5P_DEFAULT,
  dataset_access_pl = h5const$H5P_DEFAULT
)
Arguments
name

The name of the new dataset. If missing, an anonymous dataset is created

robj

An R-object to take as a template for creating the dataset. Either robj or both dtype and space have to be provided

dtype

The datatype to use for the creation of the object. Can be null if robj is given.

space

The space to use for the object creation. Can be null if robj is given. Otherwise an object of type H5S which specifies the dimensions of the dataset.

dims

Dimension of the new dataset; used if space is NULL. overwrite the dimension guessed from robj if robj is given.

chunk_dims

Size of the chunk. Has to have the same length as the dataset dimension. If "auto" then the size of each chunk is estimated so that each chunk is roughly as large in bytes as the value in the hdf5r.chunk_size option. See also guess_chunks for a more detailed explanation. If set to NULL, then no chunking is used, unless explicitly set in dataset_create_pl.

gzip_level

Only if chunk_dims is not null. If given, then the dataset_create_pl is set to enable zipping at the level given here. If set to NULL, then gzip is not set (but could be set otherwise in dataset_create_pl

link_create_pl

Link creation property list. See H5P_LINK_CREATE

dataset_create_pl

Dataset creation property list. See H5P_DATASET_CREATE

dataset_access_pl

Dataset access property list. See H5P_DATASET_ACCESS


H5Group$commit()

This function implements the HDF5-API function H5Tcommit2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5Group$commit(
  name,
  dtype,
  link_create_pl = h5const$H5P_DEFAULT,
  type_create_pl = h5const$H5P_DEFAULT,
  type_access_pl = h5const$H5P_DEFAULT
)
Arguments
name

The name of the object, relative to the object the method is called on.

dtype

The datatype to use; an object of class H5T.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

type_create_pl

The datatype creation property list.

type_access_pl

The datatype access property list.


H5Group$link_create_hard()

This function implements the HDF5-API function H5Lcreate_hard. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_create_hard(
  obj_loc,
  obj_name,
  link_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
obj_loc

The location of the object; an object of class H5File or H5Group.

obj_name

The name of the object, relative to the object the method is called on.

link_name

The name of the link.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_create_soft()

This function implements the HDF5-API function H5Lcreate_soft. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_create_soft(
  target_path,
  link_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
target_path

The path of the target object.

link_name

The name of the link.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_create_external()

This function implements the HDF5-API function H5Lcreate_external. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_create_external(
  target_filename,
  target_obj_name,
  link_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
target_filename

The name of the file that holds the target object.

target_obj_name

The name of the target object.

link_name

The name of the link.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_exists()

This function implements the HDF5-API function H5Lexists. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_exists(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_move_from()

This function implements the HDF5-API function H5Lmove. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_move_from(
  src_loc,
  src_name,
  dst_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
src_loc

The source location; an object of class H5File or H5Group.

src_name

The name of the source object.

dst_name

The name of the destination object.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_move_to()

This function implements the HDF5-API function H5Lmove. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_move_to(
  dst_loc,
  dst_name,
  src_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
dst_loc

The destination location; an object of class H5File or H5Group.

dst_name

The name of the destination object.

src_name

The name of the source object.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_copy_from()

This function implements the HDF5-API function H5Lcopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_copy_from(
  src_loc,
  src_name,
  dst_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
src_loc

The source location; an object of class H5File or H5Group.

src_name

The name of the source object.

dst_name

The name of the destination object.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_copy_to()

This function implements the HDF5-API function H5Lcopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_copy_to(
  dst_loc,
  dst_name,
  src_name,
  link_create_pl = h5const$H5P_DEFAULT,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
dst_loc

The destination location; an object of class H5File or H5Group.

dst_name

The name of the destination object.

src_name

The name of the source object.

link_create_pl

The link creation property list. See H5P_LINK_CREATE.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_delete()

This function implements the HDF5-API function H5Ldelete. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_delete(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_delete_by_idx()

This function implements the HDF5-API function H5Ldelete_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_delete_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_info()

This function implements the HDF5-API function H5Lget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_info(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_info_by_idx()

This function implements the HDF5-API function H5Lget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_info_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_value()

This function implements the HDF5-API function H5Lget_val. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_value(name, link_access_pl = h5const$H5P_DEFAULT)
Arguments
name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_value_by_idx()

This function implements the HDF5-API function H5Lget_val_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_value_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$link_name_by_idx()

This function implements the HDF5-API function H5Lget_name_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_l.html for details.

Usage
H5Group$link_name_by_idx(
  n,
  group_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$mount()

This function implements the HDF5-API function H5Fmount. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5Group$mount(name, child)
Arguments
name

The name of the object, relative to the object the method is called on.

child

The object to mount; an object of class H5File.


H5Group$unmount()

This function implements the HDF5-API function H5Funmount. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5Group$unmount(name)
Arguments
name

The name of the object, relative to the object the method is called on.


H5Group$get_obj_name()

This function implements the HDF5-API function H5Iget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5Group$get_obj_name()

H5Group$create_attr()

This function implements the HDF5-API function H5Acreate2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$create_attr(attr_name, robj = NULL, dtype = NULL, space = NULL)
Arguments
attr_name

The name of the attribute.

robj

An R object to use as a template for the datatype and dataspace.

dtype

The datatype to use; an object of class H5T.

space

The dataspace to use; an object of class H5S.


H5Group$attr_open()

This function implements the HDF5-API function H5Aopen. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_open(attr_name)
Arguments
attr_name

The name of the attribute.


H5Group$create_attr_by_name()

This function implements the HDF5-API function H5Acreate_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$create_attr_by_name(
  attr_name,
  obj_name,
  robj = NULL,
  dtype = NULL,
  space = NULL,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

robj

An R object to use as a template for the datatype and dataspace.

dtype

The datatype to use; an object of class H5T.

space

The dataspace to use; an object of class H5S.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_open_by_name()

This function implements the HDF5-API function H5Aopen_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_open_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_open_by_idx()

This function implements the HDF5-API function H5Aopen_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_open_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_exists_by_name()

This function implements the HDF5-API function H5Aexists_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_exists_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_exists()

This function implements the HDF5-API function H5Aexists. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_exists(attr_name)
Arguments
attr_name

The name of the attribute.


H5Group$attr_rename_by_name()

This function implements the HDF5-API function H5Arename_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_rename_by_name(
  old_attr_name,
  new_attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
old_attr_name

The current name of the attribute.

new_attr_name

The new name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_rename()

This function implements the HDF5-API function H5Arename. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_rename(old_attr_name, new_attr_name)
Arguments
old_attr_name

The current name of the attribute.

new_attr_name

The new name of the attribute.


H5Group$attr_delete()

This function implements the HDF5-API function H5Adelete. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_delete(attr_name)
Arguments
attr_name

The name of the attribute.


H5Group$attr_delete_by_name()

This function implements the HDF5-API function H5Adelete_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_delete_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_delete_by_idx()

This function implements the HDF5-API function H5Adelete_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_delete_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_info_by_name()

This function implements the HDF5-API function H5Aget_info_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_info_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_info_by_idx()

This function implements the HDF5-API function H5Aget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_info_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_name_by_idx()

This function implements the HDF5-API function H5Aget_name_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_name_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5Group$attr_get_number()

This function implements the HDF5-API function H5Aget_num_attrs. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5Group$attr_get_number()

H5Group$create_reference()

This function implements the HDF5-API function H5Rcreate. If space=NULL then a H5R_OBJECT reference is created, otherwise a H5R_DATASET_REGION reference Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_r.html for details.

Usage
H5Group$create_reference(name = ".", space = NULL)
Arguments
name

The name of the object, relative to the object the method is called on.

space

The dataspace to use; an object of class H5S.


H5Group$flush()

This function implements the HDF5-API function H5Fflush. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5Group$flush(scope = h5const$H5F_SCOPE_GLOBAL)
Arguments
scope

The scope of the flush; one of the H5F_SCOPE_* values in h5const.


H5Group$get_filename()

This function implements the HDF5-API function H5Fget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_f.html for details.

Usage
H5Group$get_filename()

H5Group$print()

Prints information for the group

Usage
H5Group$print(..., max.attributes = 10, max.listing = 10)
Arguments
...

ignored

max.attributes

Maximum number of attribute names to print

max.listing

Maximum number of ls-items to print


H5Group$obj_info_by_idx()

This function implements the HDF5-API function H5Oget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5Group$obj_info_by_idx(
  n,
  group_name = ".",
  index_field = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  remove_internal_use_only = TRUE
)
Arguments
n

The index of the item to access; zero-based.

group_name

The name of the group, relative to the object the method is called on.

index_field

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

remove_internal_use_only

Logical; should fields that are only of internal use be dropped from the result.


H5Group$obj_info_by_name()

This function implements the HDF5-API function H5Oget_info_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5Group$obj_info_by_name(object_name, remove_internal_use_only = TRUE)
Arguments
object_name

The name of the object, relative to the object the method is called on.

remove_internal_use_only

Logical; should fields that are only of internal use be dropped from the result.


H5Group$obj_info()

This function implements the HDF5-API function H5Oget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5Group$obj_info(remove_internal_use_only = TRUE)
Arguments
remove_internal_use_only

Logical; should fields that are only of internal use be dropped from the result.

Author(s)

Holger Hoefling

Examples

fname <- tempfile(fileext = ".h5")
file <- H5File$new(fname, mode = "a")
group <- file$create_group("testgroup")
group$print()
group$close()
file$close_all()

Retrieve object from a group of file

Description

Retrieve object from a group of file

Usage

## S3 method for class 'H5Group'

  x[[
  name,
  ...,
  link_access_pl = h5const$H5P_DEFAULT,
  dataset_access_pl = h5const$H5P_DEFAULT,
  type_access_pl = h5const$H5P_DEFAULT
]]

## S3 method for class 'H5File'

  x[[
  name,
  ...,
  link_access_pl = h5const$H5P_DEFAULT,
  dataset_access_pl = h5const$H5P_DEFAULT,
  type_access_pl = h5const$H5P_DEFAULT
]]

## S3 replacement method for class 'H5Group'
x[[name, ...]] <- value

## S3 replacement method for class 'H5File'
x[[name, ...]] <- value

Arguments

x

An object of class H5File or H5Group

name

Name of the object to retrieve. Has to be a character vector of length one. No integer values allowed.

...

Currently ignored

link_access_pl

An object of class H5P_LINK_ACCESS.

dataset_access_pl

An object of class H5P_DATASET_ACCESS.

type_access_pl

Currently always h5const$H5P_DEFAULT

value

What to assign. Has to be one of H5Group, H5D or H5T

Details

Works similar to retrieving objects in a list. x[["my_name"]] retrieves object my_name from the HDF5-File or HDF5-Group x.

One can also assign objects under a not yet existing name. For either a H5Group or H5D, a hard link is created. If it is a datatype, H5T, this is committed under the chosen name name.

Value

A H5Group, H5D or H5T, depending on the object saved in the group under the requested name.

Author(s)

Holger Hoefling


Class for HDF5 property lists.

Description

This is the base class for all property lists, but most have a specialized class. It inherits all functions of the H5RefClass. It is also the base class for many other classes, specifically

Dataset Creation

H5P_DATASET_CREATE

Dataset Access

H5P_DATASET_ACCESS

Dataset Transfer

H5P_DATASET_XFER

Link Creation

H5P_LINK_CREATE

Link Access

H5P_LINK_ACCESS

Object Creation

H5P_OBJECT_CREATE

Object Copy

H5P_OBJECT_COPY

Attribute Creation

H5P_ATTRIBUTE_CREATE

The base class is unlikely to be needed by users - they should use the appropriate subclass required.

Value

Object of class H5P.

Super class

H5RefClass -> H5P

Methods

Public methods

Inherited methods

H5P$new()

Create a new property list; this function itself is unlikely to be needed by users. Users should use the classes of the type they actually require

Usage
H5P$new(id = NULL)
Arguments
id

Internal use only


H5P$get_class()

This function implements the HDF5-API function H5Pget_class. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P$get_class()

H5P$get_class_name()

This function implements the HDF5-API function H5Pget_class_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P$get_class_name()

H5P$copy()

This function implements the HDF5-API function H5Pcopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P$copy()

H5P$equal()

This function implements the HDF5-API function H5Pequal. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P$equal(cmp)
Arguments
cmp

The object to compare against.

Author(s)

Holger Hoefling

Examples

fname <- tempfile(fileext = ".h5")
file <- H5File$new(fname, mode = "a")
file[["testdataset"]] <- 1:10
p <- file[["testdataset"]]$get_create_plist()
p$get_class()
p$get_class_name()
p$copy()
p$equal(p)
file$close_all()

Class for HDF5 property list for attribute creation

Description

It inherits all functions of the H5P.

Value

Object of class H5P_ATTRIBUTE_CREATE.

Super classes

H5RefClass -> H5P -> H5P_ATTRIBUTE_CREATE

Methods

Public methods

Inherited methods

H5P_ATTRIBUTE_CREATE$new()

Create a new class of type H5P_ATTRIBUTE_CREATE

Usage
H5P_ATTRIBUTE_CREATE$new(id = NULL)
Arguments
id

Internal use only


H5P_ATTRIBUTE_CREATE$set_char_encoding()

This function implements the HDF5-API function H5Pset_char_encoding. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_ATTRIBUTE_CREATE$set_char_encoding(encoding = h5const$H5T_CSET_UTF8)
Arguments
encoding

The character encoding to use; one of the H5T_CSET_* values in h5const.


H5P_ATTRIBUTE_CREATE$get_char_encoding()

This function implements the HDF5-API function H5Pget_char_encoding. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_ATTRIBUTE_CREATE$get_char_encoding()

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 property list classes (not HDF5 property lists)

Description

It inherits all functions of the H5RefClass. The intent of this class is to provide a mechanism to compare the class of HDF5 property classes. This is mainly intended for internal use to get the class type of an HDF5 identifier that is known to be a property list, but not of which type.

Value

Object of class H5P_CLASS.

Super class

H5RefClass -> H5P_CLASS

Methods

Public methods

Inherited methods

H5P_CLASS$equal()

This function implements the HDF5-API function H5Pequal. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_CLASS$equal(cmp)
Arguments
cmp

The object to compare against.

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 property list for dataset access

Description

It inherits all functions of the H5P.

Value

Object of class H5P_DATASET_ACCESS.

Super classes

H5RefClass -> H5P -> H5P_DATASET_ACCESS

Methods

Public methods

Inherited methods

H5P_DATASET_ACCESS$new()

Creates a new dataset access property list.

Usage
H5P_DATASET_ACCESS$new(id = NULL)
Arguments
id

An HDF5 id; for internal use only.


H5P_DATASET_ACCESS$set_chunk_cache()

This function implements the HDF5-API function H5Pset_chunk_cache. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_ACCESS$set_chunk_cache(
  rdcc_nslots = -1,
  rdcc_nbytes = -1,
  rdcc_w0 = -1
)
Arguments
rdcc_nslots

The number of slots in the raw data chunk cache. Use -1 for the library default.

rdcc_nbytes

The size of the raw data chunk cache in bytes. Use -1 for the library default.

rdcc_w0

The chunk preemption policy, between 0 and 1. Use -1 for the library default.


H5P_DATASET_ACCESS$get_chunk_cache()

This function implements the HDF5-API function H5Pget_chunk_cache. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_ACCESS$get_chunk_cache()

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 property list for dataset creation

Description

It inherits all functions of the H5P.

Value

Object of class H5P_DATASET_CREATE.

Super classes

H5RefClass -> H5P -> H5P_DATASET_CREATE

Methods

Public methods

Inherited methods

H5P_DATASET_CREATE$new()

Create a new class of type H5P_DATASET_CREATE

Usage
H5P_DATASET_CREATE$new(id = NULL)
Arguments
id

Internal use only


H5P_DATASET_CREATE$set_layout()

This function implements the HDF5-API function H5Pset_layout. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_layout(layout = h5const$H5D_CHUNKED)
Arguments
layout

The dataset layout; one of the H5D_* layout values in h5const.


H5P_DATASET_CREATE$get_layout()

This function implements the HDF5-API function H5Pget_layout. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_layout()

H5P_DATASET_CREATE$set_chunk()

This function implements the HDF5-API function H5Pset_chunk. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_chunk(chunk)
Arguments
chunk

The chunk dimensions.


H5P_DATASET_CREATE$get_chunk()

This function implements the HDF5-API function H5Pget_chunk. If the layout is not chunked, returns NA. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_chunk(max_ndims)
Arguments
max_ndims

The maximum number of dimensions to return.


H5P_DATASET_CREATE$set_deflate()

This function implements the HDF5-API function H5Pset_deflate. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_deflate(level)
Arguments
level

The compression level, between 0 and 9.


H5P_DATASET_CREATE$set_fill_value()

This function implements the HDF5-API function H5Pset_fill_value. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_fill_value(dtype, value)
Arguments
dtype

The datatype to use; an object of class H5T.

value

The value to assign.


H5P_DATASET_CREATE$get_fill_value()

This function implements the HDF5-API function H5Pget_fill_value. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_fill_value(dtype)
Arguments
dtype

The datatype to use; an object of class H5T.


H5P_DATASET_CREATE$set_fill_time()

This function implements the HDF5-API function H5Pset_fill_time. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_fill_time(fill_time = h5const$H5D_FILL_TIME_IFSET)
Arguments
fill_time

When the fill value is written; one of the H5D_FILL_TIME_* values in h5const.


H5P_DATASET_CREATE$get_fill_time()

This function implements the HDF5-API function H5Pget_fill_time. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_fill_time()

H5P_DATASET_CREATE$set_alloc_time()

This function implements the HDF5-API function H5Pset_alloc_time. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_alloc_time(alloc_time = h5const$H5D_ALLOC_TIME_DEFAULT)
Arguments
alloc_time

When storage is allocated; one of the H5D_ALLOC_TIME_* values in h5const.


H5P_DATASET_CREATE$get_alloc_time()

This function implements the HDF5-API function H5Pget_alloc_time. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_alloc_time()

H5P_DATASET_CREATE$set_filter()

This function implements the HDF5-API function H5Pset_filter. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_filter(
  filter = h5const$H5Z_FILTER_DEFLATE,
  flags = h5const$H5Z_FLAG_OPTIONAL,
  cd_values = integer(0)
)
Arguments
filter

The filter to use; one of the H5Z_FILTER_* values in h5const.

flags

Flags governing the conversion from HDF5 to R. See the H5TOR_* values in h5const.

cd_values

Auxiliary data passed to the filter.


H5P_DATASET_CREATE$all_filters_avail()

This function implements the HDF5-API function H5Pall_filters_avail. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$all_filters_avail()

H5P_DATASET_CREATE$get_nfilters()

This function implements the HDF5-API function H5Pget_nfilters. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_nfilters()

H5P_DATASET_CREATE$get_filter()

This function implements the HDF5-API function H5Pget_filter2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_filter(idx)
Arguments
idx

The index of the item to access; zero-based.


H5P_DATASET_CREATE$modify_filter()

This function implements the HDF5-API function H5Pmodify_filter. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$modify_filter(
  filter = h5const$H5Z_FILTER_DEFLATE,
  flags = h5const$H5Z_FLAG_OPTIONAL,
  cd_values = integer(0)
)
Arguments
filter

The filter to use; one of the H5Z_FILTER_* values in h5const.

flags

Flags governing the conversion from HDF5 to R. See the H5TOR_* values in h5const.

cd_values

Auxiliary data passed to the filter.


H5P_DATASET_CREATE$remove_filter()

This function implements the HDF5-API function H5Premove_filter. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$remove_filter(filter = h5const$H5Z_FILTER_ALL)
Arguments
filter

The filter to use; one of the H5Z_FILTER_* values in h5const.


H5P_DATASET_CREATE$set_fletcher32()

This function implements the HDF5-API function H5Pset_fletcher32. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_fletcher32()

H5P_DATASET_CREATE$set_nbit()

This function implements the HDF5-API function H5Pset_nbit. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_nbit()

H5P_DATASET_CREATE$set_scaleoffset()

This function implements the HDF5-API function H5Pset_scaleoffset. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_scaleoffset(
  scale_type = h5const$H5Z_SO_FLOAT_DSCALE,
  scale_factor = 0
)
Arguments
scale_type

The scale-offset filter type; one of the H5Z_SO_* values in h5const.

scale_factor

The scale factor used by the scale-offset filter.


H5P_DATASET_CREATE$set_shuffle()

This function implements the HDF5-API function H5Pset_shuffle. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_shuffle()

H5P_DATASET_CREATE$set_szip()

This function implements the HDF5-API function H5Pset_szip. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_szip()

H5P_DATASET_CREATE$set_external()

This function implements the HDF5-API function H5Pset_external. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$set_external(filename, offset, size)
Arguments
filename

The name of the file.

offset

The offset to apply; see the corresponding HDF5 function for how it is interpreted.

size

The size of the object in bytes; use Inf for variable-length strings.


H5P_DATASET_CREATE$get_external_count()

This function implements the HDF5-API function H5Pget_external_count. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_external_count()

H5P_DATASET_CREATE$get_external()

This function implements the HDF5-API function H5Pget_external. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_CREATE$get_external(idx)
Arguments
idx

The index of the item to access; zero-based.

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 property list for dataset transfer

Description

It inherits all functions of the H5P.

Value

Object of class H5P_DATASET_XFER.

Super classes

H5RefClass -> H5P -> H5P_DATASET_XFER

Methods

Public methods

Inherited methods

H5P_DATASET_XFER$new()

Create a new class of type H5P_DATASET_XFER

Usage
H5P_DATASET_XFER$new(id = NULL)
Arguments
id

Internal use only


H5P_DATASET_XFER$set_buffer()

This function implements the HDF5-API function H5Pset_buffer. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_XFER$set_buffer(size = 2^20)
Arguments
size

The size of the object in bytes; use Inf for variable-length strings.


H5P_DATASET_XFER$set_edc_check()

This function implements the HDF5-API function H5Pset_edc_check. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_XFER$set_edc_check(check = h5const$H5Z_ENABLE_EDC)
Arguments
check

Logical; should the arguments be checked for validity.


H5P_DATASET_XFER$get_edc_check()

This function implements the HDF5-API function H5Pget_edc_check. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_XFER$get_edc_check()

H5P_DATASET_XFER$set_hyper_vector_size()

This function implements the HDF5-API function H5Pset_hyper_vector_size. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_XFER$set_hyper_vector_size(size = 2^10)
Arguments
size

The size of the object in bytes; use Inf for variable-length strings.


H5P_DATASET_XFER$get_hyper_vector_size()

This function implements the HDF5-API function H5Pget_hyper_vector_size. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_XFER$get_hyper_vector_size()

H5P_DATASET_XFER$set_btree_ratios()

This function implements the HDF5-API function H5Pset_btree_ratios. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_XFER$set_btree_ratios(left, middle, right)
Arguments
left

The B-tree split ratio for the left-most node.

middle

The B-tree split ratio for interior nodes.

right

The B-tree split ratio for the right-most node.


H5P_DATASET_XFER$get_btree_ratios()

This function implements the HDF5-API function H5Pget_btree_ratios. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_DATASET_XFER$get_btree_ratios()

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 property list for file creation

Description

It inherits all functions of the H5P.

Value

Object of class H5P_FILE_ACCESS.

Super classes

H5RefClass -> H5P -> H5P_FILE_ACCESS

Methods

Public methods

Inherited methods

H5P_FILE_ACCESS$new()

Create a new class of type H5P_FILE_ACCESS

Usage
H5P_FILE_ACCESS$new(id = NULL)
Arguments
id

Internal use only


H5P_FILE_ACCESS$set_cache()

This function implements the HDF5-API function H5Pset_cache. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_ACCESS$set_cache(
  rdcc_nslots = 521,
  rdcc_nbytes = 2^20,
  rdcc_w0 = 0.75
)
Arguments
rdcc_nslots

The number of slots in the raw data chunk cache. Use -1 for the library default.

rdcc_nbytes

The size of the raw data chunk cache in bytes. Use -1 for the library default.

rdcc_w0

The chunk preemption policy, between 0 and 1. Use -1 for the library default.


H5P_FILE_ACCESS$get_cache()

This function implements the HDF5-API function H5Pget_cache. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_ACCESS$get_cache()

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 property list for file creation

Description

It inherits all functions of the H5P.

Value

Object of class H5P_FILE_CREATE.

Super classes

H5RefClass -> H5P -> H5P_FILE_CREATE

Methods

Public methods

Inherited methods

H5P_FILE_CREATE$new()

Create a new class of type H5P_FILE_CREATE

Usage
H5P_FILE_CREATE$new(id = NULL)
Arguments
id

Internal use only


H5P_FILE_CREATE$set_userblock()

This function implements the HDF5-API function H5Pset_userblock. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$set_userblock(size)
Arguments
size

The size of the object in bytes; use Inf for variable-length strings.


H5P_FILE_CREATE$get_userblock()

This function implements the HDF5-API function H5Pget_userblock. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$get_userblock()

H5P_FILE_CREATE$set_sizes()

This function implements the HDF5-API function H5Pset_sizes. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$set_sizes(sizeof_addr, sizeof_size)
Arguments
sizeof_addr

The size of an address in the file, in bytes.

sizeof_size

The size of a size in the file, in bytes.


H5P_FILE_CREATE$get_sizes()

This function implements the HDF5-API function H5Pget_sizes. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$get_sizes()

H5P_FILE_CREATE$set_sym_k()

This function implements the HDF5-API function H5Pset_sym_k. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$set_sym_k(ik, lk)
Arguments
ik

The 1/2 rank of the indexed storage or symbol table B-tree.

lk

The 1/2 rank of the symbol table leaf nodes.


H5P_FILE_CREATE$get_sym_k()

This function implements the HDF5-API function H5Pget_sym_k. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$get_sym_k()

H5P_FILE_CREATE$set_istore_k()

This function implements the HDF5-API function H5Pset_istore_k. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$set_istore_k(ik)
Arguments
ik

The 1/2 rank of the indexed storage or symbol table B-tree.


H5P_FILE_CREATE$get_istore_k()

This function implements the HDF5-API function H5Pget_istore_k. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$get_istore_k()

H5P_FILE_CREATE$set_file_space()

This function implements the HDF5-API function H5Pset_file_space. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$set_file_space(strategy, threshold)
Arguments
strategy

The file space handling strategy; one of the H5F_FSPACE_STRATEGY_* values in h5const.

threshold

The smallest free-space section to track.


H5P_FILE_CREATE$get_file_space()

This function implements the HDF5-API function H5Pget_file_space. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_FILE_CREATE$get_file_space()

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 property list for object copying

Description

It inherits all functions of the H5P.

Value

Object of class H5P_OBJECT_COPY.

Super classes

H5RefClass -> H5P -> H5P_OBJECT_COPY

Methods

Public methods

Inherited methods

H5P_OBJECT_COPY$new()

Create a new class of type H5P_OBJECT_COPY

Usage
H5P_OBJECT_COPY$new(id = NULL)
Arguments
id

Internal use only


H5P_OBJECT_COPY$set_copy_obj()

This function implements the HDF5-API function H5Pset_copy_object. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_OBJECT_COPY$set_copy_obj(copy_options = 0)
Arguments
copy_options

Flags governing how the object is copied.


H5P_OBJECT_COPY$get_copy_obj()

This function implements the HDF5-API function H5Pget_copy_object. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_OBJECT_COPY$get_copy_obj()

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 property list for object creation

Description

It inherits all functions of the H5P.

Value

Object of class H5P_OBJECT_CREATE.

Super classes

H5RefClass -> H5P -> H5P_OBJECT_CREATE

Methods

Public methods

Inherited methods

H5P_OBJECT_CREATE$new()

Create a new class of type H5P_OBJECT_CREATE

Usage
H5P_OBJECT_CREATE$new(id = NULL)
Arguments
id

Internal use only


H5P_OBJECT_CREATE$set_obj_track_times()

This function implements the HDF5-API function H5Pset_obj_track_times. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_OBJECT_CREATE$set_obj_track_times(track_times = TRUE)
Arguments
track_times

Logical; should object times be recorded in the file.


H5P_OBJECT_CREATE$get_obj_track_times()

This function implements the HDF5-API function H5Pget_obj_track_times. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_OBJECT_CREATE$get_obj_track_times()

H5P_OBJECT_CREATE$set_attr_phase_change()

This function implements the HDF5-API function H5Pset_attr_phase_change. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_OBJECT_CREATE$set_attr_phase_change(max_compact, min_dense)
Arguments
max_compact

The maximum number of links to store compactly in a group.

min_dense

The minimum number of links before a group switches to dense storage.


H5P_OBJECT_CREATE$get_attr_phase_change()

This function implements the HDF5-API function H5Pget_attr_phase_change. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_OBJECT_CREATE$get_attr_phase_change()

H5P_OBJECT_CREATE$set_attr_creation_order()

This function implements the HDF5-API function H5Pset_attr_creation_order. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_OBJECT_CREATE$set_attr_creation_order(crt_order_flags = 0)
Arguments
crt_order_flags

Flags governing whether link creation order is tracked and indexed.


H5P_OBJECT_CREATE$get_attr_creation_order()

This function implements the HDF5-API function H5Pget_attr_creation_order. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_p.html for details.

Usage
H5P_OBJECT_CREATE$get_attr_creation_order()

Author(s)

Holger Hoefling

See Also

H5P


Class for HDF5 Reference datatypes.

Description

H5R is only the common base class and is never used. User should not create objects of this class by themselves and instead use the create_reference methods of H5D, H5Group or H5File classes. Sub-classes are H5R_OBJECT and H5R_DATASET_REGION

Value

Object of class H5R.

Super class

H5RefClass -> H5R

Active bindings

length

Get the length of the object

ref

Get or assign the internal raw-vector representation of the data. Usually, user's shouldn't have to use this.

dim

Get or assign the dimensionality of the object

dimnames

Get or assign the dimnames of the object

names

Get or assign the names of the object

rank

Get the rank of the object

Methods

Public methods

Inherited methods

H5R$subset_read()

Method that returns a subset of the data in the H5R-object

Usage
H5R$subset_read(dim_index, drop = TRUE)
Arguments
dim_index

A list of dimension indices as usually pasted into [

drop

Logical. Should dimensions of size 1 be dropped.


H5R$subset2_read()

Method to read a single item

Usage
H5R$subset2_read(i, exact = TRUE)
Arguments
i

The single item to read

exact

Is the item name exact or should partial matching be allowed?


H5R$subset_assign()

Assign values into a subset of the H5R-vector

Usage
H5R$subset_assign(dim_index, value)
Arguments
dim_index

A list of dimension indices as usually passed into [

value

The value to assign


H5R$subset2_assign()

Assign a value to a single value in the array

Usage
H5R$subset2_assign(i, exact = TRUE, value)
Arguments
i

the index where to assign the value

exact

Logical; does the subscript have to match exactly.

value

The value to assign


H5R$t()

Transpose the object if it is a matrix (i.e. has rank 2

Usage
H5R$t()

H5R$clone()

The objects of this class are cloneable with this method.

Usage
H5R$clone()

Author(s)

Holger Hoefling

Examples

fname <- tempfile(fileext = ".h5")
file <- H5File$new(fname, mode = "a")
file[["testset"]] <- matrix(rnorm(9), nrow = 3)
dset <- file[["testset"]]
r <- file$create_reference("testset")
file$close_all()

Class for HDF5 dataset-region references.

Description

H5R_DATASET_REGION is the reference class for dataset regions. Users should not create this class by themselves, but use the appropriate and instead use the create_reference methods of H5D, H5Group or H5File classes.

Value

Object of class H5R_DATASET_REGION.

Super classes

H5RefClass -> H5R -> H5R_DATASET_REGION

Methods

Public methods

Inherited methods

H5R_DATASET_REGION$new()

Create a new reference for dataset regions; Usually, users shouldn't have to call this, but use the create_reference method of a dataset.

Usage
H5R_DATASET_REGION$new(num = 0, id = NULL)
Arguments
num

The number of items.

id

An HDF5 id; for internal use only.


H5R_DATASET_REGION$dereference()

Dereference an H5R reference for a dataset region. The file the reference is pointing to is assigned automatically. It returns a list where each item is a list with components dataset, being an H5D object and space being a H5S object. When setting get_value=TRUE, then instead of these objects The data itself is returned This function implements the HDF5-API function H5Rdereference. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_r.html for details.

Usage
H5R_DATASET_REGION$dereference(
  object_access_pl = h5const$H5P_DEFAULT,
  obj = NULL,
  get_value = FALSE
)
Arguments
object_access_pl

The object-access property list. Currently always the default

obj

Overriding the default file the reference is referring to

get_value

Logical; should the referenced values be returned instead of the objects.

Author(s)

Holger Hoefling


Various functions for H5R objects

Description

Various functions for H5R objects

Usage

is.H5R(x)

is.H5R_OBJECT(x)

is.H5R_DATASET_REGION(x)

## S3 method for class 'H5R'
names(x)

## S3 method for class 'H5R'
length(x)

## S3 method for class 'H5R'
x[i, j, ..., drop = TRUE]

## S3 replacement method for class 'H5R'
x[i, ...] <- value

## S3 method for class 'H5R'
c(..., recursive = FALSE)

## S3 method for class 'H5R'
dim(x)

## S3 replacement method for class 'H5R'
dim(x) <- value

## S3 method for class 'H5R'
t(x)

## S3 method for class 'H5R'
dimnames(x)

## S3 replacement method for class 'H5R'
dimnames(x) <- value

## S3 method for class 'H5R'
cbind(..., deparse.level = 1)

## S3 method for class 'H5R'
rbind(..., deparse.level = 1)

## S3 method for class 'H5R'
print(x, ...)

## S3 method for class 'H5R'
format(x, ...)

## S3 method for class 'H5R'
as.data.frame(
  x,
  row.names = NULL,
  optional = FALSE,
  ...,
  nm = paste(deparse(substitute(x), width.cutoff = 500L), collapse = " ")
)

## S3 method for class 'H5R'
as.vector(x, mode = "any")

Arguments

x

Object of type H5R

i

First dimension

j

Second dimension

...

Any other dimensions (for subsetting), or objects to concatenate (for c) or combine by row/col (for cbind or rbind) or ignored (for print and format)

drop

Should dimensions of size 1 be dropped; LOGICAL

value

The value in an assignment

recursive

Ignored here

deparse.level

integer controlling the construction of labels in the case of non-matrix-like arguments (for the default method): 'deparse.level = 0' constructs no labels; the default, 'deparse.level = 1' constructs labels from the argument names

row.names

NULL or a character vector giving the row names for the data frame. Missing values are not allowed.

optional

logical. If TRUE, setting row names and converting column names (to syntactic names: see make.names) is optional.

nm

The column names to use

mode

Only 'any' supported

width.cutoff

ignored

collapse

ignored

Details

is.H5R

Check if object inherits from H5R

is.H5R_OBJECT

Check if object inherits from H5R_OBJECT

is.H5R_DATASET_REGION

Check if object inherits from H5R_DATASET_REGION

names.H5R

Returns the names of the elements of the vector

length.H5R

Returns the length of the vector

[.H5R

Array subsetting function

[<-.H5R

Array subset assignment

c.H5R

Concatenation of H5R vectors

dim.H5R

Dimensionality of the object

dim<-.H5R

Assign dimension of the object

t.H5R

Transpose a matrix of H5R objects

dimnames.H5R

Get the dimnames of the object

dimnames<-.H5R

Set the dimnames of the object

cbind.H5R

cbind functionality for H5R objects

rbind.H5R

rbind functionality for H5R objects

print.H5R

Printing of an object of class h5R

format.H5R

Formatting of an H5R object

as.data.frame.H5R

Coerce an H5R object to a data.frame

as.vector.H5R

Coerce to a vector

as.data.frame.H5R

Coerces the object to a data.frame

as.vector.H5R

Coerces to a vector

Value

Depending on the function

Author(s)

Holger Hoefling


Class for HDF5 Object-references.

Description

H5R_OBJECT is the reference class for objects. Users should not create this class by themselves, but use the appropriate and instead use the create_reference methods of H5D, H5Group or H5File classes.

Value

Object of class H5R_OBJECT.

Super classes

H5RefClass -> H5R -> H5R_OBJECT

Methods

Public methods

Inherited methods

H5R_OBJECT$new()

Create a new reference for object; Usually, users shouldn't have to call this, but use the create_reference method of a dataset, group of committed datatype

Usage
H5R_OBJECT$new(num = 0, id = NULL)
Arguments
num

The number of items.

id

An HDF5 id; for internal use only.


H5R_OBJECT$dereference()

Dereference an H5R reference. The file the reference is pointing to is assigned automatically This function implements the HDF5-API function H5Rdereference. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_r.html for details.

Usage
H5R_OBJECT$dereference(object_access_pl = h5const$H5P_DEFAULT, obj = NULL)
Arguments
object_access_pl

The object-access property list. Currently always the default

obj

Overriding the default file the reference is referring to

Author(s)

Holger Hoefling


Base class that tracks the ids and allows for closing an id

Description

This class is not intended for creating objects, but as a base class for all other H5-derived classes to provide common functionality for id tracking

Value

Object of reference class H5RefClass.

Active bindings

id

Returns the id of the object

id_env

The environment that holds the id, used internally for reference counting.

is_valid

This function implements the HDF5-API function H5Iis_valid. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details. Additionally, the R-object representing the HDF5-id can be invalidated as well. In this case, the class id is set to NA and is_valid returns FALSE.

message

Legacy function; currently not used; may be removed

Methods

Public methods


H5RefClass$get_file_id()

This function implements the HDF5-API function H5Iget_file_id. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5RefClass$get_file_id()

H5RefClass$get_obj_type()

This function implements the HDF5-API function H5Iget_type. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5RefClass$get_obj_type()

H5RefClass$get_ref()

This function implements the HDF5-API function H5Iget_ref. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5RefClass$get_ref()

H5RefClass$inc_ref()

This function implements the HDF5-API function H5Iinc_ref. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5RefClass$inc_ref()

H5RefClass$dec_ref()

This function implements the HDF5-API function H5Idec_ref. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5RefClass$dec_ref()

H5RefClass$new()

Constructor for the basic class for hdf5 objects. Takes an id and stores it appropriately, including the necessary counting of object references that the package implements. This reference counting is included in addition to R's internal method in order to allow for the invalidation of objects in R itself when all open handles in an R-file are being closed.

Usage
H5RefClass$new(id = NULL)
Arguments
id

An HDF5 id; for internal use only.


H5RefClass$close()

Closes an object and calls the appropriate HDF5 function for the type of object

Usage
H5RefClass$close()

H5RefClass$print()

Prints the class of the object and the id

Usage
H5RefClass$print(...)
Arguments
...

Further arguments; currently ignored.


H5RefClass$methods()

Prints available methods on the screen

Usage
H5RefClass$methods()

Author(s)

Holger Hoefling


Class for representing HDF5 spaces

Description

This class represents Spaces in HDF5. These are mostly useful to define the dimensions of a dataset as well as the maximum dimensions to which it can grow. By default, the maximum dimension is equal to the initial dimension. If you want the array to be able to grow arbitrarily large in one dimension, set the maximum dimension for this index to Inf. See the examples below for code how to do this.

Value

Object of class H5S.

Super class

H5RefClass -> H5S

Active bindings

dims

Get the dimensions of the space. Return NULL if the space is not simple (i.e. NULL-space) or a length-0 integer if it is a scalar

maxdims

Get the maximal dimensions of the space.Return NULL if the space is not simple (i.e. NULL-space) or a length-0 integer if it is a scalar

rank

The rank, i.e. the number of dimensions, of the space.

Methods

Public methods

Inherited methods

H5S$new()

Create a new HDF5-space. This can be done by either specifying a space with appropriate dimensions or by decoding a character string that represents an encoded space

Usage
H5S$new(
  type = c("simple", "scalar", "null"),
  dims = NULL,
  maxdims = dims,
  decode_buf = NULL,
  id = NULL
)
Arguments
type

Either a simple space, for which dims and maxdims have to be given or a scalar or null space. See the HDF5 user guide on spaces to explain the differences.

dims

The dimension of the space in case it is of type simple

maxdims

The maximal dimensions of the space

decode_buf

The character string that holds the encoded representation of a space

id

An existing HDF5 id; internal use only


H5S$copy()

This function implements the HDF5-API function H5Scopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$copy()

H5S$encode()

This function implements the HDF5-API function H5Sencode. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$encode()

H5S$is_simple()

This function implements the HDF5-API function H5Sis_simple. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$is_simple()

H5S$get_simple_extent_ndims()

This function implements the HDF5-API function H5Sget_simple_extent_ndims. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_simple_extent_ndims()

H5S$offset_simple()

This function implements the HDF5-API function H5Soffset_simple. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$offset_simple(offset)
Arguments
offset

The offset to apply; see the corresponding HDF5 function for how it is interpreted.


H5S$get_simple_extent_dims()

This function implements the HDF5-API function H5Sget_simple_extent_dims. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_simple_extent_dims()

H5S$get_simple_extent_npoints()

This function implements the HDF5-API function H5Sget_simple_extent_npoints. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_simple_extent_npoints()

H5S$get_simple_extent_type()

This function implements the HDF5-API function H5Sget_simple_extent_type. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_simple_extent_type()

H5S$extent_copy()

This function implements the HDF5-API function H5Sextent_copy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$extent_copy(h5s_source)
Arguments
h5s_source

The dataspace to copy the extent from; an object of class H5S.


H5S$extent_equal()

This function implements the HDF5-API function H5Sextent_equal. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$extent_equal(h5s_cmp)
Arguments
h5s_cmp

The dataspace to compare the extent against; an object of class H5S.


H5S$set_extent_simple()

This function implements the HDF5-API function H5Sset_extent_simple. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$set_extent_simple(dims, maxdims)
Arguments
dims

The dimensions of the object.

maxdims

The maximum dimensions of the dataspace; use Inf for unlimited.


H5S$set_extent_none()

This function implements the HDF5-API function H5Sset_extent_none. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$set_extent_none()

H5S$get_select_type()

This function implements the HDF5-API function H5Sget_select_type. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_select_type()

H5S$get_select_npoints()

This function implements the HDF5-API function H5Sget_select_npoints. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_select_npoints()

H5S$get_select_hyper_nblocks()

This function implements the HDF5-API function H5Sget_select_hyper_nblocks. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_select_hyper_nblocks()

H5S$get_select_hyper_blocklist()

This function implements the HDF5-API function H5Sget_select_hyper_blocklist. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_select_hyper_blocklist(
  startblock = 0,
  numblocks = (self$get_select_hyper_nblocks() - startblock)
)
Arguments
startblock

The first block to return; zero-based.

numblocks

The number of blocks to return.


H5S$get_select_elem_npoints()

This function implements the HDF5-API function H5Sget_select_elem_npoints. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_select_elem_npoints()

H5S$get_select_elem_pointlist()

This function implements the HDF5-API function H5Sget_select_elem_pointlist. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_select_elem_pointlist(
  startpoint = 0,
  numpoints = (self$get_select_elem_npoints() - startpoint)
)
Arguments
startpoint

The first point to return; zero-based.

numpoints

The number of points to return.


H5S$get_select_bounds()

This function implements the HDF5-API function H5Sget_select_bounds. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$get_select_bounds()

H5S$select_all()

This function implements the HDF5-API function H5Sselect_all. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$select_all()

H5S$select_none()

This function implements the HDF5-API function H5Sselect_none. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$select_none()

H5S$select_valid()

This function implements the HDF5-API function H5Sselect_valid. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$select_valid()

H5S$select_elements()

This function implements the HDF5-API function H5Sselect_elements. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$select_elements(coord, op = h5const$H5S_SELECT_SET, byrow = TRUE)
Arguments
coord

The coordinates of the elements to select.

op

The selection operator to apply; one of the H5S_SELECT_* values in h5const.

byrow

Logical; are the coordinates given row-wise.


H5S$select_hyperslab()

This function implements the HDF5-API function H5Sselect_hyperslab. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html for details.

Usage
H5S$select_hyperslab(
  start,
  count,
  stride = NULL,
  block = NULL,
  op = h5const$H5S_SELECT_SET
)
Arguments
start

The offset at which the hyperslab starts, one value per dimension.

count

The number of blocks to select, one value per dimension.

stride

The distance between successive blocks, one value per dimension.

block

The size of each block, one value per dimension.

op

The selection operator to apply; one of the H5S_SELECT_* values in h5const.


H5S$subset()

Subsetting the space. This is mainly intended as a helper function for the '[' function, but can also be used on its own.

Usage
H5S$subset(args, op = h5const$H5S_SELECT_SET, envir = parent.frame())
Arguments
args

The indices for each dimension to subset given as a list. This makes this easier to use as a programmatic API. For interactive use we recommend the use of the [ operator.

op

The operator to use. Same as for the other HDF5 space selection functions. One of the elements shown in h5const$H5S_seloper_t

envir

The environment in which to evaluate args


H5S$print()

Prints information for the group

Usage
H5S$print(...)
Arguments
...

ignored

Author(s)

Holger Hoefling

Examples

h5s_fixed <- H5S$new("simple", dims=c(5, 2))
h5s_fixed

h5s_variable <- H5S$new("simple", dims=c(5,2), maxdims=c(Inf,2))
h5s_variable
h5s_variable$set_extent_simple(c(10,2), c(Inf, 2))
h5s_variable

# now select a subset of points
# argument evaluation has a heuristic; here it chooses point selection
h5s_variable[c(1, 3, 8), 1]
h5s_variable$get_select_type()
h5s_variable$get_select_elem_pointlist()

# and a hyperslab (chosen by the argument heuristic)
h5s_variable[2:7, 1:2]
h5s_variable$get_select_type()
h5s_variable$get_select_hyper_blocklist()

Selecting and assigning subsets of HDF5-Spaces and HDF5-Datasets

Description

Selecting and assigning subsets of HDF5-Spaces and HDF5-Datasets

Usage

subset_h5.H5S(x, d1, ..., op = h5const$H5S_SELECT_SET, envir = parent.frame())

## S3 method for class 'H5S'
x[d1, ..., op = h5const$H5S_SELECT_SET, envir = parent.frame()]

subset_h5.H5D(
  x,
  d1,
  ...,
  dataset_xfer_pl = h5const$H5P_DEFAULT,
  flags = getOption("hdf5r.h5tor_default"),
  drop = TRUE,
  envir = parent.frame()
)

## S3 method for class 'H5D'

  x[
  d1,
  ...,
  dataset_xfer_pl = h5const$H5P_DEFAULT,
  flags = getOption("hdf5r.h5tor_default"),
  drop = TRUE,
  envir = parent.frame()
]

subset_assign_h5.H5D(
  x,
  d1,
  ...,
  dataset_xfer_pl = h5const$H5P_DEFAULT,
  envir = parent.frame(),
  value
)

## S3 replacement method for class 'H5D'
x[d1, ..., dataset_xfer_pl = h5const$H5P_DEFAULT, envir = parent.frame()] <- value

Arguments

x

The H5S or H5D to subset or assign values to

d1

First dimension of the object

...

Used for other dimension of the object

op

Operation to perform on the H5S. Look into the HDF5 online help https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html and https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_s.html

envir

The environment in which the dimension indices d1, ... are to be evaluated. Usually the environment from where the function is called

dataset_xfer_pl

An object of class H5P_DATASET_XFER.

flags

Some flags governing edge cases of conversion from HDF5 to R. This is related to how integers are being treated and the issue of R not being able to natively represent 64bit integers and not at all being able to represent unsigned 64bit integers (even using add-on packages). The constants governing this are part of h5const. The relevant ones start with the term H5TOR and are documented there. The default set here returns a regular 32bit integer if it doesn't lead to an overflow and returns a 64bit integer from the bit64 package otherwise. For 64bit unsigned int that are larger than 64bit signed int, it return a double. This looses precision, however. See also documentation or h5const.

drop

Logical. When reading data, should dimensions of size 1 be dropped.

value

The value to assign to the dataset

Details

Used for subsetting HDF5-Datasets or HDF5-Spaces or for assigning data into HDF5-Datasets. There are some differences to consider with R itself.

Most importantly HDF5-COMPOUND objects only have a single dimension internally to HDF5 (a vector), but they correspond to R-data.frames, which are 2 dimensional. For an HDF5 COMPOUND object, it is currently not possible to only sub-select a specific column. All columns have to be extracted (using 1-dimensional access with [ and can then be subset in R itself. The same is true for writing a COMPOUND object (H5T_COMPOUND). A complete data-frame is needed, not just a subset of the columns.

Another important differences is for datasets of HDF5-ARRAY type H5T_ARRAY where the access to the object is only for the dimension of the object itself, not including the dimensions of the underlying array type.

Value

For x being a H5S, the same object is returned, but with the selection set as requested. For H5D it retrieves the subset of data requested or sets the subset of data assigned, as for any n-dimensional array in R.

Author(s)

Holger Hoefling


Class for HDF5 datatypes.

Description

This is the base class for all datatypes, but most have a specialised class. This class represents an HDF5 datatype. It inherits all functions of the H5RefClass. It is also the base class for many other classes well, specifically

Integer

H5T_INTEGER

Bitfield

H5T_BITFIELD (currently identical to the integer class)

Float

H5T_FLOAT

Enum

H5T_ENUM

Compound

H5T_COMPOUND

String

H5T_STRING

Complex

H5T_COMPLEX

Array

H5T_ARRAY

Variable Length

H5T_VLEN

Value

Object of class H5T.

Super class

H5RefClass -> H5T

Methods

Public methods

Inherited methods

H5T$get_obj_name()

This function implements the HDF5-API function H5Iget_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_i.html for details.

Usage
H5T$get_obj_name()

H5T$create_attr()

This function implements the HDF5-API function H5Acreate2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$create_attr(attr_name, robj = NULL, dtype = NULL, space = NULL)
Arguments
attr_name

The name of the attribute.

robj

An R object to use as a template for the datatype and dataspace.

dtype

The datatype to use; an object of class H5T.

space

The dataspace to use; an object of class H5S.


H5T$attr_open()

This function implements the HDF5-API function H5Aopen. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_open(attr_name)
Arguments
attr_name

The name of the attribute.


H5T$create_attr_by_name()

This function implements the HDF5-API function H5Acreate_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$create_attr_by_name(
  attr_name,
  obj_name,
  robj = NULL,
  dtype = NULL,
  space = NULL,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

robj

An R object to use as a template for the datatype and dataspace.

dtype

The datatype to use; an object of class H5T.

space

The dataspace to use; an object of class H5S.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_open_by_name()

This function implements the HDF5-API function H5Aopen_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_open_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_open_by_idx()

This function implements the HDF5-API function H5Aopen_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_open_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_exists_by_name()

This function implements the HDF5-API function H5Aexists_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_exists_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_exists()

This function implements the HDF5-API function H5Aexists. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_exists(attr_name)
Arguments
attr_name

The name of the attribute.


H5T$attr_rename_by_name()

This function implements the HDF5-API function H5Arename_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_rename_by_name(
  old_attr_name,
  new_attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
old_attr_name

The current name of the attribute.

new_attr_name

The new name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_rename()

This function implements the HDF5-API function H5Arename. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_rename(old_attr_name, new_attr_name)
Arguments
old_attr_name

The current name of the attribute.

new_attr_name

The new name of the attribute.


H5T$attr_delete()

This function implements the HDF5-API function H5Adelete. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_delete(attr_name)
Arguments
attr_name

The name of the attribute.


H5T$attr_delete_by_name()

This function implements the HDF5-API function H5Adelete_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_delete_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_delete_by_idx()

This function implements the HDF5-API function H5Adelete_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_delete_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_info_by_name()

This function implements the HDF5-API function H5Aget_info_by_name. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_info_by_name(
  attr_name,
  obj_name,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
attr_name

The name of the attribute.

obj_name

The name of the object, relative to the object the method is called on.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_info_by_idx()

This function implements the HDF5-API function H5Aget_info_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_info_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_name_by_idx()

This function implements the HDF5-API function H5Aget_name_by_idx. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_name_by_idx(
  n,
  obj_name,
  idx_type = h5const$H5_INDEX_NAME,
  order = h5const$H5_ITER_NATIVE,
  link_access_pl = h5const$H5P_DEFAULT
)
Arguments
n

The index of the item to access; zero-based.

obj_name

The name of the object, relative to the object the method is called on.

idx_type

The index to iterate over; one of the H5_INDEX_* values in h5const.

order

The order in which to iterate; one of the H5_ITER_* values in h5const.

link_access_pl

The link access property list. See H5P_LINK_ACCESS.


H5T$attr_get_number()

This function implements the HDF5-API function H5Aget_num_attrs. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_a.html for details.

Usage
H5T$attr_get_number()

H5T$create_reference()

This function implements the HDF5-API function H5Rcreate. If space=NULL then a H5R_OBJECT reference is created, otherwise a H5R_DATASET_REGION reference Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_r.html for details.

Usage
H5T$create_reference(name = ".", space = NULL)
Arguments
name

The name of the object, relative to the object the method is called on.

space

The dataspace to use; an object of class H5S.


H5T$new()

Internal use only

Usage
H5T$new(id)
Arguments
id

An HDF5 id; for internal use only.


H5T$get_class()

This function implements the HDF5-API function H5Tget_class. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$get_class()

H5T$get_size()

This function implements the HDF5-API function H5Tget_size. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$get_size(...)
Arguments
...

ignored


H5T$set_size()

This function implements the HDF5-API function H5Tset_size. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$set_size(size)
Arguments
size

The size of the object in bytes; use Inf for variable-length strings.


H5T$set_precision()

This function implements the HDF5-API function H5Tset_precision. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$set_precision(precision)
Arguments
precision

The precision of the datatype, in bits.


H5T$get_precision()

This function implements the HDF5-API function H5Tget_precision. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$get_precision()

H5T$set_order()

This function implements the HDF5-API function H5Tset_order. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$set_order(order)
Arguments
order

The order in which to iterate; one of the H5_ITER_* values in h5const.


H5T$get_order()

This function implements the HDF5-API function H5Tget_order. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$get_order()

H5T$set_offset()

This function implements the HDF5-API function H5Tset_offset. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$set_offset(offset)
Arguments
offset

The offset to apply; see the corresponding HDF5 function for how it is interpreted.


H5T$get_offset()

This function implements the HDF5-API function H5Tget_offset. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$get_offset()

H5T$set_pad()

This function implements the HDF5-API function H5Tset_pad. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$set_pad(pad)
Arguments
pad

The padding to use for unused bits; one of the H5T_PAD_* values in h5const.


H5T$get_pad()

This function implements the HDF5-API function H5Tget_pad. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$get_pad()

H5T$copy()

This function implements the HDF5-API function H5Tcopy. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$copy()

H5T$is_committed()

This function implements the HDF5-API function H5Tcommitted. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$is_committed()

H5T$equal()

This function implements the HDF5-API function H5Tequal. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$equal(dtype)
Arguments
dtype

The datatype to use; an object of class H5T.


H5T$is_vlen()

This function detects if the underlying type is H5T_VLEN or a variable length string. This is used to know if after reading a dataset, memory has to be freed

Usage
H5T$is_vlen()

H5T$detect_class()

This function implements the HDF5-API function H5Tdetect_class. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$detect_class(dtype_class)
Arguments
dtype_class

The datatype class to look for; one of the H5T_* class values in h5const.


H5T$get_native_type()

This function implements the HDF5-API function H5Tget_native_type. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$get_native_type(direction = h5const$H5T_DIR_ASCEND)
Arguments
direction

The direction in which to search for a native type; one of the H5T_DIR_* values in h5const.


H5T$get_create_plist()

This function implements the HDF5-API function H5Tget_create_plist. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T$get_create_plist()

H5T$to_text()

This function implements the HDF5-API function H5LTdtype_to_text.

Usage
H5T$to_text(lang_type = h5const$H5LT_DDL)
Arguments
lang_type

The language to produce the text representation in; one of the H5LT_LANG_* values in h5const.


H5T$print()

Prints information for the group

Usage
H5T$print(...)
Arguments
...

ignored


H5T$obj_info()

This function implements the HDF5-API function H5Oget_info. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_o.html for details.

Usage
H5T$obj_info(remove_internal_use_only = TRUE)
Arguments
remove_internal_use_only

Logical; should fields that are only of internal use be dropped from the result.

Author(s)

Holger Hoefling

Examples

my_int <- h5types$H5T_NATIVE_INT
my_int$to_text()
my_int$get_size()

# Show how to commit a datatype
fname <- tempfile(fileext = ".h5")
file <- H5File$new(fname, mode = "a")
my_int$is_committed()
file$commit("my_int", my_int)
my_int$is_committed()

# can now also add attributes
h5attr(my_int, "test") <- "A string"
h5attributes(my_int)

file$close_all()
file.remove(fname)

Class for HDF5 array datatypes.

Description

Inherits from class H5T. This class represents an array. As datasets in HDF5 are itself already arrays, this datatype is not needed there. It is mostly useful when a column in a H5T_COMPUND object is intended to be an array. This however makes it difficult to work with such objects in R - as a column of the corresponding data.frame has to be an array. So please use with care.

Value

Object of class H5T_ARRAY.

Super classes

H5RefClass -> H5T -> H5T_ARRAY

Methods

Public methods

Inherited methods

H5T_ARRAY$new()

Create an array datatype.

Usage
H5T_ARRAY$new(dims, dtype_base, id = NULL)
Arguments
dims

The dimension of the datatype

dtype_base

The datatype that makes up the elements of the array

id

internal use only


H5T_ARRAY$get_array_ndims()

This function implements the HDF5-API function H5Tget_array_ndims. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_ARRAY$get_array_ndims()

H5T_ARRAY$get_array_dims()

This function implements the HDF5-API function H5Tget_array_dims2. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_ARRAY$get_array_dims()

H5T_ARRAY$get_super()

This function implements the HDF5-API function H5Tget_super. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_ARRAY$get_super()

H5T_ARRAY$describe()

Print a detailed description of the datatype; this is experimental

Usage
H5T_ARRAY$describe()

Author(s)

Holger Hoefling

See Also

H5T


Class for HDF5 complex datatypes

Description

In HDF5, complex numbers don't actually exist. They are represented as H5T_COMPOUND with two columns named Real and Imaginary. Inherits from class H5T_COMPOUND.

Value

Object of class H5T_COMPLEX.

Super classes

H5RefClass -> H5T -> H5T_COMPOUND -> H5T_COMPLEX

Methods

Public methods

Inherited methods

H5T_COMPLEX$new()

Create a new complex datatype

Usage
H5T_COMPLEX$new(id = NULL)
Arguments
id

Internal use only

Author(s)

Holger Hoefling

See Also

H5T, H5T_COMPOUND


Class for HDF5 compound datatypes.

Description

Inherits from class H5T.

Value

Object of class H5T_COMPOUND.

Super classes

H5RefClass -> H5T -> H5T_COMPOUND

Methods

Public methods

Inherited methods

H5T_COMPOUND$new()

Create at compound type that is the HDF5 equivalent of a table

Usage
H5T_COMPOUND$new(labels, dtypes, size = NULL, offset = NULL, id = NULL)
Arguments
labels

The labels of the columns of the compound object

dtypes

The datatypes of the columns of the object; this is usually a list of objects of class H5T

size

The size of each datatype; if NULL, automatically inferred

offset

The offset where each datatype starts; can be different from the sum of the individual sizes so that datatypes are aligned with memory addresses. If NULL, inferred automatically

id

Internal use only


H5T_COMPOUND$pack()

This function implements the HDF5-API function H5Tpack. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_COMPOUND$pack()

H5T_COMPOUND$get_cpd_types()

Return H5T objects that represent the datatypes of the columns of the compound object. Returned as a list if more than 1

Usage
H5T_COMPOUND$get_cpd_types()

H5T_COMPOUND$get_cpd_labels()

Return the labels of the columns as a character vector

Usage
H5T_COMPOUND$get_cpd_labels()

H5T_COMPOUND$get_cpd_classes()

Return the classes of the columns as an object of type factor_ext

Usage
H5T_COMPOUND$get_cpd_classes()

H5T_COMPOUND$get_cpd_offsets()

Return the offsets of the datatypes

Usage
H5T_COMPOUND$get_cpd_offsets()

H5T_COMPOUND$describe()

Print a detailed description of the datatype; this is experimental

Usage
H5T_COMPOUND$describe()

Author(s)

Holger Hoefling

See Also

H5T

Examples

# create a H5T_COMPOUND  corresponding to a data-frame
my_cpd <- H5T_COMPOUND$new(c("name", "age", "salary"),
    dtypes=list(H5T_STRING$new(size=200), h5types$H5T_NATIVE_INT, h5types$H5T_NATIVE_DOUBLE))
my_cpd

Class for HDF5 enumeration datatypes.

Description

Inherits from class H5T.

Value

Object of class H5T_ENUM.

Super classes

H5RefClass -> H5T -> H5T_INTEGER -> H5T_ENUM

Methods

Public methods

Inherited methods

H5T_ENUM$new()

Create an enumeration datatype. This is either a factor-like object or a logical variable (that is internally represented as an ENUM-type.

Usage
H5T_ENUM$new(labels, values = seq_along(labels), id = NULL)
Arguments
labels

The labels of the ENUM-type

values

The values corresponding to the labels

id

Internal use only


H5T_ENUM$get_labels()

Return all the labels of the enumeration type

Usage
H5T_ENUM$get_labels()

H5T_ENUM$get_values()

Return the values of the enumeration type

Usage
H5T_ENUM$get_values()

H5T_ENUM$set_size()

Base type of every enum is H5T_INTEGER. This disables the set_size function

Usage
H5T_ENUM$set_size(size)
Arguments
size

The size of the object in bytes; use Inf for variable-length strings.


H5T_ENUM$get_super()

Returns H5T_INTEGER that is the base type of the enumeration

Usage
H5T_ENUM$get_super()

H5T_ENUM$describe()

Print a detailed description of the datatype; this is experimental

Usage
H5T_ENUM$describe()

Author(s)

Holger Hoefling

See Also

H5T

Examples

nucleotide_enum <- H5T_ENUM$new(labels=c("A", "C", "G", "T"), values=0:3)
nucleotide_enum
# For HDF5 1.8.16 or higher, the size and precision are set optimally
nucleotide_enum$get_size()
nucleotide_enum$get_precision()

Class for HDF5 floating point datatypes.

Description

Inherits from class H5T. Users should not create float types with this class, but instead use e.g. h5types$H5T_NATIVE_DOUBLE. Using the functions of this class, many aspects of the representation of the floating point number can then be manipulated.

Value

Object of class H5T_FLOAT.

Super classes

H5RefClass -> H5T -> H5T_FLOAT

Methods

Public methods

Inherited methods

H5T_FLOAT$set_fields()

This function implements the HDF5-API function H5Tset_fields. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_FLOAT$set_fields(spos, epos, esize, mpos, msize)
Arguments
spos

The bit position of the sign bit.

epos

The bit position of the exponent field.

esize

The size of the exponent field, in bits.

mpos

The bit position of the mantissa field.

msize

The size of the mantissa field, in bits.


H5T_FLOAT$get_fields()

This function implements the HDF5-API function H5Tget_fields. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_FLOAT$get_fields()

H5T_FLOAT$set_ebias()

This function implements the HDF5-API function H5Tset_ebias. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_FLOAT$set_ebias(ebias)
Arguments
ebias

The exponent bias.


H5T_FLOAT$get_ebias()

This function implements the HDF5-API function H5Tget_ebias. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_FLOAT$get_ebias()

H5T_FLOAT$set_norm()

This function implements the HDF5-API function H5Tset_norm. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_FLOAT$set_norm(norm)
Arguments
norm

The mantissa normalisation; one of the H5T_NORM_* values in h5const.


H5T_FLOAT$get_norm()

This function implements the HDF5-API function H5Tget_norm. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_FLOAT$get_norm()

H5T_FLOAT$set_inpad()

This function implements the HDF5-API function H5Tset_inpad. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_FLOAT$set_inpad(inpad)
Arguments
inpad

How to fill unused internal bits; one of the H5T_PAD_* values in h5const.


H5T_FLOAT$get_inpad()

This function implements the HDF5-API function H5Tget_inpad. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_FLOAT$get_inpad()

H5T_FLOAT$describe()

Print a detailed description of the datatype; this is experimental

Usage
H5T_FLOAT$describe()

Author(s)

Holger Hoefling

See Also

H5T


Class for HDF5 integer-datatypes.

Description

Inherits from class H5T. Users should not create integer datatypes themselves using this class. Instead, integer should be derived from one of the base-types such as h5types$H5T_NATIVE_INT (which internally automatically creates a copy of the type). For a complete list of types see h5types$overview.

Value

Object of class H5T_INTEGER.

Super classes

H5RefClass -> H5T -> H5T_INTEGER

Methods

Public methods

Inherited methods

H5T_INTEGER$set_sign()

This function implements the HDF5-API function H5Tset_sign. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_INTEGER$set_sign(sign)
Arguments
sign

The signedness of the integer; one of the H5T_SGN_* values in h5const.


H5T_INTEGER$get_sign()

This function implements the HDF5-API function H5Tget_sign. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_INTEGER$get_sign()

H5T_INTEGER$describe()

Return a vector that describes the key features of the datatype

Usage
H5T_INTEGER$describe()

Author(s)

Holger Hoefling

See Also

H5T

Examples

my_int <- h5types$H5T_NATIVE_INT

# make an int with 2 bit
my_int$set_sign(h5const$H5T_SGN_NONE)
my_int$set_size(1)
my_int$set_precision(2)
my_int$describe()

Class for HDF5 logical datatypes. This is an enum with the 3 values FALSE, TRUE and NA mapped on values 0, 1 and 2. Is transparently mapped onto a logical variable

Description

Inherits from class H5T.

Value

Object of class H5T_LOGICAL.

Super classes

H5RefClass -> H5T -> H5T_INTEGER -> H5T_ENUM -> H5T_LOGICAL

Methods

Public methods

Inherited methods

H5T_LOGICAL$new()

Create a logical datatype. This is internally represented by an ENUM-type

Usage
H5T_LOGICAL$new(include_NA = TRUE, id = NULL)
Arguments
include_NA

Logical; should the enumeration include a level for NA.

id

Internal use only

Author(s)

Holger Hoefling

See Also

H5T, H5T_ENUM


Class for HDF5 string datatypes.

Description

Inherits from class H5T.

Value

Object of class H5T_STRING.

Super classes

H5RefClass -> H5T -> H5T_STRING

Methods

Public methods

Inherited methods

H5T_STRING$new()

Create a string datatype

Usage
H5T_STRING$new(type = c("c", "fortran"), size = 1, id = NULL)
Arguments
type

The type to use. For a dataspace one of "simple", "scalar" or "null"; otherwise an object of class H5T.

size

Size of the string object. Set to Inf for variable size strings

id

internal use only


H5T_STRING$get_size()

Retrieves the length of the string, setting it to Inf it is of variable length. This function implements the HDF5-API function H5Tis_variable_str. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_STRING$get_size(variable_as_inf = TRUE)
Arguments
variable_as_inf

Logical; should variable-length strings report their size as Inf.


H5T_STRING$get_cset()

This function implements the HDF5-API function H5Tget_cset. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_STRING$get_cset()

H5T_STRING$set_cset()

This function implements the HDF5-API function H5Tset_cset. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_STRING$set_cset(cset = c("unknown", "UTF-8"))
Arguments
cset

The character set to use; one of the H5T_CSET_* values in h5const.


H5T_STRING$set_strpad()

This function implements the HDF5-API function H5Tset_strpad. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_STRING$set_strpad(strpad)
Arguments
strpad

The string padding to use; one of the H5T_STR_* values in h5const.


H5T_STRING$get_strpad()

This function implements the HDF5-API function H5Tget_strpad. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_STRING$get_strpad()

H5T_STRING$describe()

Print a detailed description of the datatype; this is experimental

Usage
H5T_STRING$describe()

Author(s)

Holger Hoefling

See Also

H5T

Examples

# fixed width string
str_flen <- H5T_STRING$new(size=100)
str_flen$is_vlen()
str_flen

# variable length string
str_vlen <- H5T_STRING$new(size=Inf)
str_vlen$is_vlen()
str_vlen

Class for HDF5 variable-length datatypes.

Description

Inherits from class H5T. This can make any datatype a variable length datatype. This would mostly be intended for storing ragged arrays.

Value

Object of class H5T_VLEN.

Super classes

H5RefClass -> H5T -> H5T_VLEN

Methods

Public methods

Inherited methods

H5T_VLEN$new()

Create a variable length datatype

Usage
H5T_VLEN$new(dtype_base, id = NULL)
Arguments
dtype_base

The basis-type of the variable length datatype

id

Internal use only


H5T_VLEN$get_super()

This function implements the HDF5-API function H5Tget_super. Please see the documentation at https://support.hdfgroup.org/documentation/hdf5/latest/group___h5_t.html for details.

Usage
H5T_VLEN$get_super()

H5T_VLEN$describe()

Print a detailed description of the datatype; this is experimental

Usage
H5T_VLEN$describe()

Author(s)

Holger Hoefling

See Also

H5T

Examples

vlen_int <- H5T_VLEN$new(h5types$H5T_NATIVE_INT)
vlen_int

These are all types that are used in HDF5

Description

HDF5 provides many native datatypes. These are all stored in the h5types environment. An overview of all available types can be seen using h5types$overview. Any specific type can be accessed using the $-operator. See also the examples below.

Author(s)

Holger Hoefling

Examples

h5types$overview
h5types$H5T_NATIVE_INT
h5types$H5T_NATIVE_DOUBLE

Return the version of the HDF5-API

Description

Return the version of the HDF5-API

Usage

h5version(verbose = TRUE)

Arguments

verbose

Should the information be printed to the screen as well

Details

Return the version of the HDF5-API and print it to the screen if requested

Value

Version of the underlying HDF5 API as a string

Author(s)

Holger Hoefling


Check if a file is an HDF5 file

Description

Check if a file is an HDF5 file

Usage

is_hdf5(name)

Arguments

name

The name of the file to check

Details

Uses the HDF5 function H5Fis_hdf5 to check if a file is of type HDF5.

Value

Logical, TRUE if file is of type HDF5

Author(s)

Holger Hoefling


List Groups and Datasets in object

Description

List all Group (H5Group) and Dataset (H5D) names in the current object. This function is part of the h5 wrapper classes and uses $ls() to retrieve group names.

Usage

list.groups(object, path = "/", full.names = FALSE, recursive = TRUE, ...)

list.datasets(object, path = "/", full.names = FALSE, recursive = TRUE, ...)

list.objects(
  object,
  obj_type = c("H5I_GROUP", "H5I_DATASET", "H5I_DATATYPE"),
  path = "/",
  full.names = FALSE,
  recursive = TRUE,
  ...
)

Arguments

object

CommonFG; Object implementing the CommonFG Interface (e.g. H5File, H5Group).

path

character; Path named to be used for iteration.

full.names

character; Specify if absolute DataSet path names should be returned.

recursive

logical; Specify if object should be traversed recursively.

...

Additional Parameters passed to $ls()

obj_type

character; Object type to be returned.

Value

character


Get the names of the items in the group or at the / root of the file

Description

Get the names of the items in the group or at the / root of the file

Usage

## S3 method for class 'H5Group'
names(x)

## S3 method for class 'H5File'
names(x)

Arguments

x

An object of class H5File or H5Group

Details

Works similar to the regular names function for a list. The names of the items of either a H5File at the root or a H5Group are returned as a character vector. The items are then accessed, again similar to a list, using [[.

Value

A character vector with the names of the items in the group/file.

Author(s)

Holger Hoefling


Print a data frame with extended factor objects

Description

Print a data frame that includes extended factor objects

Usage

## S3 method for class 'data.frame_ext'
print(x, ...)

Arguments

x

The data.frame_ext object to print; Is returned by ls from H5File and H5Group and this function allows for petter printing of factor_ext so that the label instead of the value is printed.

...

Parameters to be passed on directly to print.data.frame

Details

The regular print function for data-frames has special methods built-in for factors so that the label is printed instead of the constant. This function is intended to provide the same functionality for data frames with extended factors, by adding the class data.frame_ext to the class vector.

Value

The object to print itself, invisibly

Author(s)

Holger Hoefling


Convert a text description to a datatype

Description

Convert a text description to a datatype

Usage

text_to_dtype(text, lang_type = h5const$H5LT_DDL)

Arguments

text

The text to convert to the datatype

lang_type

The type of language to use; currently only H5LT_DDL is supported.

Details

Converts a text to a datatype using the HDF5 function H5LT_text_to_dtype.

Value

A datatype corresponding to the text with the appropriate class inheriting from H5T.

Author(s)

Holger Hoefling