Класс: набор данных
(Не Рекомендуемый) массив набора данных Construct
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
Имя
} — переменная рабочей области, 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
числовой или логический вектор, соответствующий строкам переменной
size
метод с dim
аргумент
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