主要内容

表格

表数组的命名变量可以包含不同的类型

描述

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

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

创建

方法将数据从文件读入表中导入工具或者是readtable函数。或者,使用表格函数从现有工作区变量创建一个表。

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

描述

例子

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

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

例子

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

例子

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

例子

创建一个空的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”

NaTdatetime价值

“持续时间”

0秒,作为持续时间价值

“calendarDuration”

0天,作为calendarDuration价值

“字符串”

""(不带字符的1乘1字符串)

“cellstr”

{"}(0 × 0字符数组的单元格)

“细胞”

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

“结构”

没有字段的标量结构

“表”

没有变量的表

“时间表”

没有变量的时间表NaT对于行时间

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

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

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:T = table(rowTimes,X,Y,'VariableNames',{'纬度','经度'})从输入数组创建一个表X而且Y,并为对应的表变量命名纬度而且经度

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

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

  • 表格函数中也存储变量名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 =1 x2单元格{'行'}{}“变量”

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

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

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

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

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

T.Properties.DimensionNames = {“病人”“数据”};T.Properties
描述:" UserData: [] DimensionNames:{'病人''数据'}VariableNames:{'年龄''身高''体重''收缩期''舒张期'}variabledescription: {} VariableUnits: {} variableccontinuations: [] RowNames: {100x1 cell} CustomProperties:未设置自定义属性。使用addprop和rmprop修改CustomProperties。

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

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

  • 如果用前导或尾随空白字符分配行名,则MATLAB®将它们从行名中移除。

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

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

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

例子

创建一个表。然后添加行名并按行名访问行。

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

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

T.Properties.RowNames = LastName;头(T, 4)
ans =表4×7性别年龄身高体重吸烟者收缩期舒张压__________ _________ ______ ______ ________ _________史密斯{'男'}38 71 176真124 93约翰逊{'男'}43 69 163假109 77威廉姆斯{'女'}38 64 131假125 83琼斯{'女'}40 67 133假117 75

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

T.Properties.DimensionNames
ans =1 x2单元格{'行'}{}“变量”
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 double值:Min 25中位数39 Max 50身高:100x1 double值:Min 60中位数67 Max 72体重:100x1 double值: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} variabledescription: {} VariableUnits: {} variableccontinuity: [] RowNames: {} CustomProperties:不设置自定义属性。使用addprop和rmprop修改CustomProperties。

变量的元数据

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

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

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

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

例子

用默认变量名创建一个表。方法修改名称属性。VariableNames财产。

