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

描述

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

索引到一个表,使用括号平稳()返回子表或花括号{}提取内容。可以使用名称访问变量和行。有关使用数字和名称索引的更多信息,请参见Access数据表

创建

方法将数据从文件读入表导入工具或者是readtable函数。另外,使用功能如下所述从现有工作空间变量创建一个表。

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

描述

例子

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

如果输入是工作区变量,那么将它们的名称指定为输出表中的变量名称。否则,形式的受让人的变量名'VAR1',......,“瓦尔N,在那里N是变量的个数。

例子

T =表( '尺寸',SZ, '变量类型',varTypes)创建一个表,并为具有您指定的数据类型的变量预先分配空间。SZ双元素数字数组在哪里SZ [1]指定行数和SZ [2]指定变量的数量。varTypes是指定数据类型的字符向量的单元数组。

例子

T =表(___“VariableNames”,varNames)指定输出表中变量的名称。您可以将此语法与来自此函数的任何其他语法的输入参数一起使用。

例子

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

例子

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

输入参数

展开全部

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

公共输入变量是数字阵列,逻辑阵列,字符数组,结构数组,或细胞阵列。输入变量也可以是数组对象。这样的阵列必须支持形式索引万博1manbetxvar (indexN index1…),在那里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)指定0行和4个变量。

预先分配的变量的数据类型,指定为字符向量或字符串数组的单元数组。指定的类型的数目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秒,作为持续时间值

“calendarDuration”

0天,为日历时间值

“字符串”

”“(1乘1的字符串,没有字符)

'cellstr'

