主要内容

使用表格的优点

方便混合型数据存储在单独的容器中

您可以使用数据类型收集混合型数据和元数据的属性,如变量名、行名称,描述,和可变单元,在一个容器中。表是适合用于或表格数据通常是作为列存储在一个文本文件或表格。例如,您可以使用一个表来存储实验数据,行代表不同的观察和列代表不同的测量变量。

表的行和用于变量。表中的每个变量可以具有不同的数据类型和不同的大小,但是每个变量必须有相同数量的行。

例如,病人样本数据加载。

负载病人

然后,结合工作空间变量,收缩压舒张压成一个单一的血压变量和转换工作空间变量,性别,从一个细胞特征向量分类数组的数组。

血压=(收缩压舒张压);性别=分类(性别);谁(“性别”,“年龄”,“抽烟”,“血压”)
类属性名称大小字节100岁x1 800双的血压100 x2 1600双性别100 x1 330直言吸烟者100 x1 100逻辑

的变量年龄,血压,性别,吸烟者候选人有不同的数据类型和存储在一个表,因为他们都有相同的行数,100。

现在,创建一个表的变量和显示前五行。

T =表(性别、年龄、吸烟、血压);:T (1:5)
ans =5×4表性别年龄看上去吸烟者血压___得一样_________________男性38真43 124 93男假假109 77女125 83女性40 122 80 117 75名女性49的错误

表以表格的格式显示在顶部的变量名。

每个变量在一个表是一个数据类型。如果你向表中添加一个新行,MATLAB®部队新数据之间的一致性的数据类型和相应的表变量。例如,如果你想添加信息一个新病人,第一列包含病人的年龄,而不是性别,如表达T(+ 1,:) ={{‘女性’},的确,84年[130]},然后你收到错误:

无效的园艺学会分类数组赋值。

错误是因为MATLAB®不能分配数值数据,37分类数组,性别

进行比较的表结构,考虑结构数组,StructArray这相当于表,T

StructArray = table2struct (T)
StructArray =100×1结构体数组字段:性别年龄吸烟者血压

结构数组组织记录使用命名字段。每个字段的值可以具有不同的数据类型或大小。现在,第一个元素的命名字段显示StructArray

StructArray (1)
ans =结构体字段:性别:男年龄:38吸烟者:1血压:(124 93)

字段在一个结构数组中类似于变量在一个表中。然而,与表,您不能执行领域内同质性。例如,您可以有一些值S.Gender分类数组元素,男性,其他的特征向量,“男”“女”和其他人,是整数,01

现在考虑相同的数据存储在一个标量与四个领域的结构,从表中每个包含一个变量。

ScalarStruct =结构(“性别”{性别},“年龄”、年龄、“抽烟”,抽烟,“血压”、血压)
ScalarStruct =结构体字段:性别(100 x1分类):年龄:[100 x1双]吸烟者:血压:x1逻辑[100][100 x2双)

与表,您不能执行的数据是矩形。例如,字段ScalarStruct.Age可以是一个不同于其他字段的长度。

表允许您维护矩形结构(如一个结构数组)和执行的同质性变量(如标量结构字段)。虽然细胞数组没有命名字段,他们有许多相同的缺点是结构数组和标量结构。如果你有均匀的矩形数据在每个变量,考虑使用一个表。然后您可以使用数字或命名索引,您可以使用属性存储元数据表。

使用数字或命名索引访问数据

你可以使用括号表的索引,花括号,或者点的索引。括号允许您选择表中数据的一个子集,并保存表容器。花括号和点索引允许你从一个表中提取数据。在每个表的索引方法中,您可以指定行或变量访问通过名称或数字索引。

考虑上面的示例表。表中的每一行,T,代表一个不同的病人。工作空间变量,100行,包含惟一标识符。通过设置行名称添加到表RowNames财产和显示的第一个五行表更新。

T.Properties。RowNames= LastName; T(1:5,:)
ans =5×4表性别年龄看上去吸烟者血压___得一样_________________史密斯男性38真43 124 93约翰逊男性假假威廉姆斯109 77女125 83琼斯女性40 122 80 117 75布朗女49的错误

除了标签数据,您可以使用行和表中的变量名来访问数据。例如,使用指定的索引显示年龄和血压的患者威廉姆斯布朗

T ({”威廉姆斯,“棕色”},{“年龄”,“血压”})
ans =2×2表年龄血压___ _________________威廉姆斯38 125 83布朗49 122 80

现在,使用数字索引返回一个等价的子表。从第二个返回第三和第五行和第四变量。

T (3:2:5 2:2:4)
ans =2×2表年龄血压___ _________________威廉姆斯38 125 83布朗49 122 80

与细胞数组或结构,你没有相同的灵活性,使用指定或数字索引。

  • 单元阵列,您必须使用比较字符串找到所需的指定数据,然后可以索引数组。

  • 一个标量结构或结构数组,它是不能引用字段的编号。此外,一个标量结构,不能轻易选择变量的子集或观察的一个子集。用一个结构数组,您可以选择一个子集的观测,但你不能选择变量的子集。

  • 使用一个表,您可以访问数据的命名索引或数字索引。此外,您可以轻松地选择的行变量和一个子集的一个子集。

表索引上的更多信息,见访问数据表

使用表属性存储元数据

除了存储数据,表属性来存储元数据,如变量名、行名称,描述,和变量单位。你可以使用一个属性T.Properties.PropName,在那里T表的名称和吗PropName是一个表的属性。

例如,添加一个表描述、单位变量描述,和变量年龄

T.Properties。描述=模拟病人数据的;T.Properties。VariableDescriptions ={男性或女性的真或假的收缩压/舒张压的};T.Properties.VariableUnits {“年龄”}=“年”;

单个细胞内的向量数组为空字符VariableDescriptions显示相应的变量没有描述。有关更多信息,请参见属性的部分

打印一个表汇总,使用总结函数。

总结(T)
描述:模拟病人数据变量:性别:100 x1分类属性:描述:男性或女性价值观:女性53岁男性47年龄:100年x1双重性质:单位:年价值观:25分钟39马克斯50吸烟者中位数:100 x1逻辑属性:描述:真或假值:对34个错66血压:100 x2双重属性:描述:收缩压/舒张压值:第1列第2列说109 68 122 81.5最大中值138 99分钟

结构和细胞数组没有属性用于存储元数据。

另请参阅

|

相关的话题