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/HDF5/doc/RM/RM_H5Front.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], Novartis Institute for BioMedical Research (NIBR) [cph] |
Maintainer: | Holger Hoefling <[email protected]> |
License: | Apache License 2.0 | file LICENSE |
Version: | 1.3.11 |
Built: | 2024-11-05 06:19:04 UTC |
Source: | CRAN |
A package that allows to interface with the HDF5 C-library. Provides access to most of its functionality from inside R using R6 classes. For more details please see the README at the github page https://github.com/hhoeflin/hdf5r.
test_file <- tempfile(fileext=".h5") file.h5 <- H5File$new(test_file, mode="w") data(cars) file.h5$create_group("test") file.h5[["test/cars"]] <- cars cars_ds <- file.h5[["test/cars"]] h5attr(cars_ds, "rownames") <- rownames(cars) # Close the file at the end # the 'close' method closes only the file-id, but leaves object inside the file open # This may prevent re-opening of the file. 'close_all' closes the file and all objects in it file.h5$close_all() # now re-open it file.h5 <- H5File$new(test_file, mode="r+") # lets look at the content file.h5$ls(recursive=TRUE) cars_ds <- file.h5[["test/cars"]] # note that for now tables in HDF5 are 1-dimensional, not 2-dimensional mycars <- cars_ds[] h5attr_names(cars_ds) h5attr(cars_ds, "rownames") file.h5$close_all()
test_file <- tempfile(fileext=".h5") file.h5 <- H5File$new(test_file, mode="w") data(cars) file.h5$create_group("test") file.h5[["test/cars"]] <- cars cars_ds <- file.h5[["test/cars"]] h5attr(cars_ds, "rownames") <- rownames(cars) # Close the file at the end # the 'close' method closes only the file-id, but leaves object inside the file open # This may prevent re-opening of the file. 'close_all' closes the file and all objects in it file.h5$close_all() # now re-open it file.h5 <- H5File$new(test_file, mode="r+") # lets look at the content file.h5$ls(recursive=TRUE) cars_ds <- file.h5[["test/cars"]] # note that for now tables in HDF5 are 1-dimensional, not 2-dimensional mycars <- cars_ds[] h5attr_names(cars_ds) h5attr(cars_ds, "rownames") file.h5$close_all()
Retrieving a copy of a type
## S3 method for class 'types_env' x$name ## S3 method for class 'types_env' x[[name]]
## S3 method for class 'types_env' x$name ## S3 method for class 'types_env' x[[name]]
x |
The environment to request it from |
name |
The name of the type that is requested |
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
Returns an object that is a copy of a type that was requested
Holger Hoefling
Convert a double or integer to hex
as_hex(x)
as_hex(x)
x |
The integer or double vector to convert |
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.
Character string with the hex value
Holger Hoefling
Create an empty R-object according to a given HDF5 datatype
create_empty(nelem, dtype)
create_empty(nelem, dtype)
nelem |
The number of elements to use for the object |
dtype |
The datatype based on which an empty R-object should be created |
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.
An empty R object corresponding to the datatype that was passed in
Holger Hoefling
Create an extended factor
factor_ext(x, values, levels, drop = FALSE)
factor_ext(x, values, levels, drop = FALSE)
x |
The object to convert to an |
values |
The values used for the levels; This is were |
levels |
The levels of the object; character string |
drop |
Should non-occurring levels be dropped |
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.
An object of S3 class factor_ext
Holger Hoefling
factor_ext
objectsVarious functions for factor_ext
objects
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(...)
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(...)
x |
Object of type |
... |
Currently ignored |
value |
The object to assign; here has be a level of |
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 |
e1 , e2
|
The two objects in the equality or inequality comparison. |
Extracts the underlying values of an object (the generic here)
Extracts the underlying values of a factor_ext
object
Extracts the underlying values of a factor
Default of the values function; currently returns an error
Coerces factor_ext
to a character-representation using it levels, not values
Single-item subsetting of a factor_ext
object
Single-item subset assignment to a factor_ext
object
Subsetting of a factor_ext
object
Subset assignment to a factor_ext
object
Check if it is a factor_ext
object. Returns a logical
Checks if a factor_ext
could be coerced to a factor
. Return a logical.
Coerces to a factor
, otherwise throws an error if not possible.
Prints a factor_ext
object.
Compare two factor_ext
for equality.
Compare two factor_ext
for inequality.
Concatenate objects of type factor_ext
.
Depending on the function
Holger Hoefling
Flatten a nested data.frame
flatten_df(df, factor_ext_to_char = FALSE)
flatten_df(df, factor_ext_to_char = FALSE)
df |
The data.frame to flatten |
factor_ext_to_char |
Should extended factor variables be converted to characters (mainly for easy printing) |
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.
A flattened data.frame
Holger Hoefling
Guess the dimension of a chunk
guess_chunks(space_maxdims, dtype_size, chunk_size = getOption("hdf5r.chunk_size"))
guess_chunks(space_maxdims, dtype_size, chunk_size = getOption("hdf5r.chunk_size"))
space_maxdims |
Maximal dimensions of the dataset |
dtype_size |
Size of the datatype that is stored |
chunk_size |
Size of each chunk in bytes |
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,
An integer vector giving the dimension of the chunk
Holger Hoefling
Guess the HDF5 datatype of an R object
guess_nelem(x, dtype) guess_dim(x) guess_dtype(x, ds_dim = NULL, scalar = FALSE, string_len = getOption("hdf5r.default_string_len"))
guess_nelem(x, dtype) guess_dim(x) guess_dtype(x, ds_dim = NULL, scalar = FALSE, string_len = getOption("hdf5r.default_string_len"))
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 |
Should the datatype be created so that |
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 |
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.
An object of class H5T
that represents the HDF5-type of the Robj that was passed in
Holger Hoefling
Guess the dataspace of an object
guess_space(x, dtype, chunked = TRUE)
guess_space(x, dtype, chunked = TRUE)
x |
The R object for which to guess the space |
dtype |
Object of type |
chunked |
Is the datatype chunked? If yes, |
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.
An object of type H5S
Holger Hoefling
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.
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)
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)
... |
Additional parameters passed to |
object |
|
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 |
Below you can find a list of all h5 functions including hdf5r mappings.
Directly maps to H5File$new
, see also H5File
.
Maps to object$create_group
where object implements CommonFG.
Uses object$open
where object implements CommonFG.
Maps to object$create_dataset
where object implements CommonFG.
Maps to object$read
, see also H5D
.
Maps to object$close_all
for H5File
and object$close
for other.
Maps to object$flush
where object implements CommonFGDTA.
The following interfaces are defined:
Mario Annau (2017). h5: Interface to the 'HDF5' Library. R package version 0.9.9. https://github.com/mannau/h5
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.
Object of class H5A
.
get_info()
This function implements the HDF5-API function H5Aget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_name()
This function implements the HDF5-API function H5Aget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
get_space()
This function implements the HDF5-API function H5Aget_space. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
get_type(native = TRUE)
This function implements the HDF5-API function H5Aget_type. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
get_storage_size()
This function implements the HDF5-API function H5Aget_storage_size. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
read_low_level(buffer, mem_type, duplicate_buffer = FALSE)
Only for advanced users. See documentation for read
instead.
This function implements the HDF5-API function H5Aread.
Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
read(flags = getOption("hdf5r.h5tor_default"), drop = TRUE)
Reads the data of the attribute and returns it as an R-object
Parameters
Conversion rules for integer values. See also h5const
Logical. Should dimensions of length 1 be dropped (R-default for arrays)
write_low_level(buffer, mem_type)
Only for advanced users. See documentation for write
instead.
This function implements the HDF5-API function H5Awrite.
Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
write(robj, mem_type = NULL,
flush = getOption("hdf5r.flush_on_write"))
Writes the data of robj
to the attribute
Parameters
The object to write into the attribute
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.
print(...)
Prints information for the dataset
Parameters
ignored
flush(scope = h5const$H5F_SCOPE_GLOBAL)
This function implements the HDF5-API function H5Fflush. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
get_filename()
This function implements the HDF5-API function H5Fget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
Holger Hoefling
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()
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
h5attributes(x) h5attr_names(x) h5attr(x, which) h5attr(x, which) <- value
h5attributes(x) h5attr_names(x) h5attr(x, which) h5attr(x, which) <- value
x |
The object to which to attach the attribute to or retrieve it from. Can be one of |
which |
The name of the attribute to assign it to |
value |
The value to assign to the attribute. |
Implements high-level functions that allows interactions with HDF5-attributes in a way very similar to regular R-object attributes in R are handled.
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).
Holger Hoefling
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.
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
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
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
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
Combines H5TOR_CONV_INT64_INT_NOLOSS
and H5TOR_CONV_INT64_FLOAT_NOLOSS
and is set
as the default in the hdf5r.h5tor_default
option.
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.
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.
Is both H5TOR_CONV_INT64_INT
and H5TOR_CONV_UNIT64_FLOAT
Holger Hoefling
h5const$overview h5const$H5F_ACC_RDWR h5const$H5F_ACC_DEFAULT # Combining flags bitwOr(h5const$H5TOR_CONV_UINT64_NA, h5const$H5TOR_CONV_INT64_INT_NOLOSS)
h5const$overview h5const$H5F_ACC_RDWR h5const$H5F_ACC_DEFAULT # Combining flags bitwOr(h5const$H5TOR_CONV_UINT64_NA, h5const$H5TOR_CONV_INT64_INT_NOLOSS)
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
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.
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
The size of the dataset can be extracted using get_storage_size
The size of the dataset can be changed using the set_extent
method
Please also note the active methods
Dimension of the dataset
Maximum dimensions of the dataset
Dimension of the chunks
Returns the space, type, property-list and dimensions
Object of class H5D
.
new(id = NULL)
Initializes a new dataset-object. Only for internal use. Use the create_dataset
function for H5Group
and H5File
objects
Parameters
For internal use only
get_space()
This function implements the HDF5-API function H5Dget_space. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
get_space_status()
This function implements the HDF5-API function H5Dget_space_status. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
get_type(native = TRUE)
This function implements the HDF5-API function H5Dget_type. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
get_create_plist()
This function implements the HDF5-API function H5Dget_create_plist. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
get_access_plist()
This function implements the HDF5-API function H5Dget_access_plist. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
get_offset()
This function implements the HDF5-API function H5Dget_offset. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
get_storage_size()
This function implements the HDF5-API function H5Dget_storage_size. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
vlen_get_buf_size(type, space)
This function implements the HDF5-API function H5Dvlen_get_buf_size. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
vlen_reclaim(buffer, type, space,
dataset_xfer_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Dvlen_reclaim. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
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)
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://docs.hdfgroup.org/hdf5/v1_10/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
Parameters
An HDF5-space, represented as class H5S
that determines which part
of the dataset is being read. Can also be given as an id
The space as it is represented in memory; advanced feature; may be removed in the future. Can also be given as an id.
Memory type; extracted from the dataset if null (can be passed in for efficiency reasons Can also be given as an id.
Dataset transfer property list. See H5P_DATASET_XFER
Conversion rules for integer values. See also h5const
If TRUE
, the dimension attribute is set in the return value. How it is set
is determined by 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.
Logical. Should dimensions of length 1 be dropped (R-default for arrays)
read(args = NULL, dataset_xfer_pl = h5const$H5P_DEFAULT,
flags = getOption("hdf5r.h5tor_default"), drop = TRUE,
envir = parent.frame())
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
.
Parameters
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.
The environment in which to evaluate args
An object of class H5P_DATASET_XFER
.
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.
Logical. When reading data, should dimensions of size 1 be dropped.
Return
The data that was read as an R object
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"))
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
It writes that data from the robj
into the dataset.
Parameters
The object to write into the dataset
The space as it is represented in memory; advanced feature; may be removed in the future
Memory type; extracted from the dataset if null (can be passed in for efficiency reasons
An HDF5-space, represented as class H5S
that determines which part
of the dataset is being written.
Dataset transfer property list. See H5P_DATASET_XFER
Should a flush be done after the write
write(args, value, dataset_xfer_pl = h5const$H5P_DEFAULT,
envir = parent.frame())
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
.
Parameters
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.
The data to write to the dataset
The environment in which to evaluate args
An object of class H5P_DATASET_XFER
.
Return
The HDF5 dataset object, returned invisibly
set_extent(dims)
This function implements the HDF5-API function H5Dset_extent. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for details.
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_r.html for details.
print(..., max.attributes = 10)
Prints information for the dataset
Parameters
ignored
Maximum number of attribute names to print
obj_info(remove_internal_use_only = TRUE)
This function implements the HDF5-API function H5Oget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
get_obj_name()
This function implements the HDF5-API function H5Iget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
create_attr(attr_name, robj = NULL, dtype = NULL, space = NULL)
This function implements the HDF5-API function H5Acreate2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open(attr_name)
This function implements the HDF5-API function H5Aopen. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
create_attr_by_name(attr_name, obj_name, robj = NULL,
dtype = NULL, space = NULL,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Acreate_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aopen_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aopen_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_exists_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aexists_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_exists(attr_name)
This function implements the HDF5-API function H5Aexists. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_rename_by_name(old_attr_name, new_attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Arename_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_rename(old_attr_name, new_attr_name)
This function implements the HDF5-API function H5Arename. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete(attr_name)
This function implements the HDF5-API function H5Adelete. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Adelete_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Adelete_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_info_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_info_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_info_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_name_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_name_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_get_number()
This function implements the HDF5-API function H5Aget_num_attrs. Please see the documentation at https://support.hdfgroup.org/HDF5/doc/RM/RM_H5A.html#Annot-NumAttrs for details.
flush(scope = h5const$H5F_SCOPE_GLOBAL)
This function implements the HDF5-API function H5Fflush. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
get_filename()
This function implements the HDF5-API function H5Fget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
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
Holger Hoefling
# 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)
# 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)
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 H5Group
s 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:
Similar to a file system folder, used to organize HDF5 objects in a hierarchical way, see also H5Group
Objects to store actual data, see also H5D
Meta data objects to store extra information about Files, Groups and Datasets, see also H5A
Object of class 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)
Opens or creates a new HDF5 File
Parameters
Name of the file
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.
get_obj_count(types = h5const$H5F_OBJ_ALL)
This function implements the HDF5-API function H5Fget_obj_count. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
get_obj_ids(types = h5const$H5F_OBJ_ALL)
This function implements the HDF5-API function H5Fget_obj_ids. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
get_filesize()
This function implements the HDF5-API function H5Fget_filesize. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
file_info()
This function implements the HDF5-API function H5Fget_info2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/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
get_intent()
This function implements the HDF5-API function H5Fget_intent. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
close_all(close_self = TRUE)
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.
print(..., max.attributes = 10, max.listing = 10)
Prints information for the file
Parameters
Maximum number of attribute names to print
Maximum number of ls-items to print
ignored
open(name, link_access_pl = h5const$H5P_DEFAULT,
dataset_access_pl = h5const$H5P_DEFAULT,
type_access_pl = h5const$H5P_DEFAULT)
Opens groups, datasets or types using the appropriate HDF5-API functions. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for datasets, https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for types and https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for general objects.
open_by_idx(n, group_name = ".",
index_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Oopen_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
ls(recursive = FALSE, detailed = FALSE,
index_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT,
dataset_access_pl = h5const$H5P_DEFAULT,
type_access_pl = h5const$H5P_DEFAULT)
Returns the contents of a file or group as a data.frame.
exists(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lexists. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
path_valid(path, check_object_valid = TRUE)
This function implements the HDF5-API function H5LTpath_valid. Please see the documentation at https://support.hdfgroup.org/HDF5/doc/HL/RM_H5LT.html#H5LTpath_valid for details.
link(obj, new_link_name, link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Olink. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
obj_copy_to(dst_loc, dst_name, src_name,
object_copy_pl = h5const$H5P_DEFAULT,
link_create_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Ocopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
obj_copy_from(src_loc, src_name, dst_name,
object_copy_pl = h5const$H5P_DEFAULT,
link_create_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Ocopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
obj_info_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE, remove_internal_use_only = TRUE)
This function implements the HDF5-API function H5Oget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
obj_info_by_name(object_name, remove_internal_use_only = TRUE)
This function implements the HDF5-API function H5Oget_info_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
group_info()
This function implements the HDF5-API function H5Gget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for details.
group_info_by_name(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Gget_info_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for details.
group_info_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Gget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for details.
create_group(name, link_create_pl = h5const$H5P_DEFAULT,
group_create_pl = h5const$H5P_DEFAULT,
group_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Gcreate2 and H5Gcreate_anon (if name is NULL). Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for regular groups and https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for anonymous groups for details.
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)
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for regular groups and https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for anonymous groups for details.
Parameters
The name of the new dataset. If missing, an anonymous dataset is created
An R-object to take as a template for creating the dataset. Either robj
or both dtype
and space
have to be provided
The datatype to use for the creation of the object. Can be null if robj
is given.
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.
Dimension of the new dataset; used if space
is NULL
. overwrite the dimension guessed from robj
if robj
is given.
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
.
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 creation property list. See H5P_LINK_CREATE
Dataset creation property list. See H5P_DATASET_CREATE
Dataset access property list. See H5P_DATASET_ACCESS
commit(name, dtype, link_create_pl = h5const$H5P_DEFAULT,
type_create_pl = h5const$H5P_DEFAULT,
type_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Tcommit2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
link_create_hard(obj_loc, obj_name, link_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcreate_hard. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_create_soft(target_path, link_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcreate_soft. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_create_external(target_filename, target_obj_name, link_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcreate_external. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_exists(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lexists. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_move_from(src_loc, src_name, dst_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lmove. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_move_to(dst_loc, dst_name, src_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lmove. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_copy_from(src_loc, src_name, dst_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_copy_to(dst_loc, dst_name, src_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_delete(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Ldelete. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_delete_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Ldelete_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_info(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_info_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_value(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_val. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_value_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_val_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_name_by_idx(n, group_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_name_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
mount(name, child)
This function implements the HDF5-API function H5Fmount. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
unmount(name)
This function implements the HDF5-API function H5Funmount. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
create_reference(name = ".", space = NULL)
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_r.html for details.
obj_info(remove_internal_use_only = TRUE)
This function implements the HDF5-API function H5Oget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
get_obj_name()
This function implements the HDF5-API function H5Iget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
create_attr(attr_name, robj = NULL, dtype = NULL, space = NULL)
This function implements the HDF5-API function H5Acreate2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open(attr_name)
This function implements the HDF5-API function H5Aopen. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
create_attr_by_name(attr_name, obj_name, robj = NULL,
dtype = NULL, space = NULL,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Acreate_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aopen_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aopen_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_exists_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aexists_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_exists(attr_name)
This function implements the HDF5-API function H5Aexists. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_rename_by_name(old_attr_name, new_attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Arename_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_rename(old_attr_name, new_attr_name)
This function implements the HDF5-API function H5Arename. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete(attr_name)
This function implements the HDF5-API function H5Adelete. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Adelete_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Adelete_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_info_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_info_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_info_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_name_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_name_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_get_number()
This function implements the HDF5-API function H5Aget_num_attrs. Please see the documentation at https://support.hdfgroup.org/HDF5/doc/RM/RM_H5A.html#Annot-NumAttrs for details.
flush(scope = h5const$H5F_SCOPE_GLOBAL)
This function implements the HDF5-API function H5Fflush. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
get_filename()
This function implements the HDF5-API function H5Fget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
names(link_access_pl = h5const$H5P_DEFAULT)
Returns the names of the items in the group or at the root of the file
Parameters
The link-access property list. See https://docs.hdfgroup.org/hdf5/v1_10/group___l_a_p_l.html for more detail.
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
Holger Hoefling, Mario Annau
# 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)
# 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
h5garbage_collect()
h5garbage_collect()
This function triggers the HDF5 internal garbage collection. It is independent of the R garbage collection and currently has to be triggered by hand.
Invisible NULL
Holger Hoefling
Retrieve object from a group of file
## 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
## 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
x |
|
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 |
dataset_access_pl |
An object of class |
type_access_pl |
Currently always |
value |
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
.
A H5Group
, H5D
or H5T
, depending on the object saved in the group under
the requested name.
Holger Hoefling
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
.
Object of class H5Group
.
print(..., max.attributes = 10, max.listing = 10)
Prints information for the group
Parameters
Maximum number of attribute names to print
Maximum number of ls-items to print
ignored
open(name, link_access_pl = h5const$H5P_DEFAULT,
dataset_access_pl = h5const$H5P_DEFAULT,
type_access_pl = h5const$H5P_DEFAULT)
Opens groups, datasets or types using the appropriate HDF5-API functions. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for datasets, https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for types and https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for general objects.
open_by_idx(n, group_name = ".",
index_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Oopen_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
ls(recursive = FALSE, detailed = FALSE,
index_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT,
dataset_access_pl = h5const$H5P_DEFAULT,
type_access_pl = h5const$H5P_DEFAULT)
Returns the contents of a file or group as a data.frame.
exists(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lexists. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
path_valid(path, check_object_valid = TRUE)
This function implements the HDF5-API function H5LTpath_valid. Please see the documentation at https://support.hdfgroup.org/HDF5/doc/HL/RM_H5LT.html#H5LTpath_valid for details.
link(obj, new_link_name, link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Olink. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
obj_copy_to(dst_loc, dst_name, src_name,
object_copy_pl = h5const$H5P_DEFAULT,
link_create_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Ocopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
obj_copy_from(src_loc, src_name, dst_name,
object_copy_pl = h5const$H5P_DEFAULT,
link_create_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Ocopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
obj_info_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE, remove_internal_use_only = TRUE)
This function implements the HDF5-API function H5Oget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
obj_info_by_name(object_name, remove_internal_use_only = TRUE)
This function implements the HDF5-API function H5Oget_info_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
group_info()
This function implements the HDF5-API function H5Gget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for details.
group_info_by_name(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Gget_info_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for details.
group_info_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Gget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for details.
create_group(name, link_create_pl = h5const$H5P_DEFAULT,
group_create_pl = h5const$H5P_DEFAULT,
group_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Gcreate2 and H5Gcreate_anon (if name is NULL). Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for regular groups and https://docs.hdfgroup.org/hdf5/v1_10/group___h5_g.html for anonymous groups for details.
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)
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for regular groups and https://docs.hdfgroup.org/hdf5/v1_10/group___h5_d.html for anonymous groups for details.
Parameters
The name of the new dataset. If missing, an anonymous dataset is created
An R-object to take as a template for creating the dataset. Either robj
or both dtype
and space
have to be provided
The datatype to use for the creation of the object. Can be null if robj
is given.
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.
Dimension of the new dataset; used if space
is NULL
. overwrite the dimension guessed from robj
if robj
is given.
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
.
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 creation property list. See H5P_LINK_CREATE
Dataset creation property list. See H5P_DATASET_CREATE
Dataset access property list. See H5P_DATASET_ACCESS
commit(name, dtype, link_create_pl = h5const$H5P_DEFAULT,
type_create_pl = h5const$H5P_DEFAULT,
type_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Tcommit2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
link_create_hard(obj_loc, obj_name, link_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcreate_hard. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_create_soft(target_path, link_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcreate_soft. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_create_external(target_filename, target_obj_name, link_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcreate_external. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_exists(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lexists. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_move_from(src_loc, src_name, dst_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lmove. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_move_to(dst_loc, dst_name, src_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lmove. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_copy_from(src_loc, src_name, dst_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_copy_to(dst_loc, dst_name, src_name,
link_create_pl = h5const$H5P_DEFAULT,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lcopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_delete(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Ldelete. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_delete_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Ldelete_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_info(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_info_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_value(name, link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_val. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_value_by_idx(n, group_name = ".",
index_field = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_val_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
link_name_by_idx(n, group_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Lget_name_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_l.html for details.
mount(name, child)
This function implements the HDF5-API function H5Fmount. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
unmount(name)
This function implements the HDF5-API function H5Funmount. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
create_reference(name = ".", space = NULL)
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_r.html for details.
obj_info(remove_internal_use_only = TRUE)
This function implements the HDF5-API function H5Oget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
get_obj_name()
This function implements the HDF5-API function H5Iget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
create_attr(attr_name, robj = NULL, dtype = NULL, space = NULL)
This function implements the HDF5-API function H5Acreate2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open(attr_name)
This function implements the HDF5-API function H5Aopen. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
create_attr_by_name(attr_name, obj_name, robj = NULL,
dtype = NULL, space = NULL,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Acreate_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aopen_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aopen_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_exists_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aexists_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_exists(attr_name)
This function implements the HDF5-API function H5Aexists. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_rename_by_name(old_attr_name, new_attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Arename_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_rename(old_attr_name, new_attr_name)
This function implements the HDF5-API function H5Arename. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete(attr_name)
This function implements the HDF5-API function H5Adelete. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Adelete_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Adelete_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_info_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_info_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_info_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_name_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_name_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_get_number()
This function implements the HDF5-API function H5Aget_num_attrs. Please see the documentation at https://support.hdfgroup.org/HDF5/doc/RM/RM_H5A.html#Annot-NumAttrs for details.
flush(scope = h5const$H5F_SCOPE_GLOBAL)
This function implements the HDF5-API function H5Fflush. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
get_filename()
This function implements the HDF5-API function H5Fget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_f.html for details.
names(link_access_pl = h5const$H5P_DEFAULT)
Returns the names of the items in the group or at the root of the file
Parameters
The link-access property list. See https://docs.hdfgroup.org/hdf5/v1_10/group___l_a_p_l.html for more detail.
Holger Hoefling
fname <- tempfile(fileext = ".h5") file <- H5File$new(fname, mode = "a") group <- file$create_group("testgroup") group$print() group$close() file$close_all()
fname <- tempfile(fileext = ".h5") file <- H5File$new(fname, mode = "a") group <- file$create_group("testgroup") group$print() group$close() file$close_all()
It inherits all functions of the H5P
.
Object of class H5P_ATTRIBUTE_CREATE
.
new(id = NULL)
Create a new class of type H5P_ATTRIBUTE_CREATE
Parameters
Internal use only
set_char_encoding(encoding = h5const$H5T_CSET_UTF8)
This function implements the HDF5-API function H5Pset_char_encoding. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_char_encoding()
This function implements the HDF5-API function H5Pget_char_encoding. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
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.
Object of class H5P_CLASS
.
equal(cmp)
This function implements the HDF5-API function H5Pequal. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_DATASET_ACCESS
.
set_chunk_cache(rdcc_nslots = -1, rdcc_nbytes = -1,
rdcc_w0 = -1)
This function implements the HDF5-API function H5Pset_chunk_cache. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_chunk_cache()
This function implements the HDF5-API function H5Pget_chunk_cache. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_DATASET_CREATE
.
new(id = NULL)
Create a new class of type H5P_DATASET_CREATE
Parameters
Internal use only
set_layout(layout = h5const$H5D_CHUNKED)
This function implements the HDF5-API function H5Pset_layout. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_layout()
This function implements the HDF5-API function H5Pget_layout. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_chunk(chunk)
This function implements the HDF5-API function H5Pset_chunk. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_chunk(max_ndims)
This function implements the HDF5-API function H5Pget_chunk. If the layout is not chunked, returns NA. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_deflate(level)
This function implements the HDF5-API function H5Pset_deflate. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_fill_value(dtype, value)
This function implements the HDF5-API function H5Pset_fill_value. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_fill_value(dtype)
This function implements the HDF5-API function H5Pget_fill_value. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_fill_time(fill_time = h5const$H5D_FILL_TIME_IFSET)
This function implements the HDF5-API function H5Pset_fill_time. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_fill_time()
This function implements the HDF5-API function H5Pget_fill_time. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_alloc_time(alloc_time = h5const$H5D_ALLOC_TIME_DEFAULT)
This function implements the HDF5-API function H5Pset_alloc_time. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_alloc_time()
This function implements the HDF5-API function H5Pget_alloc_time. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_filter(filter = h5const$H5Z_FILTER_DEFLATE,
flags = h5const$H5Z_FLAG_OPTIONAL, cd_values = integer(0))
This function implements the HDF5-API function H5Pset_filter. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
all_filters_avail()
This function implements the HDF5-API function H5Pall_filters_avail. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_nfilters()
This function implements the HDF5-API function H5Pget_nfilters. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_filter(idx)
This function implements the HDF5-API function H5Pget_filter2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
modify_filter(filter = h5const$H5Z_FILTER_DEFLATE,
flags = h5const$H5Z_FLAG_OPTIONAL, cd_values = integer(0))
This function implements the HDF5-API function H5Pmodify_filter. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
remove_filter(filter = h5const$H5Z_FILTER_ALL)
This function implements the HDF5-API function H5Premove_filter. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_fletcher32()
This function implements the HDF5-API function H5Pset_fletcher32. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_nbit()
This function implements the HDF5-API function H5Pset_nbit. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_scaleoffset(scale_type = h5const$H5Z_SO_FLOAT_DSCALE,
scale_factor = 0)
This function implements the HDF5-API function H5Pset_scaleoffset. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_shuffle()
This function implements the HDF5-API function H5Pset_shuffle. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_szip()
This function implements the HDF5-API function H5Pset_szip. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_external(filename, offset, size)
This function implements the HDF5-API function H5Pset_external. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_external_count()
This function implements the HDF5-API function H5Pget_external_count. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_external(idx)
This function implements the HDF5-API function H5Pget_external. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_DATASET_XFER
.
new(id = NULL)
Create a new class of type H5P_DATASET_XFER
Parameters
Internal use only
set_buffer(size = 2^20)
This function implements the HDF5-API function H5Pset_buffer. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_edc_check(check = h5const$H5Z_ENABLE_EDC)
This function implements the HDF5-API function H5Pset_edc_check. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_edc_check()
This function implements the HDF5-API function H5Pget_edc_check. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_hyper_vector_size(size = 2^10)
This function implements the HDF5-API function H5Pset_hyper_vector_size. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_hyper_vector_size()
This function implements the HDF5-API function H5Pget_hyper_vector_size. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_btree_ratios(left, middle, right)
This function implements the HDF5-API function H5Pset_btree_ratios. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_btree_ratios()
This function implements the HDF5-API function H5Pget_btree_ratios. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_FILE_ACCESS
.
new(id = NULL)
Create a new class of type H5P_FILE_ACCESS
Parameters
Internal use only
set_cache(rdcc_nslots = 521, rdcc_nbytes = 2^20, rdcc_w0 = 0.75)
This function implements the HDF5-API function H5Pset_cache. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_cache()
This function implements the HDF5-API function H5Pget_cache. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_FILE_CREATE
.
new(id = NULL)
Create a new class of type H5P_FILE_CREATE
Parameters
Internal use only
set_userblock(size)
This function implements the HDF5-API function H5Pset_userblock. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_userblock()
This function implements the HDF5-API function H5Pget_userblock. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_sizes(sizeof_addr, sizeof_size)
This function implements the HDF5-API function H5Pset_sizes. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_sizes()
This function implements the HDF5-API function H5Pget_sizes. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_sym_k(ik, lk)
This function implements the HDF5-API function H5Pset_sym_k. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_sym_k()
This function implements the HDF5-API function H5Pget_sym_k. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_istore_k(ik)
This function implements the HDF5-API function H5Pset_istore_k. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_istore_k()
This function implements the HDF5-API function H5Pget_istore_k. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_file_space(strategy, threshold)
This function implements the HDF5-API function H5Pset_file_space. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_file_space()
This function implements the HDF5-API function H5Pget_file_space. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_LINK_ACCESS
.
new(id = NULL)
Create a new class of type H5P_LINK_ACCESS
Parameters
Internal use only
set_nlinks(nlinks)
This function implements the HDF5-API function H5Pset_nlinks. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_nlinks()
This function implements the HDF5-API function H5Pget_nlinks. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_elink_prefix(elink_prefix)
This function implements the HDF5-API function H5Pset_elink_prefix. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_elink_prefix()
This function implements the HDF5-API function H5Pget_elink_prefix. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_elink_acc_flags(elink_acc_flags = h5const$H5F_ACC_RDWR)
This function implements the HDF5-API function H5Pset_elink_acc_flags. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_elink_acc_flags()
This function implements the HDF5-API function H5Pget_elink_acc_flags. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_LINK_CREATE
.
new(id = NULL)
Create a new class of type H5P_LINK_CREATE
Parameters
Internal use only
set_char_encoding(encoding = h5const$H5T_CSET_UTF8)
This function implements the HDF5-API function H5Pset_char_encoding. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_char_encoding()
This function implements the HDF5-API function H5Pget_char_encoding. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_create_intermediate_group(create = TRUE)
This function implements the HDF5-API function H5Pset_create_intermediate_group. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_create_intermediate_group()
This function implements the HDF5-API function H5Pget_create_intermediate_group. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_OBJECT_COPY
.
new(id = NULL)
Create a new class of type H5P_OBJECT_COPY
Parameters
Internal use only
set_copy_obj(copy_options = 0)
This function implements the HDF5-API function H5Pset_copy_object. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_copy_obj()
This function implements the HDF5-API function H5Pget_copy_object. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
It inherits all functions of the H5P
.
Object of class H5P_OBJECT_CREATE
.
new(id = NULL)
Create a new class of type H5P_OBJECT_CREATE
Parameters
Internal use only
set_obj_track_times(track_times = TRUE)
This function implements the HDF5-API function H5Pset_obj_track_times. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_obj_track_times()
This function implements the HDF5-API function H5Pget_obj_track_times. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_attr_phase_change(max_compact, min_dense)
This function implements the HDF5-API function H5Pset_attr_phase_change. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_attr_phase_change()
This function implements the HDF5-API function H5Pget_attr_phase_change. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
set_attr_creation_order(crt_order_flags = 0)
This function implements the HDF5-API function H5Pset_attr_creation_order. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_attr_creation_order()
This function implements the HDF5-API function H5Pget_attr_creation_order. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
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
The base class is unlikely to be needed by users - they should use the appropriate subclass required.
Object of class H5P
.
new(id = NULL)
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
Parameters
Internal use only
get_class()
This function implements the HDF5-API function H5Pget_class. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
get_class_name()
This function implements the HDF5-API function H5Pget_class_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
copy()
This function implements the HDF5-API function H5Pcopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
equal(cmp)
This function implements the HDF5-API function H5Pequal. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_p.html for details.
Holger Hoefling
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()
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()
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.
Object of class H5R_DATASET_REGION
.
new(num = 0, id = NULL)
Create a new reference for dataset regions; Usually, users shouldn't have to call this, but use the
create_reference
method of a dataset.
dereference(object_access_pl = h5const$H5P_DEFAULT, obj = NULL,
get_value = FALSE)
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_r.html for details.
Parameters
Overriding the default file the reference is referring to
The object-access property list. Currently always the default
Holger Hoefling
H5R
objectsVarious functions for H5R
objects
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")
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")
x |
Object of type |
i |
First dimension |
j |
Second dimension |
... |
Any other dimensions (for subsetting), or objects to concatenate (for |
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 |
|
optional |
logical. If |
nm |
The column names to use |
mode |
Only 'any' supported |
width.cutoff |
ignored |
collapse |
ignored |
Check if object inherits from H5R
Check if object inherits from H5R_OBJECT
Check if object inherits from H5R_DATASET_REGION
Returns the names of the elements of the vector
Returns the length of the vector
Array subsetting function
Array subset assignment
Concatenation of H5R
vectors
Dimensionality of the object
Assign dimension of the object
Transpose a matrix of H5R
objects
Get the dimnames of the object
Set the dimnames of the object
cbind functionality for H5R
objects
rbind functionality for H5R
objects
Printing of an object of class h5R
Formatting of an H5R object
Coerce an H5R
object to a data.frame
Coerce to a vector
Coerces the object to a data.frame
Coerces to a vector
Depending on the function
Holger Hoefling
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.
Object of class H5R_OBJECT
.
new(num = 0, id = NULL)
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
dereference(object_access_pl = h5const$H5P_DEFAULT, obj = NULL)
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_r.html for details.
Parameters
Overriding the default file the reference is referring to
The object-access property list. Currently always the default
Holger Hoefling
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
Object of class H5R
.
subset_read(dim_index, drop = TRUE)
Method that returns a subset of the data in the H5R-object
Parameters
A list of dimension indices as usually pasted into [
Logical. Should dimensions of size 1 be dropped.
subset2_read(i, exact = TRUE)
Method to read a single item
Parameters
The single item to read
Is the item name exact or should partial matching be allowed?
subset_assign(dim_index, value)
Assign values into a subset of the H5R-vector
Parameters
A list of dimension indices as usually passed into [
The value to assign
subset2_assign(i, exact = TRUE, value)
Assign a value to a single value in the array
Parameters
the index where to assign the value
The value to assign
t()
Transpose the object if it is a matrix (i.e. has rank 2
length()
Get the length of the object
ref(ref)
Get or assign the internal raw-vector representation of the data. Usually, user's shouldn't have to use this.
dim(x)
Get or assign the dimensionality of the object
dimnames(x)
Get or assign the dimnames of the object
names(x)
Get or assign the names of the object
rank()
Get the rank of the object
Holger Hoefling
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()
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()
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
Object of reference class H5RefClass
.
id
Returns the id of the object as an integer
new(id = NULL)
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.
close()
Closes an object and calls the appropriate HDF5 function for the type of object
print(...)
Prints the class of the object and the id
methods()
Prints available methods on the screen
get_file_id()
This function implements the HDF5-API function H5Iget_file_id. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
get_obj_type()
This function implements the HDF5-API function H5Iget_type. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
get_ref()
This function implements the HDF5-API function H5Iget_ref. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
inc_ref()
This function implements the HDF5-API function H5Iinc_ref. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
dec_ref()
This function implements the HDF5-API function H5Idec_ref. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
id()
Returns the id of the object
is_valid()
This function implements the HDF5-API function H5Iis_valid.
Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/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
Holger Hoefling
Selecting and assigning subsets of HDF5-Spaces and HDF5-Datasets
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
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
x |
|
d1 |
First dimension of the object |
... |
Used for other dimension of the object |
op |
Operation to perform on the |
envir |
The environment in which the dimension indices |
dataset_xfer_pl |
An object of class |
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 |
drop |
Logical. When reading data, should dimensions of size 1 be dropped. |
value |
The value to assign to the dataset |
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.
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.
Holger Hoefling
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.
Object of class H5S
.
new(type = c("simple", "scalar", "null"), dims = NULL,
maxdims = dims, decode_buf = NULL, id = NULL)
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
Parameters
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.
The dimension of the space in case it is of type simple
The maximal dimensions of the space
The character string that holds the encoded representation of a space
An existing HDF5 id; internal use only
copy()
This function implements the HDF5-API function H5Scopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
encode()
This function implements the HDF5-API function H5Sencode. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
is_simple()
This function implements the HDF5-API function H5Sis_simple. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_simple_extent_ndims()
This function implements the HDF5-API function H5Sget_simple_extent_ndims. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
offset_simple(offset)
This function implements the HDF5-API function H5Soffset_simple. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_simple_extent_dims()
This function implements the HDF5-API function H5Sget_simple_extent_dims. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_simple_extent_npoints()
This function implements the HDF5-API function H5Sget_simple_extent_npoints. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_simple_extent_type()
This function implements the HDF5-API function H5Sget_simple_extent_type. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
extent_copy(h5s_source)
This function implements the HDF5-API function H5Sextent_copy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
extent_equal(h5s_cmp)
This function implements the HDF5-API function H5Sextent_equal. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
set_extent_simple(dims, maxdims)
This function implements the HDF5-API function H5Sset_extent_simple. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
set_extent_none()
This function implements the HDF5-API function H5Sset_extent_none. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_select_type()
This function implements the HDF5-API function H5Sget_select_type. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_select_npoints()
This function implements the HDF5-API function H5Sget_select_npoints. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_select_hyper_nblocks()
This function implements the HDF5-API function H5Sget_select_hyper_nblocks. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_select_hyper_blocklist(startblock = 0,
numblocks = (self$get_select_hyper_nblocks() - startblock))
This function implements the HDF5-API function H5Sget_select_hyper_blocklist. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_select_elem_npoints()
This function implements the HDF5-API function H5Sget_select_elem_npoints. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_select_elem_pointlist(startpoint = 0,
numpoints = (self$get_select_elem_npoints() - startpoint))
This function implements the HDF5-API function H5Sget_select_elem_pointlist. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
get_select_bounds()
This function implements the HDF5-API function H5Sget_select_bounds. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
select_all()
This function implements the HDF5-API function H5Sselect_all. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
select_none()
This function implements the HDF5-API function H5Sselect_none. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
select_valid()
This function implements the HDF5-API function H5Sselect_valid. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
select_elements(coord, op = h5const$H5S_SELECT_SET, byrow = TRUE)
This function implements the HDF5-API function H5Sselect_elements. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
select_hyperslab(start, count, stride = NULL, block = NULL,
op = h5const$H5S_SELECT_SET)
This function implements the HDF5-API function H5Sselect_hyperslab. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
subset(args, op = h5const$H5S_SELECT_SET, envir = parent.frame())
Subsetting the space. This is mainly intended as a helper function for the '[' function, but can also be used on its own.
Parameters
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.
The operator to use. Same as for the other HDF5 space selection functions. One of the elements shown in
h5const$H5S_seloper_t
The environment in which to evaluate args
print(...)
Prints information for the group
Parameters
ignored
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()
This function implements the HDF5-API function H5Sget_simple_extent_ndims. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_s.html for details.
Holger Hoefling
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()
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()
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.
Object of class H5T_ARRAY
.
new(dims, dtype_base, id = NULL)
Create an array datatype.
Parameters
The dimension of the datatype
The datatype that makes up the elements of the array
internal use only
get_array_ndims()
This function implements the HDF5-API function H5Tget_array_ndims. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_array_dims()
This function implements the HDF5-API function H5Tget_array_dims2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_super()
This function implements the HDF5-API function H5Tget_super. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
describe()
Print a detailed description of the datatype; this is experimental
Holger Hoefling
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
.
Object of class H5T_COMPLEX
.
new(id = NULL)
Create a new complex datatype
Parameters
Internal use only
Holger Hoefling
Inherits from class H5T
.
Object of class H5T_COMPOUND
.
new(labels, dtypes, size = NULL, offset = NULL, id = NULL)
Create at compound type that is the HDF5 equivalent of a table
Parameters
The labels of the columns of the compound object
The datatypes of the columns of the object; this is usually a list of objects
of class H5T
The size of each datatype; if NULL
, automatically inferred
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
Internal use only
pack()
This function implements the HDF5-API function H5Tpack. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
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
get_cpd_labels()
Return the labels of the columns as a character vector
get_cpd_classes()
Return the classes of the columns as an object of type factor_ext
get_cpd_offsets()
Return the offsets of the datatypes
describe()
Print a detailed description of the datatype; this is experimental
Holger Hoefling
# 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
# 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
Inherits from class H5T
.
Object of class H5T_ENUM
.
new(labels, values = seq_along(labels), id = NULL)
Create an enumeration datatype. This is either a factor-like object or a logical variable (that is internally represented as an ENUM-type.
Parameters
The labels of the ENUM-type
The values corresponding to the labels
Internal use only
get_labels()
Return all the labels of the enumeration type
get_values()
Return the values of the enumeration type
set_size(size)
Base type of every enum is H5T_INTEGER
. This disables the set_size function
get_super()
Returns H5T_INTEGER
that is the base type of the enumeration
describe()
Print a detailed description of the datatype; this is experimental
Holger Hoefling
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()
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()
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.
Object of class H5T_FLOAT
.
set_fields(spos, epos, esize, mpos, msize)
This function implements the HDF5-API function H5Tset_fields. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_fields()
This function implements the HDF5-API function H5Tget_fields. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_ebias(ebias)
This function implements the HDF5-API function H5Tset_ebias. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_ebias()
This function implements the HDF5-API function H5Tget_ebias. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_norm(norm)
This function implements the HDF5-API function H5Tset_norm. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_norm()
This function implements the HDF5-API function H5Tget_norm. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_inpad(inpad)
This function implements the HDF5-API function H5Tset_inpad. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_inpad()
This function implements the HDF5-API function H5Tget_inpad. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
describe()
Print a detailed description of the datatype; this is experimental
Holger Hoefling
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
.
Object of class H5T_INTEGER
.
set_sign(sign)
This function implements the HDF5-API function H5Tset_sign. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_sign()
This function implements the HDF5-API function H5Tget_sign. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
describe()
Return a vector that describes the key features of the datatype
Holger Hoefling
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()
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()
Inherits from class H5T
.
Object of class H5T_LOGICAL
.
new(include_NA = TRUE, id = NULL)
Create a logical datatype. This is internally represented by an ENUM-type
Parameters
Internal use only
Holger Hoefling
Inherits from class H5T
.
Object of class H5T_STRING
.
new(type = c("c", "fortran"), size = 1, id = NULL)
Create a string datatype
Parameters
C or fortran type string
Size of the string object. Set to Inf
for variable size strings
internal use only
get_size(variable_as_inf = TRUE)
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_cset()
This function implements the HDF5-API function H5Tget_cset. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_cset(cset = c("unknown", "UTF-8"))
This function implements the HDF5-API function H5Tset_cset. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_strpad(strpad)
This function implements the HDF5-API function H5Tset_strpad. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_strpad()
This function implements the HDF5-API function H5Tget_strpad. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
describe()
Print a detailed description of the datatype; this is experimental
Holger Hoefling
# 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
# 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
Inherits from class H5T
. This can make any datatype a variable length datatype.
This would mostly be intended for storing ragged arrays.
Object of class H5T_VLEN
.
new(dtype_base, id = NULL)
Create a variable length datatype
Parameters
The basis-type of the variable length datatype
Internal use only
get_super()
This function implements the HDF5-API function H5Tget_super. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
describe()
Print a detailed description of the datatype; this is experimental
Holger Hoefling
vlen_int <- H5T_VLEN$new(h5types$H5T_NATIVE_INT) vlen_int
vlen_int <- H5T_VLEN$new(h5types$H5T_NATIVE_INT) vlen_int
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
H5T_BITFIELD
(currently identical to the integer class)
Object of class H5T
.
new(id)
Internal use only
get_class()
This function implements the HDF5-API function H5Tget_class. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_size(...)
This function implements the HDF5-API function H5Tget_size. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
Parameters
ignored
set_size(size)
This function implements the HDF5-API function H5Tset_size. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_precision(precision)
This function implements the HDF5-API function H5Tset_precision. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_precision()
This function implements the HDF5-API function H5Tget_precision. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_order(order)
This function implements the HDF5-API function H5Tset_order. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_order()
This function implements the HDF5-API function H5Tget_order. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_offset(offset)
This function implements the HDF5-API function H5Tset_offset. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_offset()
This function implements the HDF5-API function H5Tget_offset. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
set_pad(pad)
This function implements the HDF5-API function H5Tset_pad. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_pad()
This function implements the HDF5-API function H5Tget_pad. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
copy()
This function implements the HDF5-API function H5Tcopy. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
is_committed()
This function implements the HDF5-API function H5Tcommitted. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
equal(dtype)
This function implements the HDF5-API function H5Tequal. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
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
detect_class(dtype_class)
This function implements the HDF5-API function H5Tdetect_class. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_native_type(direction = h5const$H5T_DIR_ASCEND)
This function implements the HDF5-API function H5Tget_native_type. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
get_create_plist()
This function implements the HDF5-API function H5Tget_create_plist. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_t.html for details.
to_text(lang_type = h5const$H5LT_DDL)
This function implements the HDF5-API function H5LTdtype_to_text.
print(...)
Prints information for the group
Parameters
ignored
obj_info(remove_internal_use_only = TRUE)
This function implements the HDF5-API function H5Oget_info. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_o.html for details.
get_obj_name()
This function implements the HDF5-API function H5Iget_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_i.html for details.
create_attr(attr_name, robj = NULL, dtype = NULL, space = NULL)
This function implements the HDF5-API function H5Acreate2. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open(attr_name)
This function implements the HDF5-API function H5Aopen. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
create_attr_by_name(attr_name, obj_name, robj = NULL,
dtype = NULL, space = NULL,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Acreate_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aopen_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_open_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aopen_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_exists_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aexists_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_exists(attr_name)
This function implements the HDF5-API function H5Aexists. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_rename_by_name(old_attr_name, new_attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Arename_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_rename(old_attr_name, new_attr_name)
This function implements the HDF5-API function H5Arename. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete(attr_name)
This function implements the HDF5-API function H5Adelete. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Adelete_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_delete_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Adelete_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_info_by_name(attr_name, obj_name,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_info_by_name. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_info_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_info_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_name_by_idx(n, obj_name, idx_type = h5const$H5_INDEX_NAME,
order = h5const$H5_ITER_NATIVE,
link_access_pl = h5const$H5P_DEFAULT)
This function implements the HDF5-API function H5Aget_name_by_idx. Please see the documentation at https://docs.hdfgroup.org/hdf5/v1_10/group___h5_a.html for details.
attr_get_number()
This function implements the HDF5-API function H5Aget_num_attrs. Please see the documentation at https://support.hdfgroup.org/HDF5/doc/RM/RM_H5A.html#Annot-NumAttrs for details.
create_reference(name = ".", space = NULL)
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://docs.hdfgroup.org/hdf5/v1_10/group___h5_r.html for details.
Holger Hoefling
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)
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)
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.
Holger Hoefling
h5types$overview h5types$H5T_NATIVE_INT h5types$H5T_NATIVE_DOUBLE
h5types$overview h5types$H5T_NATIVE_INT h5types$H5T_NATIVE_DOUBLE
Return the version of the HDF5-API
h5version(verbose = TRUE)
h5version(verbose = TRUE)
verbose |
Should the information be printed to the screen as well |
Return the version of the HDF5-API and print it to the screen if requested
Version of the underlying HDF5 API as a string
Holger Hoefling
Check if a file is an HDF5 file
is_hdf5(name)
is_hdf5(name)
name |
The name of the file to check |
Uses the HDF5 function H5Fis_hdf5
to check if a file is of type HDF5.
Logical, TRUE if file is of type HDF5
Holger Hoefling
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.
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, ...)
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, ...)
object |
|
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 |
obj_type |
character; Object type to be returned. |
/
root of the fileGet the names of the items in the group or at the /
root of the file
## S3 method for class 'H5Group' names(x) ## S3 method for class 'H5File' names(x)
## S3 method for class 'H5Group' names(x) ## S3 method for class 'H5File' names(x)
x |
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 [[
.
A character vector with the names of the items in the group/file.
Holger Hoefling
Print a data frame that includes extended factor objects
## S3 method for class 'data.frame_ext' print(x, ...)
## S3 method for class 'data.frame_ext' print(x, ...)
x |
The |
... |
Parameters to be passed on directly to |
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.
The object to print itself, invisibly
Holger Hoefling
Convert a text description to a datatype
text_to_dtype(text, lang_type = h5const$H5LT_DDL)
text_to_dtype(text, lang_type = h5const$H5LT_DDL)
text |
The text to convert to the datatype |
lang_type |
The type of language to use; currently only |
Converts a text to a datatype using the HDF5 function H5LT_text_to_dtype.
A datatype corresponding to the text with the appropriate class inheriting from H5T
.
Holger Hoefling