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