h5writeAttribute#
Purpose#
Writes a GAUSS matrix, N-dimensional array or string array as an attribute of an HDF5 dataset.
Format#
- retcode = h5writeAttribute(fname, dname, attr_name, attr)#
- Parameters:
fname (string) – a name of the HDF5 file.
dname (string) – a name of the dataset in the HDF5 file.
attr_name (string) – the name of attribute to write.
attr (matrix) – N-dimensional array or string array, the contents of the attribute.
- Returns:
retcode (scalar) – 0 if successful, non-zero otherwise.
Attributes in an HDF5 file cannot be read or written partially. The entire contents of the attribute must be read or written in one call.
GAUSS functions that take in an HDF5 dataset as a data source (see
dstatmt()
,glm()
), expect the dataset to have an attribute called"headers"
, containing the variable names of the dataset.
Examples#
Create an HDF5 dataset and add headers#
// Define file name
fname = "commodities.h5";
// Name of dataset in HDf5 file
dname = "/energy";
// Create an HDF5 dataset with room for 100 observations of 4 variables
call h5create(fname, dname, 100 | 4);
// Variable names for the dataset
attr = "Crude Oil"$|"Gasoline"$|"Heating Oil"$|"Diesel";
// Define a name of the attributes
attr_name = "headers";
// Write attributes to a HDF5 file
call h5writeAttribute(fname, dname, attr_name, attr);
// Read attributes from a HDF5 file
attr_read = h5readAttribute(fname, dname, attr_name);
Add data and calculate descriptive statistics#
// Set seed for repeatable random data
rndseed 54235;
// Create 100x4 random normal data
x = rndn(100, 4);
// Write data to dataset created in the example above
call h5write(fname, dname, x);
/*
** Calculate descriptive statistics on some of the variables
** using an hdf5 file schema (h5://filename/dataset)
*/
call dstatmt("h5://commodities.h5/energy", "Gasoline + Heating Oil");
----------------------------------------------------------------------------------
Variable Mean Std Dev Variance Minimum Maximum Valid Missing
----------------------------------------------------------------------------------
Gasoline 0.0212 1.0130 1.0261 -2.9943 2.3527 100 0
Heating Oil -0.1120 0.9263 0.8580 -2.7726 3.0910 100 0
See also
Functions h5readAttribute()
, h5read()
, h5write()
, h5create()
, h5write()