Создайте массив набора данных из переменных рабочей области

Примечание

The dataset тип данных не рекомендуется. Для работы с неоднородными данными используйте MATLAB® table вместо этого тип данных. См. MATLAB table документация для получения дополнительной информации.

Создайте массив набора данных из числового массива

В этом примере показано, как создать массив набора данных из числового массива, существующего в рабочей области MATLAB ® .

Загрузите выборочные данные.

load fisheriris

Две переменные загружаются в рабочую область: meas, числовой массив 150 на 4 и species, массив ячеек 150 на 1 с видовыми метками.

Создайте массив набора данных.

Использование mat2dataset для преобразования числового массива, meas, в массив набора данных.

ds = mat2dataset(meas);
ds(1:10,:)
ans = 
    meas1    meas2    meas3    meas4
    5.1      3.5      1.4      0.2  
    4.9        3      1.4      0.2  
    4.7      3.2      1.3      0.2  
    4.6      3.1      1.5      0.2  
      5      3.6      1.4      0.2  
    5.4      3.9      1.7      0.4  
    4.6      3.4      1.4      0.3  
      5      3.4      1.5      0.2  
    4.4      2.9      1.4      0.2  
    4.9      3.1      1.5      0.1  

Массив, meas, имеет четыре столбца, поэтому массив набора данных, ds, имеет четыре переменные. Именами переменных по умолчанию являются имя массива, meas, с добавленными номерами столбцов.

Можно задать свою собственную переменную или имена наблюдений, используя аргументы пары "имя-значение" VarNames и ObsNames, соответственно.

Если вы используете dataset чтобы преобразовать числовой массив в массив набора данных, по умолчанию полученный массив набора данных имеет одну переменную, которая является массивом вместо отдельных переменных для каждого столбца.

Исследуйте массив набора данных.

Верните размер массива набора данных, ds.

size(ds)
ans = 1×2

   150     4

Массив набора данных, ds, совпадает с размером числового массива, meas. Имена переменных и имена наблюдений не преобразуются в размер массива набора данных.

Исследуйте метаданные массива набора данных.

Верните свойства метаданных массива набора данных, ds.

ds.Properties
ans = struct with fields:
       Description: ''
    VarDescription: {}
             Units: {}
          DimNames: {'Observations'  'Variables'}
          UserData: []
          ObsNames: {}
          VarNames: {'meas1'  'meas2'  'meas3'  'meas4'}

Вы также можете получить доступ к свойствам по отдельности. Для примера можно получить имена переменных с помощью ds.Properties.VarNames.

Доступ к данным в переменной массива набора данных.

Вы можете использовать имена переменных с индексацией точек для доступа к данным в массиве набора данных. Например, найдите минимальное значение в первой переменной, meas1.

min(ds.meas1)
ans = 4.3000

Изменение имен переменных.

Четыре переменные в ds фактически являются измерениями длины чашелистика, ширины чашелистика, длины лепестка и ширины лепестка. Измените имена переменных так, чтобы они были более описательными.

ds.Properties.VarNames = {'SLength','SWidth','PLength','PWidth'};

Добавить описание.

можно добавить описание для массива набора данных.

ds.Properties.Description = 'Fisher iris data';
ds.Properties
ans = struct with fields:
       Description: 'Fisher iris data'
    VarDescription: {}
             Units: {}
          DimNames: {'Observations'  'Variables'}
          UserData: []
          ObsNames: {}
          VarNames: {'SLength'  'SWidth'  'PLength'  'PWidth'}

Свойства массива набора данных обновляются новыми именами переменных и описанием.

Добавьте переменную к массиву набора данных.

Переменная species - массив ячеек видовых меток. Добавить species в массив набора данных, ds, как номинальный массив с именем Species. Отобразите первые пять наблюдений в массиве набора данных.

ds.Species = nominal(species);
ds(1:5,:)
ans = 
    SLength    SWidth    PLength    PWidth    Species
    5.1        3.5       1.4        0.2       setosa 
    4.9          3       1.4        0.2       setosa 
    4.7        3.2       1.3        0.2       setosa 
    4.6        3.1       1.5        0.2       setosa 
      5        3.6       1.4        0.2       setosa 

Массив набора данных, ds, теперь имеет пятую переменную, Species.

Создайте массив набора данных из переменных гетерогенной рабочей области

В этом примере показано, как создать массив набора данных из гетерогенных переменных, существующих в рабочей области MATLAB ® .

Загрузите выборочные данные.

load carsmall

Создайте массив набора данных.

Создайте массив набора данных из подмножества переменных рабочей области.

ds = dataset(Origin,Acceleration,Cylinders,MPG);
ds.Properties.VarNames(:)
ans = 4x1 cell
    {'Origin'      }
    {'Acceleration'}
    {'Cylinders'   }
    {'MPG'         }

При создании массива набора данных вам не нужно вводить имена переменных. dataset автоматически использует имя каждой переменной рабочей области.

Заметьте, что массив набора данных, ds, содержит набор переменных с неоднородными типами данных. Origin представляет собой символьный массив, а другие переменные являются числовыми.

Исследуйте массив набора данных.

Отобразите первые пять наблюдений в массиве набора данных.

ds(1:5,:)
ans = 
    Origin     Acceleration    Cylinders    MPG
    USA          12            8            18 
    USA        11.5            8            15 
    USA          11            8            18 
    USA          12            8            16 
    USA        10.5            8            17 

Применить функцию к массиву набора данных.

Использование datasetfun чтобы вернуть тип данных каждой переменной в ds.

varclass = datasetfun(@class,ds,'UniformOutput',false);
varclass(:)
ans = 4x1 cell
    {'char'  }
    {'double'}
    {'double'}
    {'double'}

Дополнительную информацию о переменных можно получить используя summary(ds).

Измените массив набора данных.

Cylinders - числовая переменная, которая имеет значения 4, 6, и 8 для количества цилиндров. Преобразование Cylinders в номинальный массив с уровнями four, six, и eight.

Отображение страны источника и количества баллонов для первых 15 автомобилей.

ds.Cylinders = nominal(ds.Cylinders,{'four','six','eight'});
ds(1:15,{'Origin','Cylinders'})
ans = 
    Origin     Cylinders
    USA        eight    
    USA        eight    
    USA        eight    
    USA        eight    
    USA        eight    
    USA        eight    
    USA        eight    
    USA        eight    
    USA        eight    
    USA        eight    
    France     four     
    USA        eight    
    USA        eight    
    USA        eight    
    USA        eight    

Переменная Cylinders имеет новый тип данных.

См. также

| | |

Похожие примеры

Подробнее о