Data sets include far more ancillary information than simple tables of numbers and the DataSet Object (DSO) was designed as a generic container that can hold all of this information. The standard DataSet object is similar to a Matlab structure but it is intended to standardize how data is organized and maintained. It was originally designed in 2000 by a consortium of chemical and engineering industry experts to contain the kinds of data that they worked with in real applications. It has been updated numerous times since then to add relevant functionality needed for multivariate analysis of physical science and engineering data.
The DataSet Object includes fields for sample and variable labels, class variables, time and wavelength axes, etc. It can contain standard discrete, time-series, or multi-dimensional image data. The basic data table is a single-type array and can contain any numerical or logical data types. One or more "class" sets can also be created to contain categorical information. Labels and classes can be used as an index into the DSO.
NOTE: This object does not require the Matlab Statistics Toolbox but is also not compatible with the Statistics Toolbox Data Array Object. Adjust your Matlab path accordingly if you plan to use both objects.
DataSet Object web page - http://www.eigenvector.com/software/dataset.htm
DataSet Object wiki documentation - http://wiki.eigenvector.com/index.php?title=DataSet_Object
Scott Koch (2019). DataSet Object (https://www.mathworks.com/matlabcentral/fileexchange/39336-dataset-object), MATLAB Central File Exchange. Retrieved .
Yes, I'll upload a new version shortly.
In Matlab 2016b, I received the following error (not present in 2015b):
"Error using inputname
Calling inputname from overloads of subsref, subsasgn, numel, and subsindex not supported."
Are there plans to add support for newer Matlab versions?
Here's a little more info about our user's distribution of MATLAB versions and why we often don't use the very latest MATLAB features:
Even just a few percent of our users amounts to hundreds of people, so we don't take dropping support for older versions of MATLAB lightly.
Yes, really! We had a meeting in Chicago with several instrument and software companies including representation from TMW to discuss what should go into a standard data format. We took this information and create the first version of the object, which was made publicly available in January 2002. The DSO has evolved considerably since that time.
Regarding it being an "old style" MATLAB object, well, yes it is. Our software has many thousands of users and we strive to be compatible with older MATLAB versions to the largest extent possible. Currently, the majority of our code is compatible back to MATLAB 7.0.4. This wouldn't be the case if we switched to the newer objects.
Old style MATLAB objects.
..."designed in 2000 by a consortium of chemical and engineering industry experts" really!?!
Update to Dataset include with PLS_Toolbox 8.7.
Updates for 2016b
Add links to web page and documentation.