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