Примечание
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
имеет новый тип данных.
dataset
| datasetfun
| mat2dataset
| nominal