目录
cell2table函数是将元胞数组转换为表。
语法
T = cell2table(C)
T = cell2table(C,Name,Value)
输入元胞数组,指定为二维元胞数组。C
的每一列为一个表变量提供数据。
-
如果
C
的一列中各单元格的内容具有兼容的大小和类型,则对应的表变量是由这些内容垂直串联而形成的数组。 -
如果一列中各单元格的内容具有不同的大小和类型,则对应的表变量是元胞数组。
- 如果一列中各单元格的内容都是字符向量,则对应的表变量是字符向量元胞数组。
输出表,以表形式返回。该表可以存储元数据,比如说明、变量单位、变量名称和行名称。可以参考table的“属性”部分。
说明
T = cell2table(C)
将m
×n
元胞数组C
的内容转换为m
×n
表T
。C
的每一列提供T
的一个变量中包含的数据。
要在输出表中创建变量名称,cell2table
需要将列号追加到输入数组名称后面。如果输入数组没有名称,cell2table
将创建 'Var1',...,'Var
形式的变量名称,其中 N
'
是 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