Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

cell2table

Convert cell array to table

Syntax

T = cell2table(C)
T = cell2table(C,Name,Value)

Description

T = cell2table(C) converts the contents of an m-by-n cell array, C, to an m-by-n table, T. Each column of C provides the data contained in a variable of T.

To create variable names in the output table, cell2table appends column numbers to the input array name. If the input array has no name, then cell2table creates variable names of the form 'Var1',...,'VarN', where N is the number of columns in C.

example

T = cell2table(C,Name,Value) creates a table from a cell array, C, with additional options specified by one or more Name,Value pair arguments.

For example, you can specify row names or variable names to include in the table.

Examples

collapse all

Create a cell array containing character vectors and numeric data.

C = {5 'cereal' 110 'C+'; 12 'pizza' 140 'B';...
    23 'salmon' 367 'A'; 2 'cookies' 160 'D'}
C = 4x4 cell array
    {[ 5]}    {'cereal' }    {[110]}    {'C+'}
    {[12]}    {'pizza'  }    {[140]}    {'B' }
    {[23]}    {'salmon' }    {[367]}    {'A' }
    {[ 2]}    {'cookies'}    {[160]}    {'D' }

Convert the cell array, C, to a table and specify variable names.

T = cell2table(C,...
    'VariableNames',{'Age' 'FavoriteFood' 'Calories' 'NutritionGrade'})
T=4x4 table
    Age    FavoriteFood    Calories    NutritionGrade
    ___    ____________    ________    ______________

     5     'cereal'        110         'C+'          
    12     'pizza'         140         'B'           
    23     'salmon'        367         'A'           
     2     'cookies'       160         'D'           

The variables T.Age and T.Calories are numeric while the variables T.FavoriteFood and T.NutritionGrade are cell arrays of character vectors.

Convert a cell array to a table, and then include the first row from the cell array as variable names for the table.

Create a cell array where the first row contains character vectors to identify column headings.

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 = 7x5 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]}

Exclude the columns headings and convert the contents of the cell array to a table.

C = Patients(2:end,:);
T = cell2table(C)
T=6x5 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

The table, T, has variable names C1,...,C5.

Change the variable names by setting the table property, T.Properties.VariableNames, to the first row of the cell array.

T.Properties.VariableNames = Patients(1,:)
T=6x5 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 

Input Arguments

collapse all

Input cell array, specified as a 2-D cell array. Each column of C provides data for a table variable.

  • If the contents of the cells in a column of C have compatible sizes and types, then the corresponding table variable is the vertical concatenation of those contents into an array.

  • If the contents of the cells in a column have different sizes and types, then the corresponding table variable is a cell array.

    • If the contents of the cells in a column are all character vectors, then the corresponding table variable is a cell array of character vectors.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: RowNames',{'row1','row2','row3'} uses the row names, row1, row2, and row3 for the table, T.

collapse all

Row names for T, specified as the comma-separated pair consisting of 'RowNames' and a cell array of character vectors that are nonempty and distinct. The number of character vectors must equal the number of rows, size(C,1).

Variable names for T, specified as the comma-separated pair consisting of 'VariableNames' and a cell array of character vectors that are nonempty and distinct. The number of character vectors must equal the number of variables, size(C,2).

Furthermore, the variable names must be valid MATLAB® identifiers. If valid MATLAB identifiers are not available for use as variable names, MATLAB uses a cell array of N character vectors of the form {'Var1' ... 'VarN'}, where N is the number of variables. You can determine valid MATLAB variable names using the function isvarname.

Output Arguments

collapse all

Output table, returned as a table. The table can store metadata such as descriptions, variable units, variable names, and row names. For more information, see the Properties section of table.

Introduced in R2013b

Was this topic helpful?