Примечание
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.Propertiesans = 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