主要内容

表格

表数组,其中包含不同类型的命名变量

描述

表格数组存储面向列或表格的数据,例如文本文件或电子表格中的列。表将每一段面向列的数据存储在变量.表变量可以具有不同的数据类型和大小,只要所有变量都具有相同数量的行数即可。表变量具有名称,就像结构的字段具有名称。使用总结函数获取有关表的信息。

要在表中建立索引,请使用圆括号()返回子表或花括号{}提取内容。您可以使用名称访问变量和行。有关使用数字和名称建立索引的更多信息,请参见表格访问数据

创建

方法可以将数据从文件中读入表导入工具或者是可阅读函数。另外,使用表格函数用于从现有工作空间变量创建表。

您还可以创建一个表,为以后填充其值的变量提供空间。要创建具有预分配变量空间的表,请使用表格函数与“大小”作为第一个输入参数,如下所述。

描述

例子

T =表(var1,…,varN根据输入变量创建一个表var1,…,varN.变量可以具有不同的大小和数据类型,但所有变量必须具有相同的行数。

如果输入是工作区变量,那么表格将它们的名称分配为输出表中的变量名称。否则,表格赋值窗体的变量名‘Var1’,……,”VarN,在那里N为变量的个数。

例子

T =表(“大小”,深圳“VariableTypes”,varTypes创建一个表,并为具有指定数据类型的变量预分配空间。深圳是一个双元素数字数组,在哪里深圳(1)指定行数和深圳(2)指定变量的数量。varTypes指定变量的数据类型。

例子

T =表(___名称,价值使用一个或多个名称-值对参数指定额外的输入参数。例如,可以使用“VariableNames”名称-值对。您可以将此语法与前面语法的任何输入参数一起使用。

例子

T =表创建一个空的0 × 0表。

输入参数

全部展开

输入变量,指定为具有相同行数的数组。输入变量可以有不同的大小和不同的数据类型。

常见的输入变量有数字数组、逻辑数组、字符数组、结构数组或单元格数组。输入变量也可以是数组对象。这样的数组必须支持表单的索引金宝appvar (indexN index1…),在那里INDEX1.是一个数字或逻辑向量,对应于该变量的行var.此外,数组必须同时实现avertcat方法和大小方法昏暗的论点。

例子:表([1:4]',(4,3,2),眼睛(4,2))从具有四行的变量创建一个表,但不同的大小。

例子:表([1:3]”,{“一”,“两个”;“三个”},分类({' A ', ' B '; ' C '}))用三行不同数据类型的变量创建表。

预分配表的大小,指定为两个元素的数字向量。第一个元素深圳指定行数,第二个元素指定表变量的数量。

仅创建变量,没有任何行,指定0作为第一个元素深圳

例子:50 T =表(“大小”,[3],VariableTypes,{“字符串”,“双”,“datetime”})为包含字符串数组、双数组和datetime数组的表预分配50行。

例子:T = table('Size',[0 4],'VariableTypes',varTypes)指定零行和四个变量。

预先分配的变量的数据类型,指定为字符向量的单元格数组或字符串数组。指定的类型的数量varTypes必须等于第二个元素指定的变量数深圳

varTypes可以包含任何数据类型的名称,包括表中显示的名称。

数据类型名称

每个元素的初始值

“双”“单一”

双或单精度0

“doublenan”“doubleNaN”“singlenan”“singleNaN”

双或单精度

“int8”“int16”“int32”“int64”

带符号的8、16、32或64位整数0

'uint8'“uint16”“uint32”“uint64”

无符号8-,16-,32-或64位整数0

“逻辑”

0

“分类”

<未定义>绝对价值

“datetime”

NaT约会时间价值

“持续时间”

0秒,持续时间价值

“calendarDuration”

0天,作为一个calendarDuration价值

“字符串”

""(不含字符的1 × 1字符串)

“cellstr”

{''}(带有0 × 0字符数组的单元格)

“细胞”

{[]}(单元格为0 × 0双数组)

“结构”

没有字段的标量结构

“表”

无变量表

“时间表”

没有变量的时间表NaT行次

对于任何其他数据类型,初始值是该类型或类用来“填充”数组中未赋值元素的值。

如果您指定“字符”作为一种数据类型表格将相应的变量预分配为字符向量的单元格数组,而不是字符数组。最佳实践是避免创建字符数组的表或时间表变量。当处理表或时间表中的文本数据时,考虑使用字符串数组或类别数组。

名称值对参数

指定可选的逗号分隔的对名称,价值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:T =表(rowTimes, X, Y, VariableNames,{纬度,经度的})从输入数组创建表XY,并命名相应的表变量纬度经度

变量名,指定为字符向量的单元格数组或元素为非空且不同的字符串数组。

  • 数组中名称的数量必须等于表变量的数量。

  • 表格功能还存储变量名称VariableNames表的属性。

  • 变量名可以有任何Unicode®字符,包括空格和非ascii字符。

行名,指定为字符向量的单元格数组或元素为非空且不同的字符串数组。

  • 数组中的名称数必须等于行数。

  • 表格函数中还存储行名RowNames表的属性。

  • 行名称可以具有任何Unicode字符,包括空格和非ASCII字符。

  • 表格函数从行名中删除任何前导或尾随空白字符。

例子:表(T =(10、20、30),{' M ', ' F '; ' F '}, VariableNames,{“年龄”、“性别”},RowNames, {P1, P2, P3的})创建一个包含变量名和行名的表。

自从R2021a

维度名称,指定为字符向量的双元素单元数组或元素为非空且不同的双元素字符串数组。

  • 表格函数中还存储维度名称DimensionNames表的属性。

  • 维度名称可以有任何Unicode字符,包括空格和非ascii字符。

在R2021a之前,您只能通过设置DimensionNames财产。

属性

全部展开

访问表元数据属性

表包含描述表及其变量的元数据属性。使用语法访问这些属性的表. properties。PropertyName,在那里PropertyName属性的名称。例如,您可以访问表中变量的名称T使用语法T.Properties.VariableNames

您可以使用该语法返回所有元数据属性的摘要的表. properties

表提供了通过的元数据访问属性属性,因为您可以使用点语法直接访问表数据。例如,if表T有一个名为Var1,则可以使用语法访问变量中的值T.Var1

表元数据

维度名称,指定为字符向量的双元素单元数组或双元素字符串数组。

  • 维度名称可以有任何Unicode字符,包括空格和非ascii字符。

  • 如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。

您可以使用两个维度名称访问表数据。

  • 如果表有行名,并且使用点语法和第一个维度名,那么可以以向量的形式访问行名。

  • 如果您使用点语法和第二个维度名称,那么来自所有变量的数据将连接在一个数组中,就像您使用{:,:}语法。

例子

创建一个表并显示它的维度名称。您可以使用带有点语法的维度名称访问行名和数据。

负载病人T =表(年龄、身高、体重、收缩压,舒张压,...“RowNames”、LastName);T.Properties.DimensionNames
ans =.1x2细胞{'行'}{}“变量”

使用第一个维度名称访问行名称。显示前5个名字。

T.Row (1:5)
ans =.5 x1细胞{“史密斯”}{“约翰逊”}{威廉姆斯的}{“琼斯”}{“棕色”}

使用第二个维度名称访问数据。该语法等价于T {:,:}

T.Variables
ans =.100×538 43 71 176 124 93 69 64 131 125 163 109 77 83 64 119 122 80 67 133 117 75 49 46 68 33 142 121 70 64 142 130 88 68 183 115 78 68 180 115 82 28⋮31 66 132 118 86

属性修改其维度的名称属性。DimensionNames财产。更改维度名称后,可以使用语法访问行名称和数据T.PatientT.Data分别。

T.Properties.DimensionNames = {'病人'“数据”};T.Properties
ans = TableProperties with properties: Description: " UserData: [] DimensionNames: {'Patient' 'Data'} VariableNames: {'Age' '' Height' 'Weight' 'Systolic' 'Diastolic'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {100x1 cell} CustomProperties:没有自定义属性设置。使用addprop和rmprop修改CustomProperties。

行名,指定为字符向量的单元格数组或元素为非空且不同的字符串数组。如果RowNames不为空,则行名的数目必须等于表中的行数。

  • 行名称可以具有任何Unicode字符,包括空格和非ASCII字符。

  • 如果您用前导或尾随空格字符分配行名,则MATLAB®从行名称中删除它们。

  • 在查看表时,行名是可见的。此外,您可以使用圆括号或花括号中的行名来访问表数据。

  • 访问行名的另一种方法是使用点语法和表的第一个维度的名称。

  • 如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。

例子

创建一个表。然后按其名称添加行名称和访问行。

负载病人T =表(性别、年龄、身高、体重、吸烟,收缩压、舒张压);

使用使用的行名称属性。RowNames财产。默认情况下,表没有行名称,但您可以随时添加它们。

T.Properties.RowNames =姓;头(T, 4)
ans =表4×7性别年龄身高体重吸烟者收缩压舒张压__________ _________ ______ ______ ________ _________ Smith{'男性'}38 71 176真124 93 Johnson{'男性'}43 69 163假109 77 Williams{'女性'}38 64 131假125 83 Jones{'女性'}40 67 133假117 75

访问行名的另一种方法是使用点语法和表的第一个维度的名称。显示前5个行名。

T.Properties.DimensionNames
ans =.1x2细胞{'行'}{}“变量”
T.Row (1:5)
ans =.5 x1细胞{“史密斯”}{“约翰逊”}{威廉姆斯的}{“琼斯”}{“棕色”}

按行名索引到表中。

T ({“史密斯””威廉姆斯},:)
ans =表2×7性别年龄身高体重吸烟者收缩压舒张压  __________ ___ ______ ______ ______ ________ _________ 史密斯{‘男性’}38 71 176真正的124 93威廉姆斯{‘女性’}38 64 131错误125 83

表描述,指定为字符向量或字符串标量。该描述在使用时是可见的总结函数。

如果使用字符串标量指定此属性,则将其转换为字符向量并存储。

例子

创建一个表。修改表的描述信息。显示结果的摘要。

负载病人T =表(性别、年龄、身高、体重);T.Properties.Description =模拟病人数据的;总结(T)
描述:模拟患者数据变量:性别:100x1字符向量细胞数组年龄:100x1双值值:Min 25中位数39 Max 50身高:100x1双值值:Min 60中位数67 Max 72体重:100x1双值值:Min 111中位数142.5 Max 202

附加的表信息,指定为数组。可以使用此属性将任何类型的数据附加到表。

例子

创建一个表。将匿名功能附加为与表关联的用户数据。

负载病人T =表(性别、年龄、身高、体重、吸烟,收缩压、舒张压);公式= @(x) x.^2;T.Properties.UserData =公式;T.Properties
说明:" UserData: @(x)x。^2 DimensionNames: {'Row' 'Variables'} VariableNames: {1x7 cell} VariableDescriptions: {} VariableUnits: {} variableccontinuity: [] RowNames: {} CustomProperties:不设置自定义属性。使用addprop和rmprop修改CustomProperties。

变量的元数据

变量名,指定为字符向量的单元格数组或元素为非空且不同的字符串数组。名称的数量必须等于变量的数量。

  • 变量名可以有任何Unicode字符,包括空格和非ascii字符。

  • 变量名在查看表和使用时是可见的总结函数。此外,您可以在圆括号、花括号或点索引中使用变量名来访问表数据。

  • 如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。

例子

创建一个带有默认变量名的表。然后使用属性。VariableNames财产。

表(T = {“米”“米”“F”“F”“F”},[38, 43岁,38;40;49),...(71; 69; 64; 67; 64], [176; 163; 131; 133; 119))
T =5×4表var1 var2 var3 var4 _____ ____ _________ {'m'} 38 71 176 {'m'} 43 64131 {'f'} 40 64 131 133 {'f'} 40 67 133 {'f'} 49 64 119 64 119
T.Properties.VariableNames = {“性别”“年龄”“高度”“重量”
T =5×4表性别年龄身高体重  ______ ___ ______ ______ {' 176} 38 71{“M”}43 69 163 {' F '} 38 64 131 {' F '} 40 67 133 {' F '} 49 64 119

显示和修改变量的基本方法是使用点语法通过名称访问变量。

T.Age
ans =.5×138 43 38 40 49
T.Age(1) = 53岁
T =5×4表性别年龄身高体重  ______ ___ ______ ______ {' '} 53 71 176{“M”}43 69 163 {' F '} 38 64 131 {' F '} 40 67 133 {' F '} 49 64 119

可变描述,指定为字符向量或字符串数​​组的单元格数组此属性可以是空单元数组,这是默认值。如果数组不是空的,那么它必须包含和变量一样多的元素。您可以为没有描述的变量指定单独的空字符向量或空字符串。

  • 的变量描述是可见的总结函数。

  • 如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。

例子

创建一个表。修改变量描述。显示结果的摘要。

负载病人T =表(性别、年龄、身高、体重、吸烟,收缩压、舒张压);T.Properties.VariableDescriptions = {...“病人以前抽烟吗?”...'收缩压'舒张压的};总结(T)
变量:性别:100 x1单元阵列特征向量的年龄:100年x1双重价值:25分钟39马克斯50高度中位数:100 x1双重价值:60分钟中等67 Max 72重量:100 x1双重价值:111分钟142.5 Max 202吸烟者中位数:100 x1逻辑属性:描述:病人曾经是一个吸烟者价值观:对34个错66收缩:100x1双重属性:说明:收缩压值:Min 109中位数122 Max 138舒张压:100x1双重属性:说明:舒张压值:Min 68中位数81.5 Max 99

可变单元,指定为字符向量的单元格数组或字符串数组。此属性可以是空单元格数组,这是默认值。如果数组不是空的,那么它必须包含和变量一样多的元素。可以为没有单元的变量指定单独的空字符向量或空字符串。

  • 使用时可变单元可见总结函数。

  • 如果使用字符串数组指定此属性,则将其转换并存储为字符向量的单元格数组。

例子

创建一个表。修改可变单元。显示结果的摘要。

负载病人T =表(性别、年龄、身高、体重、吸烟,收缩压、舒张压);T.Properties.VariableUnits = {'yrs''在'“磅”毫米汞柱的毫米汞柱的};总结(T)
变量:性别:100 x1单元阵列特征向量的年龄:100年x1双重性质:单位:年价值观:25分钟39马克斯50高度中位数:100 x1双重性质:单位:在价值观:60分钟中等67 Max 72重量:100 x1双重性质:单位:磅值:111分钟142.5 Max 202吸烟者中位数:100 x1逻辑值:对34个错66收缩:100x1双属性:单位:mm Hg值:Min 109中位数122最大值138舒张压:100x1双属性:单位:mm Hg值:Min 68中位数81.5最大值99

连续或离散变量的状态,指定为字符向量的单元格数组或字符串数组。

虽然表和时间表都有这个属性,但只有时间表使用它。有关更多信息,请参见variablecontinity.的属性时间表

自定义元数据

表的自定义元数据及其变量,指定为aCustomProperties目的。

CustomProperties对象是可添加到表中的定制元数据的容器。默认情况下,CustomProperties具有零属性。您添加到的每个属性CustomProperties可以包含表元数据或可变元数据。如果属性包含变量元数据,则其值必须是数组,并且数组中的元素数必须等于表变量的数量。

  • 要为表添加自定义元数据的属性,请使用addprop函数。

  • 要访问或修改自定义元数据,请使用语法的表.Properties.CustomProperties。PropertyName.在这个语法,PropertyName您在添加属性时选择的名称是否使用addprop

  • 要删除属性,请使用rmprop函数。

注意:您可以添加或删除只有属性用于自定义元数据addproprmprop.控件的属性不能添加或删除的表. properties目的。

例子

创建一个表。

负载病人T =表(性别、年龄、身高、体重、吸烟,收缩压、舒张压);

添加可以保存关于表及其变量的自定义元数据的属性。在本例中,元数据是工具的名称,真正的指示是否绘制变量的值,以及输出文件的名称。要添加属性,请使用addprop函数。

T = addprop (T) {“工具”“如何”“OutputFile”}, {“变量”“变量”“表”});T.Properties
ans = TableProperties with properties: Description: " UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {1x7 cell} VariableDescriptions: {} VariableUnits: {} variablecontinity: [] RowNames: {} Custom properties(使用t.Properties.CustomProperties.): OutputFile: [] Instrument: [] ToPlot: []

使用点语法为定制的元数据赋值。将文本值数组分配给自定义元数据时,最佳实践是使用字符串数组,而不是字符向量的单元格数组。如果CustomProperties是字符向量的单元格数组,则没有机制阻止您以后将非文本值作为单元格数组的元素分配。

T.Properties.CustomProperties.Instrument = [""""“高度棒”“规模”""“血压袖带”“血压袖带”];T.Properties.CustomProperties.ToPlot = [false false true true true];T.Properties.CustomProperties.OutputFile =“patientData.csv”;T.Properties
ans = TableProperties with properties: Description: " UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {1x7 cell} VariableDescriptions: {} VariableUnits: {} variablecontinity: [] RowNames: {} Custom properties(使用t.Properties.CustomProperties.): OutputFile: 'patientData.csv' Instrument:"" "" "height rod" "scale"…[0 0 1 1 0 1 1]

删除OutputFile的财产T

T = rmprop (T)“OutputFile”);T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {1} x7细胞VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):乐器 : ["" "" " 高度杆”“规模”……[0 0 1 1 0 1 1]

例子

全部折叠

将一组患者的数据存储在一个表中。您可以执行计算并将结果存储在同一个表中。此外,您还可以对表进行注释,以描述您的工作和表中的变量。

首先,创建具有患者数据的工作区变量。变量可以具有任何数据类型,但必须具有相同的行数。

LastName = {“桑切斯”“约翰逊”“李”“Diaz”“棕色”};年龄=[38,43岁,38;40;49);吸烟者=逻辑([1,0,1,0,1]);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= [1293;109 77;125 83;117 75;122 80];

创建一个表,T,作为工作区变量的容器。的表格函数使用工作区变量名作为中的表变量名T.表变量可以有多个列。例如,血压T中的变量是5×2阵列。

T =表(姓氏,年龄,吸烟者,身高,体重,血压)
T =5×6表姓年龄吸烟者身高体重血压___________ _________ ____________ _____________ {'Sanchez'} 38真71 176 124 93 {'Johnson'} 43假69 163 109 77 {'Li'} 38真64 131 125 83 {'Diaz'} 40假67 133 117 75 {'Brown'} 49真64 119 122 80

您可以使用点索引来访问表变量。例如,使用中的值计算患者的平均身高T.Height

meanHeight =意味着(T.Height)
meanHeight = 67

计算体重指数(BMI),并将其添加为新表变量。您还可以使用DOT语法在一步中添加和命名表变量。

T.BMI = (T.Weight * 0.453592)。/ (T.Height * 0.0254)。^ 2
T =5×7表LastName吸烟者年龄身高体重血压体重指数  ___________ ___ ______ ______ ______ _____________ ______ {' 桑切斯的真正}71 176 124 93 24.547{“约翰逊”}43假69 163 109 77 24.071{‘李’}38真正64 131 125 83 22.486{“Diaz”}40假67 133 117 75 20.831{“棕色”}49真正的64 119 122 80 20.426

在表格中注释BMI计算的描述。你可以标注T以及通过元数据访问的变量T.Properties

T.Properties.Description =“患者数据,包括根据身高和体重计算的身体质量指数(BMI)”;T.Properties
ans = TableProperties属性:描述:“病人数据,包括身体质量指数(BMI)计算身高和体重的用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {1} x7细胞VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {} CustomProperties:不设置自定义属性。使用addprop和rmprop修改CustomProperties。

使用表的第二个维度的名称,以矩阵的形式访问表中的所有数据。

创建一个包含五行关于一组患者的数据的表。

年龄=[38,43岁,38;40;49);吸烟者=逻辑([1,0,1,0,1]);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= [1293;109 77;125 83;117 75;122 80);T =表(年龄、吸烟、身高、体重、血压)
T =5×5表年龄吸烟者身高体重血压_________ ____________ _____________ 38真71 176 124 93 43假69 163 109 77真64 131 125 83 40假67 133 117 75 49真64 119 122 80

属性显示表维度的名称DimensionNames财产。第二个维度的默认名称是变量

T.Properties.DimensionNames
ans =.1x2细胞{'行'}{}“变量”

使用语法以矩阵的形式访问表数据T.Variables.此语法等同于使用Crace Brace语法访问所有内容,T {:,:}.如果表数据不能连接到矩阵中,则会引发错误消息。

T.Variables
ans =.5×6.38 1 71 176 124 93 43 0 69 163 109 77 38 1 64 131 125 83 40 0 67 133 117 75 49 1 64 119 122 80

重命名第二个维度。如果更改名称,则可以使用新名称访问数据。

T.Properties.DimensionNames{2} =“PatientData”;T.PatientData
ans =.5×6.38 1 71 176 124 93 43 0 69 163 109 77 38 1 64 131 125 83 40 0 67 133 117 75 49 1 64 119 122 80

通过指定表的大小和变量的数据类型来预分配表。的表格函数使用适合于您指定的数据类型的默认值填充变量。它还为变量提供默认名称,但您也可以为自己的变量指定名称。预分配为以后添加到表中的数据提供了空间。

sz = [4 3];vartypes = {“双”“datetime”“字符串”};T =表(“大小”、深圳、“VariableTypes”varTypes)
T =4×3表Var1 Var2 Var3 ________ _________ 0 NaT  0 NaT  0 NaT  0 NaT 

要指定变量的名称,请使用“VariableNames”名称-值对的论点。

varNames = {“温度”“时间”“站”};T2 =表(“大小”、深圳、“VariableTypes”varTypes,“VariableNames”varNames)
t2 =4×3表温度时间站___________ ____ _________ 0 NaT  0 NaT  0 NaT  0 NaT 

的前两行添加数据行T2.当代码一次添加一行或几行数据时,预分配可能是一种有用的技术。您可以填充已经有空间存放数据的表变量,而不是每次添加一行时都增加表。

T2 (1) = {75 datetime (“现在”),“S1”};t2(2,:) = {68,DateTime(“现在”) + 1,“S2”
t2 =4×3表温度时间站___________ ___________________________ 75 01-SEP-2021 09:50:40“S1”68 02-SEP-2021 09:50:40“S2”0 NAT <缺失> 0 NAT <缺失>

可以将数据值行封装在单元格数组中。当您从单元格数组中分配一行时,单元格数组中的元素将被分配到表中的行。

从数组中创建表。要指定表变量名,请使用“VariableNames”名称-值对的论点。例如,您可以使用“VariableNames”当其他输入参数不是工作区变量时指定名称。

表(分类(T = {“米”“F”“米”})(45、32、34),...“纽约”“CA”“马”}、逻辑((1,0,0)),...“VariableNames”,{“性别”“年龄”“状态”“投票”})
T =3×4表性别年龄投票  ______ ___ ______ _____ 米45{“纽约”}真F 32{“CA”}假米34{‘马’}假

创建一个以州名作为行名的表。可以同时指定“VariableNames”“RowNames”的名称-值对表格函数。

表(分类(T = {“米”“F”“米”})(45、32、34),逻辑((1,0,0)),...“VariableNames”,{“性别”“年龄”“投票”},...“RowNames”,{“纽约”“CA”“马”})
T =3×3表性别年龄投票______ ___ _____ NY M 45真CA F 32假MA M 34假

指定表的行名。表不一定要有行名,但是如果指定了行名,就可以根据行名索引到表中。您还可以使用表的第一个维度的名称访问行名称集。

创建包含患者数据的数组。

LastName = {“桑切斯”“约翰逊”“李”“Diaz”“棕色”};年龄=[38,43岁,38;40;49);身高= [71;69;64;67;64);重量= [176;163;131;133;119);

创建一个包含数组的表。指定作为表的行名称来源。该表只有三个变量。行名称不是表变量,而是代替表的属性。

T =表(年龄、体重、身高、“RowNames”、LastName)
T =5×3表年龄体重身高___ ______ ______ Sanchez 38 176 71 Johnson 43 163 69 Lee 38 131 64 Diaz 40 133 67 Brown 49 119 64

由于行有行名称,您可以索引到行中T的名字。

T (“李”:)
ans =1×3表年龄体重身高___ ______ ______李38 131 64

若要指定多行,请使用单元格数组。

T ({“李”“棕色”},:)
ans =2×3表年龄体重身高___ ______ ______李38 131 64布朗49 119 64

访问所有行名称T作为单元格数组,使用语法T.Row.默认情况下,是表的第一个维度的名称。

T.Row
ans =.5 x1细胞{“桑切斯”}{“约翰逊”}{‘李’}{“Diaz”}{“棕色”}

更改第一个维度的名称。如果更改名称,则可以使用新名称访问行名称。

T.Properties.DimensionNames{1} =“姓”;T.LastNames
ans =.5 x1细胞{“桑切斯”}{“约翰逊”}{‘李’}{“Diaz”}{“棕色”}

从R2017a开始,您可以使用双引号创建字符串,并添加字符串数组作为表变量。

FlightNum = (1261; 547; 3489);客户= [“琼斯”“棕色”“史密斯”];日期= datetime(2016年,12日20:22)';评级=分类([“好”“穷”“公平”]);评论= [“航班准时起飞,不拥挤”...“晚点出发,没有晚餐选择了”...“迟到了,但只迟到了半个小时。否则罚款。”];T =表(FlightNum、客户、日期、评级、评论)
T =3×5表FlightNum客户评级评论日期  _________ ________ ___________ ______ _________________________________________________ 1261“琼斯”20 - 12月- 2016好”班机准时离开,而不是拥挤的“547”布朗“21 - 12月- 2016贫困“晚离开,跑出晚餐选择”3489“史密斯”22 - 12月- 2016年公平”晚了,但是只有半个小时。否则罚款。”

若要使用字符串数组中的文本作为行名,请将字符串数组转换为字符向量的单元格数组。然后创建一个带有行名的表。

客户= cellstr(客户);T =表(FlightNum、日期、评级,评论,“RowNames”,顾客)
T =3×4表航班号码日期评价__________________________ _________________________________________________琼斯1261 2016年12月20日好“航班准时起飞,不拥挤”布朗547 2016年12月21日糟糕“晚点起飞,没有晚餐可供选择”史密斯3489 2016年12月22日公平“晚点,但只晚了半小时。否则罚款。”

在三个位置创建包含不同日期的降雪总数的工作区变量。这些变量是行向量。

日期= {“12/25/11”“1/2/12”“1/23/12”“2/7/12”“2/15/12”};Location1 = [20 5 13 0 17];Location2 = [18 9 21 5 12];Location3 = [26 10 16 3 15];

用这些变量创建表的一种方法是调用表格函数的语法T =表(日期,location1、location2 ', location3 ').由于工作空间变量是行向量,因此必须将它们转换为将其放入表中作为面向列的数据。因此,输入参数是表达式,而不是简单的变量。其结果,表格创建T使用默认变量名Var1Var2Var3,Var4.您可以分配更有意义的名称T.Properties.VariableNames在您创建T.但是,创建一个空表,然后用新名称一次添加一个变量可能更方便。

创建一个空表。转换工作区变量并将其添加到表中作为列向量。作为将每个工作空间变量分配到的一部分T,为表变量提供有意义的名称。

T =表;T.Date =日期';T.Natick = location1 ';T.Boston = location2 ';T.Worcester = location3 '
T =5×4表日期纳蒂克波士顿伍斯特  ____________ ______ ______ _________ {' 12/25/11’}20 18 26{‘1/2/12}5 9 10{‘1/23/12}13 21 16{‘2/7/12}0 5 3{‘2/15/12}17 12 15

从R2019b开始,可以指定不是有效的MATLAB®标识符的表变量名。这样的变量名可以包括空格、非ascii字符,并且可以使用任何字符作为前导字符。当您访问这样一个变量名时,请将其括起来。

创建一个存储关于一组患者的数据的表。从他们的年龄和吸烟身份开始。

年龄=[38,43岁,38;40;49);吸烟者=逻辑([1,0,1,0,1]);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= [1293;109 77;125 83;117 75;122 80);T =表(年龄,吸烟者)
T =5×2表年龄吸烟___________ 38 TRUE 43 FALSE 38 TRUE 40 FALSE 49真实

添加带有变量名称的血压读数“2019年5月29日血压读数”.您可以使用点语法来添加或访问变量。因为它的名字不是一个有效的MATLAB标识符,使用圆括号和引号与点语法。

T.(“2019年5月29日血压读数”)=血压
T =5×3表年龄吸烟者29- 5 -2019血压读数_________ __________________________________ 38真124 93 43假109 77 38真125 83 40假117 75 49真122 80

当表变量名是有效的MATLAB标识符时,可以使用不带圆括号和引号的点语法。

T.Height =身高;T.Weight =重量
T =5×5表年龄吸烟者29- 5 -2019血压读数身高体重_________ __________________________________ ____________ 38真124 93 71 176 43假109 77 69 163 38真125 83 64 131 40假117 75 67 133 49真122 80 64 119

索引T使用变量名。

T (:, {“年龄”“抽烟”“2019年5月29日血压读数”})
ans =5×3表年龄吸烟者29- 5 -2019血压读数_________ __________________________________ 38真124 93 43假109 77 38真125 83 40假117 75 49真122 80

限制

  • 对这些输入名称使用单引号:

    • “DimensionNames”(因为R2021a)

    • “RowNames”

    • “大小”

    • “VariableTypes”

    • “VariableNames”

    为避免与变量输入混淆,不要使用双引号字符串标量(例如“rownames”)对于这些名字。

提示

  • 有关接受或返回表的功能列表,请参阅

兼容性考虑因素

全部展开

行为在R2019b中改变

行为在R2019b中改变

行为在R2021a中改变

扩展功能

介绍在R2013B.