Класс: набор данных
(Не рекомендуется) Создание массива наборов данных
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