Класс: набор данных
(Не Рекомендуемый) Создать массив набора данных
The dataset тип данных не рекомендуется. Для работы с неоднородными данными используйте MATLAB®
table вместо этого тип данных. См. MATLAB table документация для получения дополнительной информации.
A = dataset(varspec,'ParamName',Value)
A = dataset('File',filename,'ParamName',Value)
A = dataset('XLSFile',filename,'ParamName',Value)
A = dataset('XPTFile',xptfilename,'ParamName',Value)
A = dataset( создает массив набора данных varspec,'ParamName',Value)A использование метода входа переменной рабочей области varspec и одну или несколько необязательных пар «имя/значение» (см. раздел «Имя параметра значения»).
Метод входа varspec может быть одним или несколькими из следующих:
VAR - переменная рабочей области. dataset использует имя рабочей области для имени переменной в A. Чтобы включать несколько переменных, задайте VAR_1, VAR_2..., VAR_N. Переменные могут быть массивами любого размера, но все переменные должны иметь одинаковое число строк. VAR может также быть выражением. В этом случае dataset автоматически создает имя по умолчанию.
{VAR, name} - переменная рабочей области, VAR и имя переменной, name . dataset использует name как имя переменной. Чтобы включать несколько переменных и имен, задайте {VAR_1, name_1}, {VAR_2, name_2}..., {VAR_N, name_N}.
{VAR, name_1,..., name_m} - m переменная рабочей области, VAR. dataset использует имена name_1, ..., name_m как имена переменных. Вы должны включать имя для каждого столбца в VAR. Каждый столбец становится отдельной переменной в A.
Можно объединить эти методы входа, чтобы включать столько переменных и имен, сколько необходимо. Имена должны быть допустимыми, уникальными идентификаторами MATLAB. Например, входные комбинации, см. Примеры. Для необязательных пар имя/значение смотрите Входы.
Для преобразования числовых массивов, массивов ячеек, массивов структур или таблиц в массивы наборов данных можно также использовать (соответственно):
Примечание
Массивы набора данных могут содержать встроенные типы или объекты массива как переменные. Объекты массив должны реализовать каждый из следующих:
Стандартная круглая скобка MATLAB вида var(i,...), где i является числовым или логическим вектором, соответствующим строкам переменной
A size метод с dim аргумент
A vertcat метод
A = dataset('File', создает массив набора данных filename,'ParamName',Value)A из столбцоориентированных данных в текстовом файле, заданном filename. Переменные в A имеют тип double если данные в соответствующем столбце файла, после заголовка столбца, полностью числовые; в противном случае переменные в A являются массивами ячеек векторов символов. dataset преобразует пустые поля в либо NaN (для числовой переменной) или пустого символьного вектора (для символьной переменной). dataset игнорирует незначительное пустое пространство в файле. Вы не можете задать как переменную файла, так и переменные рабочей области как вход. Для получения дополнительной информации см. пары имя/значение».
A = dataset('XLSFile', создает массив набора данных filename,'ParamName',Value)A из ориентированных на столбцы данных в Excel® электронная таблица, заданная filename. Переменные в A имеют тип double если данные в соответствующем столбце электронной таблицы, следующие за заголовком столбца, являются полностью числовыми; в противном случае переменные в A являются массивами ячеек векторов символов. Для получения дополнительной информации см. пары имя/значение».
A = dataset('XPTFile', создает массив набора данных из SAS® Файл формата XPORT. Имена переменных из файла формата XPORT сохраняются. Типы числовых данных в файле формата XPORT сохраняются, но все другие типы данных преобразуются в массивы ячеек векторов символов. Формат XPORT позволяет использовать 28 отсутствующих типов данных. xptfilename,'ParamName',Value)dataset представляет их в файле буквой верхнего регистра, '.' или '_'. dataset преобразует все отсутствующие данные в NaN значения в A. Для получения дополнительной информации см. пары имя/значение».
Задайте одну или несколько из следующих пар имя/значение при построении набора данных:
|
Массив строковых массивов или ячеек |
|
Массив строковых массивов или ячеек |
Пары имя/значение, доступные при использовании текстовых файлов в качестве входов:
|
Вектор символов или строковый скаляр, указывающий символ, разделяющий столбцы в файле. Значения:
|
|
Форматированный вектор символов или строковый скаляр, как принято |
|
Числовое значение, указывающее количество линий, которые нужно пропустить в начале файла. По умолчанию: |
|
Задает символы, которые будут рассматриваться как пустой символьный вектор в числовом столбце. Значения могут быть символьным массивом, строковыми массивами или массивом ячеек из векторов символов. Параметр применяется только к числовым столбцам в файле; |
Пары имя/значение, доступные при использовании текстовых файлов или электронных таблиц Excel в качестве входов:
|
Логическое значение, указывающее, является ли ( |
|
Логическое значение, указывающее, является ли ( При чтении с |
Пары имя/значение, доступные при использовании электронных таблиц Excel в качестве входов:
|
А положительная скалярная величина значение типа |
|
Вектор символов или строковый скаляр вида |
Создайте массив набора данных из переменных рабочей области, включая имена наблюдений:
load cereal cereal = dataset(Calories,Protein,Fat,Sodium,Fiber,Carbo,... Sugars,'ObsNames',Name) cereal.Properties.VarDescription = Variables(4:10,2);
Создайте массив набора данных из одной, многоколоночной переменной рабочей области, определяющей имена переменных для каждого столбца:
load cities
categories = cellstr(categories);
cities = dataset({ratings,categories{:}},...
'ObsNames',cellstr(names))Загрузка данных из текстового файла или файла электронной таблицы
patients = dataset('File','hospital.dat',...
'Delimiter',',','ReadObsNames',true)
patients2 = dataset('XLSFile','hospital.xls',...
'ReadObsNames',true)Загрузите данные о пациентах из файла CSV hospital.dat и храните информацию в dataset массив с именами наблюдений, заданными первым столбцом в данных (идентификация пациента):
patients = dataset('file','hospital.dat', ...
'format','%s%s%s%f%f%f%f%f%f%f%f%f', ...
'Delimiter',',','ReadObsNames',true);
Можно также загрузить данные без указания формата. dataset автоматически создает dataset переменные, которые являются double массивы или массивы ячеек векторов символов зависимости от содержимого файла:
patients = dataset('file','hospital.dat',...
'delimiter',',',...
'ReadObsNames',true);Сделайте переменную с значением {0,1} smoke номинальный и измените метки на 'No' и 'Yes':
patients.smoke = nominal(patients.smoke,{'No','Yes'});
Добавьте новые уровни к smoke как заполнители для более подробных историй курильщиков:
patients.smoke = addlevels(patients.smoke,...
{'0-5 Years','5-10 Years','LongTerm'});
Предположим, что некурящие никогда не курили, перезабыли 'No' уровень:
patients.smoke = setlabels(patients.smoke,'Never','No');
Удалите недифференцированную 'Yes' уровень от smoke:
patients.smoke = droplevels(patients.smoke,'Yes'); Warning: OLDLEVELS contains categorical levels that were present in A, caused some array elements to have undefined levels.
Обратите внимание, что у курильщиков теперь неопределенный уровень.
Установите каждый курильщик на один из новых уровней по имени наблюдения:
patients.smoke('YPL-320') = '5-10 Years';cell2dataset | mat2dataset | struct2dataset | tdfread | textscan | xlsread