Matlab中cell2table函数使用

目录

语法

说明

示例

将元胞数组转换为表

将列标题转换为变量名称


cell2table函数是将元胞数组转换为表。

语法

T = cell2table(C)

T = cell2table(C,Name,Value)

         输入元胞数组,指定为二维元胞数组。C 的每一列为一个表变量提供数据。

  • 如果 C 的一列中各单元格的内容具有兼容的大小和类型,则对应的表变量是由这些内容垂直串联而形成的数组。

  • 如果一列中各单元格的内容具有不同的大小和类型,则对应的表变量是元胞数组。

  • 如果一列中各单元格的内容都是字符向量,则对应的表变量是字符向量元胞数组。

        输出表,以表形式返回。该表可以存储元数据,比如说明、变量单位、变量名称和行名称。可以参考table的“属性”部分。

说明

T = cell2table(C) 将 m×n 元胞数组 C 的内容转换为 m×n 表 TC 的每一列提供 T 的一个变量中包含的数据。

        要在输出表中创建变量名称,cell2table 需要将列号追加到输入数组名称后面。如果输入数组没有名称,cell2table 将创建 'Var1',...,'VarN' 形式的变量名称,其中 N 是 C 中的列数。

T = cell2table(C,Name,Value) 通过由一个或多个 Name,Value 对组参数指定的其他选项基于元胞数组 C 创建表。

        例如,可以指定要包含在表中的行名称或变量名称。

示例

将元胞数组转换为表

        创建一个包含字符向量和数值数据的元胞数组。

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 

Guess you like

Origin blog.csdn.net/jk_101/article/details/110939066