DataSet Construction

From Eigenvector Research Documentation Wiki
Revision as of 12:22, 23 May 2016 by imported>Mathias (→‎Creating 3-Way Data)
Jump to navigation Jump to search

Getting Started

In general, data is stored in a dataset object.



From a GUI

Using PLS_Toolbox and Solo, it is easy to import data into a dataset object using the data importer. From the workspace browser select File/Import Data to launch the GUI.


Alternatively this can be acheived by dragging the desired file into the Workspace Browser. In the case of text based file formats such as CSV, this will launch the following window.

Text Import.png

This window will allow the user to choose options specefic to this file, such as the number of header rows to ignore, and which delimiter to use. Clicking OK will launch the data import tool pictured below. The user can specify which columns and rows will be used as the datasets axisscales and labels. In this example, the first row and the second column have been specefied as axisscales.

Import.png



From the MATLAB Command Line

From the command line, the easiest way to create a dataset is to pass an array to the dataset function. First we will create an array of data to be passed to the dataset function.

>> t    = [0:0.1:10]';
>> x    = [cos(t) sin(t) exp(-t)];
>> data = dataset(x)
 
data = 
       name: x
       type: data 
       date: 23-May-2016 11:24:53
    moddate: 23-May-2016 11:24:53
       data: 101x3 [double]
      label: {2x1} [array (char)]
               Mode 1  [: ] 
               Mode 2  [: ] 
  axisscale: {2x1} [vector (real)] (axistype)
               Mode 1  [: ] (none) 
               Mode 2  [: ] (none) 
      title: {2x1} [vector (char)]
               Mode 1  [: ] 
               Mode 2  [: ] 
      class: {2x1} [vector (double)]
               Mode 1  [: ] 
               Mode 2  [: ] 
    classid: {2x1} [cell of strings]
    include: {2x1} [vector (integer)]
               Mode 1  [: 1x101] 
               Mode 2  [: 1x3]   
    history: {1x1 cell} [array (char)]
      OTHER: [View Class Summary]

Alternatively we could start with an empty dataset and assign the the array x to its data field.

newdata = dataset;
newdata.data = x;

Similarly we may set the other fields of the dataset object individually.

vars = {'cos(t)';'sin(t)';'exp(-t)'};
newdata.author   = 'Data Manager';        %sets the author field
newdata.label{2} = vars;                  %sets the labels for columns = dimension 2
newdata.labelname{2} = 'Variables';       %sets the name of the label for columns
newdata.axisscale{1} = t;                 %sets the axis scale for rows = dimension 1
newdata.axisscalename{1} = 'Time';        %sets the name of the axis scale for rows
newdata.title{1}         = 'Time (s)';    %sets the title for rows
newdata.titlename{1}     = 'Time Axis';   %sets the titlename for rows
newdata.title{2} = 'f(t)';                %sets the title for columns
newdata.titlename{2} = 'Functions';       %sets the titlename for columns

Creating 3-Way Data

There are several ways to create 3-way data in PLS_Toolbox.

If the data is given in seperate text based files such as .csv, the data can easily be imported into a 3-way dataset using the Text import data tool. By dragging all files into the Workspace Browser and then selecting