Преобразуйте массив ячеек в таблицу
преобразует содержимое T
= cell2table(C
)m
-by- n
массив ячеек, C
, в m
-by- n
таблица, T
. Каждый столбец C
предоставляет данные, содержащиеся в переменной T
.
Чтобы создать имена переменных в таблице выхода, cell2table
добавляет номера столбцов к имени входа массива. Если у массива входа нет имени, то cell2table
создает имена переменных формы 'Var1',..., '
, где Var N
'
количество столбцов в N
C
.
создает таблицу из массива ячеек, 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
функция от имен, затем присвойте их как имена переменных таблице или timetable.
Указания и ограничения по применению:
В сгенерированном коде необходимо задать 'VariableNames'
аргумент пары "имя-значение" при использовании этой функции. Для получения дополнительной информации смотрите Генерация кода для таблиц (MATLAB Coder) и Ограничения таблицы для генерации кода (MATLAB Coder).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.