Преобразовать массив ячеек в таблицу
преобразует содержимое T = cell2table(C)mоколо-n массив ячеек, C, к mоколо-n таблица, T. Каждый столбец C предоставляет данные, содержащиеся в переменной T.
Чтобы создать имена переменных в выходной таблице, cell2table добавляет номера столбцов к имени входного массива. Если входной массив не имеет имени, то cell2table создает имена переменных формы 'Var1',...,'Var, где N' - количество столбцов в NC.
создает таблицу из массива ячеек, T = cell2table(C,Name,Value)C, с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары.
Например, можно указать имена строк или переменных для включения в таблицу.
Создайте массив ячеек, содержащий векторы символов и числовые данные.
C = {5 'cereal' 110 'C+'; 12 'pizza' 140 'B';...
23 'salmon' 367 'A'; 2 'cookies' 160 'D'}C=4×4 cell array
{[ 5]} {'cereal' } {[110]} {'C+'}
{[12]} {'pizza' } {[140]} {'B' }
{[23]} {'salmon' } {[367]} {'A' }
{[ 2]} {'cookies'} {[160]} {'D' }
Преобразование массива ячеек, C, к таблице и укажите имена переменных.
T = cell2table(C,... 'VariableNames',{'Age' 'FavoriteFood' 'Calories' 'NutritionGrade'})
T=4×4 table
Age FavoriteFood Calories NutritionGrade
___ ____________ ________ ______________
5 {'cereal' } 110 {'C+'}
12 {'pizza' } 140 {'B' }
23 {'salmon' } 367 {'A' }
2 {'cookies'} 160 {'D' }
Переменные T.Age и T.Calories числовые, в то время как переменные T.FavoriteFood и T.NutritionGrade - массивы ячеек символьных векторов.
Преобразуйте массив ячеек в таблицу, а затем включите первую строку из массива ячеек в качестве имен переменных для таблицы.
Создайте массив ячеек, в котором первая строка содержит символьные векторы для идентификации заголовков столбцов.
Patients = {'Gender' 'Age' 'Height' 'Weight' 'Smoker';...
'M' 38 71 176 true;...
'M' 43 69 163 false;...
'M' 38 64 131 false;...
'F' 38 64 131 false;...
'F' 40 67 133 false;...
'F' 49 64 119 false}Patients=7×5 cell array
{'Gender'} {'Age'} {'Height'} {'Weight'} {'Smoker'}
{'M' } {[ 38]} {[ 71]} {[ 176]} {[ 1]}
{'M' } {[ 43]} {[ 69]} {[ 163]} {[ 0]}
{'M' } {[ 38]} {[ 64]} {[ 131]} {[ 0]}
{'F' } {[ 38]} {[ 64]} {[ 131]} {[ 0]}
{'F' } {[ 40]} {[ 67]} {[ 133]} {[ 0]}
{'F' } {[ 49]} {[ 64]} {[ 119]} {[ 0]}
Исключите заголовки столбцов и преобразуйте содержимое массива ячеек в таблицу.
C = Patients(2:end,:); T = cell2table(C)
T=6×5 table
C1 C2 C3 C4 C5
_____ __ __ ___ _____
{'M'} 38 71 176 true
{'M'} 43 69 163 false
{'M'} 38 64 131 false
{'F'} 38 64 131 false
{'F'} 40 67 133 false
{'F'} 49 64 119 false
Таблица, T, имеет имена переменных C1,...,C5.
Измените имена переменных, задав свойство таблицы. T.Properties.VariableNames, к первой строке массива ячеек.
T.Properties.VariableNames = Patients(1,:)
T=6×5 table
Gender Age Height Weight Smoker
______ ___ ______ ______ ______
{'M'} 38 71 176 true
{'M'} 43 69 163 false
{'M'} 38 64 131 false
{'F'} 38 64 131 false
{'F'} 40 67 133 false
{'F'} 49 64 119 false
C - Массив входных ячеекВходной массив ячеек, заданный как 2-D массив ячеек. Каждый столбец C предоставляет данные для переменной таблицы.
Если содержимое ячеек в столбце C имеют совместимые размеры и типы, то соответствующая табличная переменная является вертикальной конкатенацией этого содержимого в массив.
Если содержимое ячеек в столбце имеет различные размеры и типы, то соответствующая табличная переменная является массивом ячеек.
Если содержимое ячеек в столбце представляет собой все символьные векторы, то соответствующая табличная переменная является массивом ячеек символьных векторов.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'RowNames',{'row1','row2','row3'} использует имена строк, row1, row2, и row3 для таблицы, T.'RowNames' - Имена строк{} (по умолчанию) | массив ячеек символьных векторов | строковый массивИмена строк, указанные как пара, разделенная запятыми, состоящая из 'RowNames' и клеточный массив символьных векторов или строковый массив, элементы которого являются непустыми и различимыми. Количество имен должно равняться количеству строк, size(C,1).
Имена строк могут содержать любые символы Юникода ®, включая пробелы и символы, не относящиеся к ASCII.
Если указаны имена строк, которые содержат начальные или конечные пробелы, то cell2table удаляет их из имен строк.
'VariableNames' - Имена переменныхИмена переменных, указанные как пара, разделенная запятыми, состоящая из 'VariableNames' и клеточный массив символьных векторов или строковый массив, элементы которого являются непустыми и различимыми. Количество имен должно равняться количеству переменных, size(C,2).
Имена переменных могут содержать любые символы Юникода, включая пробелы и символы, не относящиеся к ASCII.
'DimensionNames' - Имена измеренийС R2021a г.
Имена измерений, определяемые как двухэлементный массив ячеек символьных векторов или двухэлементный строковый массив, элементы которого являются непустыми и различными.
Имена измерений могут содержать любые символы Юникода, включая пробелы и символы, не относящиеся к ASCII.
Перед R2021a можно указать имена размеров, только задав DimensionNames свойство вывода.
T - Выходная таблицаВыходная таблица, возвращенная как таблица. В таблице могут храниться такие метаданные, как описания, единицы измерения переменных, имена переменных и имена строк. Дополнительные сведения см. в разделе «Свойства» table.
В R2019b изменилось поведение
Имена переменных таблицы и расписания с начальными или заключительными пробелами не изменяются.
В предыдущих версиях начальные и конечные пробелы удалялись из имен переменных при их указании с помощью 'VariableNames' аргумент пары «имя-значение» или их назначение VariableNames собственность.
Чтобы удалить такие символы вручную, сначала используйте strtrim , затем назначить их в качестве имен переменных таблице или расписанию.
Примечания и ограничения по использованию:
В созданном коде необходимо указать 'VariableNames' аргумент пары имя-значение при использовании этой функции. Дополнительные сведения см. в разделах Генерация кода для таблиц (кодер MATLAB) и Ограничения таблицы для генерации кода (кодер MATLAB).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.