(Не Рекомендуемый) Преобразовать массив ячеек в массив набора данных
The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.