T = table({“米”“米”“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  _____ ____ ____ ____ {' 176} 38 71{“M”}43 69 163 {' F '} 38 64 131 {' F '} 40 67 133 {' F '} 49 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
年龄(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 . variabledescription = {..."病人曾经吸烟吗"...收缩压的舒张压的};总结(T)
变量:性别:100x1 cell array of character vector年龄:100x1 double值:Min 25中位数39 Max 50身高:100x1 double值:Min 60中位数67 Max 72体重:100x1 double值:Min 111中位数142.5 Max 202吸烟者:100x1 logical属性:描述:患者是否曾经吸烟值:True 34 False 66收缩压:100x1 double属性:描述:收缩压值:Min 109中位数122 Max 138舒张:100x1 double属性:描述:舒张压值:最小68中位81.5最大99

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

  • 的变量单位是可见的总结函数。

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

例子

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

负载病人T =表(性别,年龄,身高,体重,吸烟,收缩压,舒张压);T.Properties.VariableUnits = {“年”“在”“磅”毫米汞柱的毫米汞柱的};总结(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收缩压:100 x1双重性质:单位:毫米汞柱值:109分钟122 Max 138舒张中位数:100 x1双重性质:单位:毫米汞柱价值观:最小68中位数81.5最大99

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

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

自定义元数据

表及其变量的自定义元数据,指定为CustomProperties对象。

CustomProperties对象是可添加到表中的自定义元数据的容器。默认情况下,CustomProperties没有属性。添加到的每个属性CustomProperties可以包含表元数据或变量元数据。如果属性包含变量元数据,那么它的值必须是一个数组,并且数组中的元素数量必须等于表变量的数量。

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

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

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

注意:您可以添加或删除只有属性用于使用自定义元数据addprop而且rmprop.属性的属性的表. properties对象。

例子

创建一个表。

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

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

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

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

T.Properties.CustomProperties.Instrument = [""""“高度杆”“规模”""“血压袖带”“血压袖带”];T.Properties.CustomProperties.ToPlot = [false false true true true false true true];T.Properties.CustomProperties.OutputFile =“patientData.csv”;T.Properties
ans = TableProperties with properties:描述:" UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {1x7 cell} variabledescription: {} VariableUnits: {} variableccontinucontinuations: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties.): OutputFile: 'patientData.csv'仪器:["" "" "高度杆"" scale"…ToPlot: [0 0 1 1 0 1 1]

删除OutputFile的财产T

T = rmprop(T,“OutputFile”);T.Properties
ans = TableProperties with properties:描述:" UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {1x7 cell} variabledescription: {} VariableUnits: {} variableccontinucontinuations: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties.):仪器:["" "" "高度杆"" scale"…ToPlot: [0 0 1 1 0 1 1]

例子

全部折叠

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

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

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

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

T = table(姓氏,年龄,吸烟,身高,体重,血压)
T =5×6表姓氏年龄吸烟身高体重血压___________ _________ ____________ _____________{'桑切斯'}38真71 176 124 93{'约翰逊'}43假69 163 109 77{'李'}38真64 131 125 83{'迪亚兹'}40假67 133 117 75{'布朗'}49真64 119 122 80

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

meanHeight = mean(T.Height)
meanHeight = 67

计算身体质量指数(BMI),并将其作为一个新的表变量。您还可以使用点语法在一个步骤中添加和命名表变量。

. T.BMI = (t .体重*0.453592)./(t .身高*0.0254).^2
T =5×7表姓氏年龄吸烟身高体重血压BMI ___________ _________ ____________ _____________ ______{'桑切斯'}38真71 176 124 93 24.547{'约翰逊'}43假69 163 109 77 24.071{'李'}38真64 131 125 83 22.486{'迪亚兹'}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) ' UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {1x7 cell} variabledescription: {} VariableUnits: {} variableccontinucontinuity: [] RowNames: {} CustomProperties:没有设置自定义属性。使用addprop和rmprop修改CustomProperties。

使用表的第二个维度的名称作为矩阵访问表中的所有数据。

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

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

控件显示表维的名称DimensionNames财产。第二个维度的默认名称为变量

T.Properties.DimensionNames
ans =1 x2单元格{'行'}{}“变量”

使用以下语法将表数据作为矩阵访问T.Variables.这种语法等同于使用大括号语法访问所有内容,T {:,:}.如果表数据不能连接到矩阵中,则会引发错误消息。

T.Variables
ans =5×638 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×638 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年2月26日—- 2022 11:49:14 S1 68 2022年- 2月27日11:49:14“S2”NaT失踪> < 0 NaT失踪> <

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

从数组创建一个表。要指定表变量名,请使用“VariableNames”名称-值对参数。例如,你可以使用“VariableNames”当其他输入参数不是工作空间变量时指定名称。

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

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

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

为表指定行名。表不一定要有行名,但是如果指定了行名,那么就可以通过行名为表建立索引。还可以使用表的第一个维度的名称访问行名集。

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

姓氏= {“桑切斯”“约翰逊”“李”“Diaz”“棕色”};年龄= [38;43;38;40;49];身高= [71;69;64;67;64];Weight = [176;163;131;133;119];

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

T =表(年龄,体重,身高,“RowNames”、LastName)
T =5×3表年龄体重身高___ ______ ______桑切斯38 176 71约翰逊43 163 69李38 131 64迪亚斯40 133 67布朗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];客户= [“琼斯”“棕色”“史密斯”];Date = datetime(2016,12,20:22)';评级=分类([“好”“穷”“公平”]);评论= [“航班准时起飞,不拥挤”..."出发晚了,没有晚餐选择了"...“晚了,但只晚了半个小时。否则罚款。”];T = table(航班编号,客户,日期,评级,评论)
T =3×5表FlightNum客户评级评论日期  _________ ________ ___________ ______ _________________________________________________ 1261“琼斯”20 - 12月- 2016好”班机准时离开,而不是拥挤的“547”布朗“21 - 12月- 2016贫困“晚离开,跑出晚餐选择”3489“史密斯”22 - 12月- 2016年公平”晚了,但是只有半个小时。否则罚款。”

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

客户= cellstr(客户);T = table(FlightNum,Date,Rating,Comment,“RowNames”、客户)
T =3×4表航班日期评级评论__________________________ _________________________________________________ Jones 1261 2016年12月20日良好“航班准时起飞,不拥挤”Brown 547 2016年12月21日差“晚起飞,没有晚餐选择”Smith 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 = table(Date',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];Weight = [176;163;131;133;119];血压= [124 93;109 77;125 83;117 75;122 80);T =表(年龄,吸烟者)
T =5×2表年龄吸烟者___ ______ 38真43假38真40假49真

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

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

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

T.Height =高度;重量=重量
T =5×5表年龄吸烟者2019年5月29日血压读数身高体重_________ __________________________________ ____________ 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表年龄吸烟者2019年5月29日血压读数_________ __________________________________ 38真124 93 43假109 77 38真125 83 40假117 75 49真122 80

限制

  • 输入名称使用单引号:

    • “DimensionNames”(因为R2021a)

    • “RowNames”

    • “大小”

    • “VariableTypes”

    • “VariableNames”

    为了避免与变量输入混淆,不要使用双引号字符串标量(例如“RowNames”)。

提示

  • 有关接受或返回表的函数列表,请参见

扩展功能

版本历史

在R2013b中引入

全部展开

R2021a的行为发生了变化

R2019b的行为发生了变化

R2019b的行为发生了变化