{"}(具有0逐0字符阵列单元)

“细胞”

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

“结构”

没有字段的标量结构

'表'

无变量表

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

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

输出表中的变量名,指定为字符向量或字符串数组的单元数组,其元素是非空且不同的。名字的数量varNames必须等于变量的数目。的函数还将变量名存储在VariableNames该表的属性。

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

输出表中的行名称,指定为字符向量或字符串数组的单元数组。名字的数量rowNames必须等于行数。的函数还将行名存储在RowNames该表的属性。

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

属性

展开全部

访问表元数据属性

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

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

表提供对元数据的访问属性财产,因为你可以直接使用点语法访问表数据。例如,如果表T有一个变量名为Var1,然后可以使用语法以数组的形式访问变量T.Var1

表的元数据

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

可以使用二维名称访问表数据。如果表有行名称,并且使用点语法和第一个维度名称,则可以将行名称作为向量访问。如果使用点语法和第二个维度名称,那么来自所有变量的数据将被连接在一个数组中,就好像您已经使用{:,:}语法。

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

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

例子

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

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

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

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

使用第二个维度名称访问数据。这个语法相当于Ť{:,:}

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

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

T.Properties.DimensionNames= {“病人”,“数据”};T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{‘病人’‘数据’}VariableNames:{“年龄”“高度”“重量”的收缩压舒张压的}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {100} x1细胞CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。

行名称,指定为字符向量或字符串数组的单元数组,其元素是非空且不同的。如果RowNames如果不是空的,则行名称的数量必须等于表中的行数。MATLAB®从行名称中删除任何开头或结尾的空白。

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

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

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

例子

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

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

属性添加行名称Properties.RowNames财产。默认情况下,表没有行名称,但是您可以在任何时候添加它们。

T.Properties。RowNames= LastName; head(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。描述=模拟病人数据的;总结(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维名:{'Row' ' 'Variables'} VariableNames: {1x7 cell} variabledescription: {} VariableUnits: {} variablecontintin: [] RowNames: {} CustomProperties: No custom properties are set.使用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 69 163 {' F '} 38 64 131 {' F '} 40 67 133 {' F '} 49 64 119
T.Properties.VariableNames= {“性别”,'年龄',“高度”,'重量'}
T =5×4表性别年龄身高体重______ ___交{“M”} 38 71 176 {“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表性别年龄身高体重______ ___交{“M”} 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收缩压:100 x1双重属性:描述:收缩压值:109分钟122 Max 138舒张中位数:100 x1双重属性:描述:舒张压值:最小68中位81.5 Max 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) {“工具”,“如何”,“OutputFile”},{“变量”,“变量”,'表'});T.Properties
ANS = TableProperties与属性:描述: '' 的UserData:[] DimensionNames:{ '行' '变量'} VariableNames:{1X7细胞} VariableDescriptions:{} VariableUnits:{} VariableContinuity:[] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties <名称>):OUTPUTFILE:[]仪器:[] ToPlot:[]

使用点语法为定制的元数据赋值。当您将一个文本值数组分配给定制的元数据时,最佳实践是使用一个字符串数组,而不是字符向量的单元格数组。如果CustomProperties是字符向量的单元阵列,那么就没有机制来防止从后来由于单元阵列的元件分配非文本值。

T.Properties.CustomProperties.Instrument = [”“,”“,“高度杆”,“规模”,”“,“血压袖带”,“血压袖带”];T.Properties.CustomProperties。ToPlot = [false false true true false true true]; T.Properties.CustomProperties.OutputFile =“patientData.csv”;T.Properties
ANS = TableProperties与属性:描述: '' 的UserData:[] DimensionNames:{ '行' '变量'} VariableNames:{1X7细胞} VariableDescriptions:{} VariableUnits:{} VariableContinuity:[] 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);血压= [124 93;109 77;125 83;117 75;122 80);

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

T =表(LastName、年龄、抽烟,身高、体重、血压)
T =5×6表姓氏、年龄、吸烟、身高、体重、血压等都与“桑切斯”有关,“桑切斯”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”、“约翰逊”

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

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

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

T.BMI =(T.Weight * 0.453592)./(T.Height * 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。描述=“患者数据,包括使用身高和体重计算的身体质量指数(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);血压= [124 93;109 77;125 83;117 75;122 80);T =表(年龄、吸烟、身高、体重、血压)
T =5×5表年龄,吸烟,身高,体重,血压,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重,体重

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

T.Properties.DimensionNames
ans =1 x2单元阵列{ '行'} { '变量'}

使用语法访问该表数据作为基质T.Variables。这个语法相当于使用花括号语法访问所有内容,Ť{:,:}。如果表的数据不能被连接成一个矩阵,则一个错误消息被抬起。

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 = {“双”,'约会时间',“字符串”};T =表('尺寸',SZ,“变量类型”,varTypes)
T =4×3表Var1, Var2, Var3, Var2, Var3, Var3, NaT <缺失>,0 NaT <缺失>,0 NaT <缺失>,0 NaT <缺失>

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

varNames = {“温度”,“时间”,“站”};T2 =表('尺寸',SZ,“变量类型”,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 - 2020年2月——00:22:13 S1 68 02 - 2月- 2020 00:22:13“S2”NaT <失踪> 0 NaT <失踪>

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

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

表(分类(T = {“米”;“F”;“米”}),[45; 32; 34],...{“纽约”;'CA';“马”}、逻辑((1,0,0)),...“VariableNames”{“性别”,'年龄',“状态”,'投票'})
T =3×4表性别年龄国家投票______ ___ ______ _____米45 { 'NY'}真正˚F32 { 'CA'}虚假中号34 { '马'}假

创建一个以状态名作为行名的表。可以指定这两个“VariableNames”'RowNames'使用时,名称 - 值对函数。

表(分类(T = {“米”;“F”;“米”}),[45; 32; 34],逻辑([1; 0; 0]),...“VariableNames”{“性别”,'年龄','投票'},...'RowNames'{“纽约”;'CA';“马”})
T =3×3表性别年龄投票______ ___ _____纽约米45真CA F 32假马米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约翰逊43 163 69 38李131 64 40迪亚兹133 67 49布朗119 64

由于行具有行名称,所以可以将其索引到T的名字。

T (“李”:)
ans =1×3表年龄、体重、身高、身高

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

T ({“李”,'棕色'},:)
ans =2×3表年龄、体重、身高、身高

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

T.Row
ans =5 x1单元阵列{ '桑切斯'} { '约翰逊'} { '李'} { '迪亚兹'} { '布朗'}

更改第一个维度的名称。如果您更改名称,那么你可以使用新的名称来访问行的名称。

T.Properties.DimensionNames{1} =“姓”;T.LastNames
ans =5 x1单元阵列{ '桑切斯'} { '约翰逊'} { '李'} { '迪亚兹'} { '布朗'}

从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表12月20日“航班准时起飞,不拥挤”布朗547 21- 12 -2016可怜的晚起飞,用完晚餐选择“史密斯3489 22- 12 -2016公平”迟到了,但只迟到了半个小时。否则罚款。”

创建包含三个地点不同日期的降雪总量的工作空间变量。这些变量是行向量。

日期= {'12 / 25 / 11',“1/2/12”,“1/23/12”,“12年2月7日”,“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使用默认变量名Var1,Var2,Var3Var4。您可以指定更有意义的名称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);血压= [124 93;109 77;125 83;117 75;122 80);T =表(年龄、吸烟)
T =5×2表4 . a)【句意】年龄大的人不知道什么是对的,什么是错的,什么是对的,什么是错的

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

t (1929  -  5月 -  2019血压读数”)=血压
T =5×3表年龄吸烟者2019年5月29日血压读数为38真124假43假109假125假117假49假122 80

当表变量名是有效MATAB标识符,可以使用点语法没有括号和引号。

T.Height =高度;T.Weight =体重
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 (:, {'年龄',“吸烟者”,1929  -  5月 -  2019血压读数”})
ans =5×3表年龄吸烟者2019年5月29日血压读数为38真124假43假109假125假117假49假122 80

限制

  • 输入名称使用单引号'尺寸',“变量类型”,“VariableNames”'RowNames'。为了避免与变量输入混淆,不要使用双引号括起的字符串标量(例如“大小”)。

提示

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

兼容性的考虑

展开全部

行为在R2019b中改变

行为在R2019b中改变

扩展功能

介绍了R2013b