桌子

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

描述

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

要索引到表中,请使用流畅的括号()返回一个subtable或卷曲的括号{}提取内容。您可以使用名称访问变量和行。有关使用数字和名称索引的更多信息,请参阅在表中访问数据

创建

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

您还可以创建一个表,允许在稍后填写其值的变量空间。要创建一个具有prelocated空间的表格变量,请使用桌子功能'尺寸'作为第一个输入参数,如下所述。

描述

例子

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

如果输入是工作区变量,那么桌子将其名称分配为输出表中的变量名称。否则,桌子分配表单的变量名称'var1',...,'varN, 在哪里N是变量的数量。

例子

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

例子

T =表(___,'variablenames',varnames.指定输出表中变量的名称。您可以使用此语法与此功能中的任何其他语法的输入参数。

例子

T =表(___,'rownames',rowNames指定输出表中行的名称。您可以将此语法与前面任何语法的输入参数一起使用。

例子

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

输入参数

展开全部

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

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

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

例子:表([1:3]',{'一个';'两个';'三'},分类({'a';'b';'c'}))从具有三行的变量创建一个表,但数据类型不同。

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

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

例子:t =表('size',[50 3],'variabletypes',{'string','double','datetime'})prelocates包含一个包含字符串数组,双数组和DATETIME数组的表的50行。

例子:t =表('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-by-1字符串)

'cellstr'

{''}(具有0-you-0字符数组的单元格)

'细胞'

{[]}(具有0-you-0双数组的单元格)

'struct'

标量结构没有字段

'桌子'

表没有变量

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

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

输出表中的变量名称,指定为字符向量或字符串数​​组的单元数组,其元素是非空闲和不同的。

  • 名称的数量varnames.必须等于变量的数量。

  • 桌子功能还存储变量名称VariableNames表格的财产。

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

输出表中的行名称,指定为字符向量或字符串数​​组或字符串数​​组,其元素是非空的和不同的。

  • 名称的数量rowNames必须等于行数。

  • 桌子函数还存储行名称rownames.表格的财产。

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

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

例子:t =表([10; 20; 30],{'m';'f';'f'},'variablenames',{'年龄','性别'},'rownames',{'p1','p2','p3'})使用变量名称和行名创建表。

特性

展开全部

访问表元数据属性

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

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

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

表元数据

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

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

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

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

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

  • 如果使用点语法和第二维名称,则来自所有变量的数据在一个阵列中连接在一起,好像您已使用索引到表中使用{:,:}语法。

例子

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

加载耐心T =表(年龄、身高、体重、收缩压,舒张压,......'rownames'、LastName);T.Properties.DimensionNames
ans =.1x2细胞{'行'} {'变量'}

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

T.Row(1:5)
ans =.5 x1细胞{'史密斯'} {'Johnson'} {'Williams'} {'Jones'} {'Brown'}

使用第二维名称访问数据。此语法相当于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 64 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⋮

属性修改其维度的名称properties.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®从行名称中删除它们。

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

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

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

例子

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

加载耐心T =表(性别,年龄,身高,体重,吸烟者,收缩,舒张);

使用使用的行名称properties.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

访问行名称的另一种方法是使用DOT语法,其中包含表的第一维的名称。显示前五个行名称。

T.Properties.DimensionNames
ans =.1x2细胞{'行'} {'变量'}
T.Row(1:5)
ans =.5 x1细胞{'史密斯'} {'Johnson'} {'Williams'} {'Jones'} {'Brown'}

按行名称索引到表中。

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 max202.

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

例子

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

加载耐心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字符。

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

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

例子

创建一个带有默认变量名的表。然后使用properties.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表性别年龄高度重量______ ____ ______ ______ {'m'} 38 71 176 163 {'f'} 43 64 131 131 {'f'} 40 67 133 133 {'f'} 49 64 119 64 119

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

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.varifeEldeUnits = {'''yrs''在''lbs''''mm hg''mm hg'};总结(T)
变量:性别:100x1个字符矢量阵列年龄:100x1双级性能:单位:Yrs值:Min 25中间中间台式39 MAX 50高度:100x1双倍特性:单位:单位:数值:Min 60中位数67最大72重量:100x1双倍性能:单位:LBS值:Min 111中位数142.5 Max 202吸烟者:100x1逻辑值:TRUE 34 FALSE 66 SYSTOLIC:100x1双倍物业:单位:MM HG值:MIN 109中位数122 MAX 138舒张:100x1双级特性:单位:MM HG值:MIN 68中位数81.5 MAX 99

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

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

自定义元数据

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

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

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

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

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

笔记:您可以添加或删除只要属性用于自定义元数据addproprmprop..您无法添加或删除属性Tablename.. properties目的。

例子

创建一个表。

加载耐心T =表(性别,年龄,身高,体重,吸烟者,收缩,舒张);

添加可以包含关于表及其变量的自定义元数据的属性。在此示例中,元数据是仪器的名称,真的错误的指示是否绘制变量的值,以及输出文件的名称。要添加属性,请使用addprop函数。

t = addprop(t,{“工具”“如何”'输出文件'},{'多变的''多变的''桌子'});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 true];t.properties.customproperties.Outputfile =.'upartdata.csv';T.Properties
ANS =具有属性的TableProperties:Description:''''userdata:[] dimensionnames:{'行'变量'} variablenames:{1x7 cell} variabledes:{}变量:{} variablecontion:{} variablecontion:[] Rownames:{}自定义属性(访问使用t.properties.customproperties。):outputfile:'upentatiadata.csv'incollic:[1x7字符串] toplot:[0 0 1 1 0 1 1]

去除那个输出文件的财产T

t = rmprop(t,'输出文件');T.Properties
ANS =具有属性的TableProperties:Description:''''userdata:[] dimensionnames:{'行'变量'} variablenames:{1x7 cell} variabledes:{}变量:{} variablecontion:{} variablecontion:[] Rownames:{}自定义属性(访问使用t.properties.customproperties。):仪器:[1x7字符串] toplot:[0 0 1 1 0 1 1]

例子

全部收缩

存储有关一组桌子的患者的数据。您可以在同一表中执行计算并存储结果。此外,您可以注释表格来描述您的工作和表格的变量。

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

lastname = {'桑切斯''约翰逊''李''迪亚兹''棕色的'};年龄= [38; 43; 38; 40; 49];吸烟者=逻辑([1; 0; 1; 0; 1]);高度= [71; 69; 64; 67; 64];重量= [176; 163; 131; 133; 119];血压= [124 93;109 77;125 83;117 75;122 80];

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

T =表(姓氏,年龄,吸烟者,身高,体重,血压)
t =5×6表姓氏年龄吸烟高度血压___________ ______ ____________________ {_____________ {'Johnson'} 43 False 69 163 109 77 {'li'} 38 True 64 131 125 83 {'diaz'}40假67 133 117 75 {'布朗'} 49 TRUE 64 119 122 80

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

meanheight =卑鄙(t.height)
meanHeight = 67

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

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及其使用METADATA访问的变量T.Properties

t.properties.description =.“患者数据,包括根据身高和体重计算的身体质量指数(BMI)”;T.Properties
ANS =具有属性的TableProperties:描述:'患者数据,包括使用高度和权重'UserData计算的体重指数(BMI):{'行'变量'} variablenames:{1x7 Cell} VariaBlate:{}变量:{} variableContimuity:[] 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];血压= [124 93;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 4 43 44 141125 83 40 0 67 133 117 75 49 1 64 119 122 80

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

T.Properties.DimensionNames{2} ='upartdata';t.patientdata.
ans =.5×6.38 1 71 176 124 93 43 4 43 44 141125 83 40 0 67 133 117 75 49 1 64 119 122 80

通过指定其大小和变量的数据类型来预先释放表。的桌子函数填充变量,默认值适合您指定的数据类型。它还给出了变量默认名称,但也可以分配自己的变量名称。preallocation为您稍后添加到表中的数据的空间。

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 29-Feb-2020 00:13:56“S1”68 01-Mar-2020 00:13:56“S2”0 NAT <缺失> 0 NAT <缺失>

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

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

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

创建一个以州名作为行名的表。可以同时指定'variablenames''rownames'使用时的名称 - 值对桌子函数。

t =表(分类({“米”'F'“米”}),[45; 32; 34],逻辑([1; 0; 0]),......'variablenames',{'性别''年龄''投票'},......'rownames',{'纽约''CA'“马”})
t =3×3表性别年龄投票______ ____ ______ ny m 45真正ca f 32 false ma m 34 false

为表指定行名称。表格不必具有行名称,但如果指定它们,则可以按行名称索引到表中。您还可以使用表的第一个维度的名称来访问一组行名称。

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

lastname = {'桑切斯''约翰逊''lee''迪亚兹''棕色的'};年龄= [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('lee':)
ans =.1×3表年龄重量高度___ ______ ______ lee 38 131 64

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

T ({'lee''棕色的'},:)
ans =.2×3表年龄体重高度___ ______ ______ lee 38 131 64棕色49 119 64

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

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

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

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

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

flidentnum = [1261; 547; 3489];客户= [“琼斯”“棕色的”“史密斯”];日期= datetime(2016年,12日20:22)';评级=分类([“好的”“贫穷的”“公平的”]);评论= [“按时离开,不拥挤”......“出发后期,跑出晚餐选择”......“迟到了,但只迟到了半个小时。否则罚款。”];T =表(FlightNum、客户、日期、评级、评论)
t =3×5表FlightNum客户日期评分评论_________ ________ ___________ ______ _________________________________________________ 1261“琼斯” 20日 -  12月-2016好“飞行留下的时间,不挤” 547“布朗” 12月21日-2016差“延迟退房,跑的晚餐选择了” 3489“史密斯”22-of 2016展会“迟到,但只有半小时。否则就好了。”

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

客户= Cellstr(客户);t =表(Flightnum,Date,Rating,评论,'rownames',顾客)
t =3×4表flidentnum日期评级评论_________ ___________ ______ ________________________________________________________________________________________ jones 1261 20-dep-2016好的“剩余的航班”剩余的棕色547 21-dec-2016糟糕的“出发”史密斯3489 22-dec-2016公平“迟到了,但只有半小时。否则很好。”

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

日期= {'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 = date';t.natick = location1';T.Boston = location2';T.Worcester = location3'
t =5×4表日期natick波士顿伍斯特____________ _____________________ {'12 / 25/11'} 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];血压= [124 93;109 77;125 83;117 75;122 80];T =表(年龄,吸烟者)
t =5×2表年龄吸烟___________ 38 TRUE 43 FALSE 38 TRUE 40 FALSE 49真实

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

T.('29 -May-2019血压读数')=血压
t =5×3表年龄吸烟29岁 -  2019年5月血压读数___ __________________________________ 38真实124 93 43假109 77 38真实125 83 40假117 75 49真实122 80

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

t.height =高度;t.weight =重量
t =5×5表年龄吸烟29  -  2019年5月血压读取高度重量____ ______ _____________________ _____________ ______ 38真的124 93 71 176 43真实125 83 64 131 40假117 75 67 133 49真实122 80 64 119

索引进入T使用变量名称。

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

限制

  • 使用单引号进行输入名称'尺寸''variabletypes''variablenames', 和'rownames'.为避免与变量输入混淆,不要使用双引号字符串标量(例如“大小”)对于这些名字。

提示

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

兼容性考虑因素

展开全部

行为在R2019b中改变

行为在R2019b中改变

扩展能力

介绍在R2013B.