(Не рекомендуется) Преобразовать массив ячеек в массив наборов данных
dataset тип данных не рекомендуется. Для работы с разнородными данными используйте MATLAB
®table вместо этого тип данных. См. MATLAB table для получения дополнительной информации.
Преобразование массива ячеек в массив наборов данных с помощью параметров по умолчанию.
Создайте массив ячеек для преобразования.
C = {'Name','Gender','SystolicBP','DiastolicBP';
'CLARK','M',124,93;
'BROWN','F',122,80;
'MARTIN','M',130,92}C=4×4 cell array
{'Name' } {'Gender'} {'SystolicBP'} {'DiastolicBP'}
{'CLARK' } {'M' } {[ 124]} {[ 93]}
{'BROWN' } {'F' } {[ 122]} {[ 80]}
{'MARTIN'} {'M' } {[ 130]} {[ 92]}
Преобразование массива ячеек в массив набора данных.
ds = cell2dataset(C)
ds =
Name Gender SystolicBP DiastolicBP
{'CLARK' } {'M'} 124 93
{'BROWN' } {'F'} 122 80
{'MARTIN'} {'M'} 130 92
Первая строка C стать именами переменных в массиве выходных наборов данных, ds.
Преобразование массива ячеек в массив наборов данных, содержащий переменные с несколькими столбцами.
Создайте массив ячеек для преобразования.
C = {'Name','Gender','SystolicBP','DiastolicBP';
'CLARK','M',124,93;
'BROWN','F',122,80;
'MARTIN','M',130,92}C=4×4 cell array
{'Name' } {'Gender'} {'SystolicBP'} {'DiastolicBP'}
{'CLARK' } {'M' } {[ 124]} {[ 93]}
{'BROWN' } {'F' } {[ 122]} {[ 80]}
{'MARTIN'} {'M' } {[ 130]} {[ 92]}
Преобразовать клеточный массив в массив наборов данных, объединив систолические и диастолические измерения артериального давления в одну переменную BloodPressure.
ds = cell2dataset(C,'NumCols',[1,1,2]); ds.Properties.VarNames{3} = 'BloodPressure'; ds
ds =
Name Gender BloodPressure
{'CLARK' } {'M'} 124 93
{'BROWN' } {'F'} 122 80
{'MARTIN'} {'M'} 130 92
Массив выходного набора данных состоит из трех наблюдений и трех переменных.
C - Массив входных ячеекВходной массив ячеек для преобразования в массив наборов данных, заданный как массив ячеек M-by-N. Каждый столбец C становится переменной в массиве выходного набора данных, ds. По умолчанию cell2dataset предполагает, что первая строка C содержит имена переменных.
Типы данных: cell | string
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'ReadVarNames',false,'ReadObsNames',true указывает, что первая строка массива ячеек не содержит имен переменных, а первый столбец содержит имена наблюдений.'ReadVarNames' - Индикатор того, следует ли читать имена переменныхtrue (по умолчанию) | falseИндикатор того, следует ли считывать имена переменных из первой строки массива входных ячеек, указанного как разделенная запятыми пара, состоящая из 'ReadVarNames' и либо true или false. Значение по умолчанию: true, если имена переменных не указаны с помощью аргумента пары имя-значение VarNames. Когда ReadVarNames является false, cell2dataset создает имена переменных по умолчанию, если они не указаны.
Пример: 'ReadVarNames',false
'VarNames' - Имена переменных для массива выходных наборов данныхИмена переменных для массива выходного набора данных, указанного как пара, разделенная запятыми, состоящая из 'VarNames' и строковый массив или массив ячеек символьных векторов. Необходимо указать имя переменной для каждой переменной в ds. Имена должны быть допустимыми идентификаторами MATLAB и уникальными.
Пример: 'VarNames',{'myVar1','myVar2','myVar3'}
'ReadObsNames' - Индикатор того, следует ли читать названия наблюденийfalse (по умолчанию) | trueИндикатор того, следует ли считывать имена наблюдений из массива входных ячеек, указанного как пара, разделенная запятыми, состоящая из 'ReadObsNames' и либо true или false. Когда ReadObsNames имеет значение true, cell2dataset создает имена наблюдений в ds с использованием первого столбца C, и наборы ds.Properties.DimNames равно {C{1,1},'Variables'}.
Пример: 'ReadObsNames',true
'ObsNames' - Имена наблюдений для массива выходных наборов данныхИмена наблюдений для массива выходного набора данных, указанного как пара, разделенная запятыми, состоящая из 'ObsNames' и строковый массив или массив ячеек символьных векторов. Имена не обязательно должны быть допустимыми идентификаторами MATLAB, но они должны быть уникальными.
'NumCols' - Количество столбцов для каждой переменнойКоличество столбцов для каждой переменной в ds, указанная как пара, разделенная запятыми, состоящая из 'NumCols' и вектор неотрицательных целых чисел. Если число столбцов переменной больше единицы, cell2dataset объединяет несколько столбцов в C в одну переменную в ds. Вектор, которому назначается NumCols должно суммироваться с size(C,2), или size(C,1) из ReadObsNames равно true.
Например, чтобы преобразовать массив ячеек с восемью столбцами в массив наборов данных с пятью переменными, укажите вектор с пятью элементами, которые суммируют восемь, например, 'NumCols',[1,1,3,1,2].
ds - Массив выходных наборов данныхМассив выходных наборов данных, возвращаемый по умолчанию с переменной для каждого столбца C, наблюдение для каждой строки C (за исключением первой строки) и имена переменных, соответствующие первой строке C.
Если установить ReadVarNames равно false (или указать VarNames), то есть наблюдение в ds для каждой строки C, и cell2dataset создает имена переменных по умолчанию (или использует имена в VarNames).
Если установить ReadObsNames равно true, то cell2dataset использует первый столбец C в качестве названий наблюдений.
При указании NumCols, то количество переменных в ds равна длине указанного вектора номеров столбцов.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.