exponenta event banner

cell2table

Преобразовать массив ячеек в таблицу

Описание

T = cell2table(C) преобразует содержимое mоколо-n массив ячеек, C, к mоколо-n таблица, T. Каждый столбец C предоставляет данные, содержащиеся в переменной T.

Чтобы создать имена переменных в выходной таблице, cell2table добавляет номера столбцов к имени входного массива. Если входной массив не имеет имени, то cell2table создает имена переменных формы 'Var1',...,'VarN', где 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 

Входные аргументы

свернуть все

Входной массив ячеек, заданный как 2-D массив ячеек. Каждый столбец C предоставляет данные для переменной таблицы.

  • Если содержимое ячеек в столбце C имеют совместимые размеры и типы, то соответствующая табличная переменная является вертикальной конкатенацией этого содержимого в массив.

  • Если содержимое ячеек в столбце имеет различные размеры и типы, то соответствующая табличная переменная является массивом ячеек.

    • Если содержимое ячеек в столбце представляет собой все символьные векторы, то соответствующая табличная переменная является массивом ячеек символьных векторов.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'RowNames',{'row1','row2','row3'} использует имена строк, row1, row2, и row3 для таблицы, T.

Имена строк, указанные как пара, разделенная запятыми, состоящая из 'RowNames' и клеточный массив символьных векторов или строковый массив, элементы которого являются непустыми и различимыми. Количество имен должно равняться количеству строк, size(C,1).

Имена строк могут содержать любые символы Юникода ®, включая пробелы и символы, не относящиеся к ASCII.

Если указаны имена строк, которые содержат начальные или конечные пробелы, то cell2table удаляет их из имен строк.

Имена переменных, указанные как пара, разделенная запятыми, состоящая из 'VariableNames' и клеточный массив символьных векторов или строковый массив, элементы которого являются непустыми и различимыми. Количество имен должно равняться количеству переменных, size(C,2).

Имена переменных могут содержать любые символы Юникода, включая пробелы и символы, не относящиеся к ASCII.

С R2021a г.

Имена измерений, определяемые как двухэлементный массив ячеек символьных векторов или двухэлементный строковый массив, элементы которого являются непустыми и различными.

Имена измерений могут содержать любые символы Юникода, включая пробелы и символы, не относящиеся к ASCII.

Перед R2021a можно указать имена размеров, только задав DimensionNames свойство вывода.

Выходные аргументы

свернуть все

Выходная таблица, возвращенная как таблица. В таблице могут храниться такие метаданные, как описания, единицы измерения переменных, имена переменных и имена строк. Дополнительные сведения см. в разделе «Свойства» table.

Вопросы совместимости

развернуть все

В R2019b изменилось поведение

Расширенные возможности

.
Представлен в R2013b