主要内容

桌子

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

描述

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

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

创建

方法可以将数据从文件中读入表导入工具或者readtable函数。或者,使用桌子下面描述的函数以创建来自现有工作区变量的表。

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

描述

例子

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

如果输入是工作区变量,那么桌子将其名称分配为输出表中的变量名称。除此以外,桌子形式的受让人的变量名'VAR1',......,“瓦尔N, 在哪里N为变量的个数。

例子

t =表('size',SZ., '变量类型',vartypes.创建一个表,并为具有指定数据类型的变量预分配空间。SZ.是一个双元素数字数组,在哪里SZ(1)指定行数和SZ(2)指定变量的数量。vartypes.指定变量的数据类型。

例子

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

例子

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

输入参数

展开全部

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

公共输入变量是数字阵列,逻辑阵列,字符数组,结构数组,或细胞阵列。输入变量也可以是数组对象。这样的阵列必须支持形式索引金宝appvar(index1,...,indexn), 在哪里index1是一个数字或逻辑向量,对应于该变量的行VAR。此外,阵列必须实现aVertcat.方法和一种大小方法昏暗的论点。

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

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

预分配表的大小,指定为双元数字矢量。第一个元素SZ.指定行数,第二个元素指定表变量的数量。

若要只创建变量而不创建任何行,请指定0作为第一个元素SZ.

例子:T =表( '尺寸',[50 3], '变量类型',{ '字符串', '双', '日期时间'})预先分配50行对包含一个字符串数组,双阵列,和一个日期时间阵列的表。

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

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

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

'分类'

<定义>绝对价值

'约会时间'

NaTdatetime价值

'期间'

0秒,作为一个持续时间价值

“日历”

0天,作为一个日历价值

'细绳'

""(不含字符的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财产。

特性

展开全部

访问表元数据属性

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

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

表通过特性属性,因为您可以使用点语法直接访问表数据。例如,如果表T有一个名为Var1,然后您可以使用语法访问变量中的值T.var1.

表的元数据

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

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

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

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

  • 如果表有行名称,并且使用点语法和第一维名称,则可以将行名称作为向量访问。

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

例子

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

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

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

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

使用第二个维度名称访问数据。该语法等价于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.Patient.T.Data分别。

T.Properties.DimensionNames = {“病人”'数据'};T.Properties
ans = tableProperties具有属性:描述:''userdata:[] dimensionnames:{'患者'数据'} variablenames:{'年龄''height''重量''systolic''indstolic'} variadescriptions:{}变量:{variaBlecontinuity:[] Rownames:{100x1 Cell} CustomProperties:没有设置自定义属性。使用addprop和rmprop修改CustomProperties。

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

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

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

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

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

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

例子

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

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

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

T.Properties.RowNames =姓;头(T, 4)
ans =.表4×7性别年龄高分体重吸烟收缩舒张______________________________________________________________________ {'male'} 43 69 163 false 109 77威廉姆斯{女性'} 38 64 131 false 125 83琼斯{女性'} 40 67 133假117 75

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

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

按行名索引到表中。

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 = {'M''M'“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

显示和修改变量的基本方法是使用DOT语法按名称访问它们。

T.Age
ans =5×138 43 38 40 49
T.age(1)= 53
T =5×4表性别年龄高度重量______ ____ ______ {'m'} 53 71 176 {'f'} 43 64 131 {'f'} 40 67 131 {'f'} 49 64 119 64 119 64 119

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

  • 的变量描述是可见的概括函数。

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

例子

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

负载病人T =表(性别,年龄,身高,体重,吸烟者,收缩,舒张);t.properties.variabledescriptions = {''''''''...“病人以前抽烟吗?”...收缩压的“舒张压”};摘要(t)
变量:性别:100x1细胞字符矢量年龄:100x1双重值:min 25中位数39 max 50高度:100x1双重值:min 60中间值67最大72重量:100x1双重值:min 111中位数142.5 max 202吸烟者:100x1逻辑性质:描述:患者是否曾经是吸烟者价值:TRUE 34 FALSE 66收缩量:100x1双倍物业:描述:收缩压值:MIN 109中位数122 MAX 138舒张:100x1双人特性:描述:舒张压值:MIN 68中位数81.5最多99.

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

  • 变量单位在使用时是可见的概括函数。

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

例子

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

负载病人T =表(性别,年龄,身高,体重,吸烟者,收缩,舒张);T.Properties.VariableUnits = {''“年”“在”“磅”''毫米汞柱的毫米汞柱的};摘要(t)
变量:性别:100X1双重性质:单位:字符向量年龄的100X1单元阵列22岁值:最少25个中值39最大50高度:100X1双重性质:单位:在值:最小60中值67最大72重量:100X1双重性质:单位:磅值:最小111平均142.5最大202吸烟者:100X1逻辑值:True 34假66收缩:100X1双重性质:单位:毫米汞柱的值:最小109平均122最大138舒张:100X1双重性质:单位:毫米汞柱的值:最小68中值81.5最大值99

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

虽然表和时间表都具有此属性,但只有时间表使用它。有关更多信息,请参阅VariableContinuity的属性时间表

自定义元数据

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

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

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

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

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

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

例子

创建一个表。

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

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

T = addprop (T) {'仪器''toplot'“OutputFile”},{“变量”“变量”“表”});T.Properties
ANS =具有属性的TableProperties:Description:''''userdata:[] dimensionnames:{'行'变量'} variablenames:{1x7 cell} variabledes:{}变量:{} variablecontion:{} variablecontion:[] Rownames:{}自定义属性(访问使用t.properties.customproperties。):outputfile:[]仪器:[] 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:Description:''''userdata:[] dimensionnames:{'行'变量'} variablenames:{1x7 cell} variabledes:{}变量:{} variablecontion:{} variablecontion:[] Rownames:{}自定义属性(访问使用t.Properties.CustomProperties <名称>):OUTPUTFILE: 'patientData.csv' 仪器:[1X7字符串] ToPlot:[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。<名称>):仪器:[1 x7字符串]如何:(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。一个表变量可以有多个列。例如,血压变量是一个5乘2的数组。

T =表(LastName、年龄、抽烟,身高、体重、血压)
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),并将其添加为一个新的表变量。您还可以使用点语法在一步中添加和命名表变量。

T.BMI =(T.Weight * 0.453592)./(T.Height * 0.0254)。^ 2
T =5×7表LASTMAME AGE SAFTER HEACE PERFICE FLACE血压BMI __________________________________________________________________________________________'''1297 23 24.071{'diaz'} 40 false 67 133 117 75 20.831 {'brown'} 49 TRUE 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 =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} ='upartdata';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 = {“双”'约会时间''细绳'};t =表('尺寸',SZ,'variabletypes',varTypes)
T =4×3表var1 var2 var3 ____ ____ _________ 0 NAT <缺失> 0 NAT <缺失> 0 NAT <缺失> 0 NAT <缺失>

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

varNames = {“温度”“时间”“站”};T2 =表('尺寸',SZ,'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月23 - - 2021 14:41:31“S1”68年2月24 - - 2021 14:41:31“S2”NaT失踪> < 0 NaT失踪> <

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

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

表(分类(T = {'M'“F”'M'}),[45; 32; 34],...“纽约”'CA''嘛'}、逻辑((1,0,0)),...“VariableNames”,{“性别”'年龄''状态''投票'})
T =3×4表性别年龄表决___​​___ ______________ m 45 {'ny'}真正的f 32 {'ca'}假m 34 {'ma'} false

创建一个表与状态名称为行名称。您可以指定“VariableNames”'RowNames'使用时的名称 - 值对桌子函数。

表(分类(T = {'M'“F”'M'}),[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表年龄重量高度___ ______ ______桑切斯38 176 71 johnson 43 163 69 lee 38 131 64 diaz 40 133 67棕色49 119 64

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

T (“李”:)
ans =.1×3表年龄重量高度___ ______ ______ lee 38 131 64

指定多个行,可使用一个单元阵列。

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

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

t.row.
ans =5x1细胞{'桑切斯'} {'Johnson'} {'李'} {'diaz'} {'brown'}

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

T.Properties.DimensionNames{1} =“姓”;t.lastnames.
ans =5x1细胞{'桑切斯'} {'Johnson'} {'李'} {'diaz'} {'brown'}

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

FlightNum = (1261; 547; 3489);客户= [“琼斯”“棕色的”“史密斯”];日期= datetime(2016年,12日20:22)';评级=分类([“好”“穷”“公平”]);评论= [“按时离开,不拥挤”...“晚点出发,没有晚餐选择了”...“迟到了,但只迟到了半个小时。否则罚款。”];T =表(FlightNum,Customer,Date,评级,评论)
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];位置2 = [18 9 21 5 12];位置3 = [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真43假38真40假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