cell2table
将元胞数组转换为表
说明
示例
创建一个包含字符串和数值数据的元胞数组。(不推荐使用字符串元胞数组。但在本例中,在既包含字符串又包含数值的元胞数组中包含字符串是合适的。此元胞数组不是文本的容器,而是组合在一起的值的容器,尽管这些值具有不同数据类型。)
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 = {"LastName" "Age" "Height" "Weight" "Smoker";... "Chang" 38 71 176 true;... "Brown" 43 69 163 false;... "Ruiz" 38 64 131 false;... "Lee" 38 64 131 false;... "Smith" 40 67 133 false;... "Garcia" 49 64 119 false}
Patients=7×5 cell array
{["LastName"]} {["Age"]} {["Height"]} {["Weight"]} {["Smoker"]}
{["Chang" ]} {[ 38]} {[ 71]} {[ 176]} {[ 1]}
{["Brown" ]} {[ 43]} {[ 69]} {[ 163]} {[ 0]}
{["Ruiz" ]} {[ 38]} {[ 64]} {[ 131]} {[ 0]}
{["Lee" ]} {[ 38]} {[ 64]} {[ 131]} {[ 0]}
{["Smith" ]} {[ 40]} {[ 67]} {[ 133]} {[ 0]}
{["Garcia" ]} {[ 49]} {[ 64]} {[ 119]} {[ 0]}
排除列标题并将元胞数组的内容转换为表。
C = Patients(2:end,:); T = cell2table(C)
T=6×5 table
C1 C2 C3 C4 C5
________ __ __ ___ _____
"Chang" 38 71 176 true
"Brown" 43 69 163 false
"Ruiz" 38 64 131 false
"Lee" 38 64 131 false
"Smith" 40 67 133 false
"Garcia" 49 64 119 false
表 T
具有变量名称 C1,...,C5
。
通过将表属性 T.Properties.VariableNames
设置为包含来自元胞数组的第一行的名称来更改变量名称。要从第一行中提取姓氏,请使用花括号。然后将这些姓氏串联成字符串数组。将字符串数组赋给 T.Properties.VariableNames
。
LastName = [Patients{1,:}]
LastName = 1×5 string
"LastName" "Age" "Height" "Weight" "Smoker"
T.Properties.VariableNames = LastName
T=6×5 table
LastName Age Height Weight Smoker
________ ___ ______ ______ ______
"Chang" 38 71 176 true
"Brown" 43 69 163 false
"Ruiz" 38 64 131 false
"Lee" 38 64 131 false
"Smith" 40 67 133 false
"Garcia" 49 64 119 false
输入参数
输入元胞数组,指定为二维元胞数组。C
的每一列为一个表变量提供数据。
如果 C
的一列中元胞的内容具有:
兼容的大小和数据类型,并且每个元胞都有一个包含一行的数组,则对应的表变量是同构数组。
示例:
C = {[1 2] 3; [4 5] 6} T = cell2table(C)
T = 2×2 table C1 C2 ______ __ 1 2 3 4 5 6
不同大小、不兼容的数据类型或任一元胞具有一个必须为标量的对象或具有一个包含多行的数组,则对应的表变量是元胞数组。
(例如,字典和函数句柄始终为标量。必须为标量的对象无法串联成一个同构数组。因此,
cell2table
必须将它们收集到一个元胞数组中。)示例:
C = {[1 2] 3; 4 5} T = cell2table(C)
T = 2×2 table C1 C2 _______ __ {[1 2]} 3 {[ 4]} 5
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: "RowNames",["row1","row2","row3"]
将行名称 row1
、row2
和 row3
用于表 T
。
行名称,指定为字符向量元胞数组或字符串数组,其元素为非空且不同。行名称的数量必须等于输入数组的行数。
行名称可以包含任何 Unicode® 字符,包括空格和非 ASCII 字符,但 ':'
除外。
如果您指定的行名称包含前导或尾随空白字符,则 cell2table
会将它们从行名称中删除。
变量名称,指定为字符向量元胞数组或字符串数组,其元素为非空且不同。变量名称的数量必须等于输入数组的列数。
变量名称可以包含任何 Unicode 字符,包括空格和非 ASCII 字符。但是,变量名称不能与任何表维度名或保留名称 'Properties'
、'RowNames'
、'VariableNames'
或 ':'
匹配。
自 R2021a 起
维度名称,指定为二元素字符向量元胞数组或二元素字符串数组,其元素为非空且不同。
维度名称可以包含任何 Unicode 字符,包括空格和非 ASCII 字符。但是,维度名称不能与任何表变量名称或保留名称 'Properties'
、'RowNames'
、'VariableNames'
或 ':'
匹配。
或者,在所有版本中,您可以通过设置表的 DimensionNames
属性来指定维度名称。
扩展功能
版本历史记录
在 R2013b 中推出MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)