主要内容

使用表格的优点

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

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

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

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

负载病人

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

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

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

现在,创建一个表的变量和显示它。

T =表(年龄、吸烟、血压、SelfAssessedHealthStatus)
T =100×4表年龄吸烟者血压SelfAssessedHealthStatus ___ _____ _________________ ________________________ 38真43 124 93优秀的假109 77公平38假40 125 83好假117 75公平49假122 80好46假121 70好33真的130 88 40假115 82 28好假115 78 114年优秀31日假45 118 86优秀的假77优秀42假115 68名贫困25假127 74名贫困39真36 130 95优秀的假⋮114真正79好48 130 92好

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

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

右手边的任务必须分类或分类数组文本表示类别名称。

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

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

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

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

StructArray (1)
ans =结构体字段:年龄:38吸烟者:1血压:[124 93]SelfAssessedHealthStatus:太好了

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

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

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

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

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

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

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

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

T.Properties。RowNames= LastName; T(1:5,:)
ans =5×4表年龄吸烟者血压SelfAssessedHealthStatus ___ _____ _________________ ________________________真124 93优秀的约翰逊43假史密斯109 77假公平威廉姆斯125 83好琼斯40假117 75公平布朗49假122 80好

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

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

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

5 T ([3], [3] 1)
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双重性质:单位:年价值观:25分钟39马克斯50吸烟者中位数:100 x1逻辑属性:描述:真或假值:对34个错66血压:100 x2双重属性:描述:收缩压/舒张压值:第1列第2列说分钟109 68 122 81.5 Max 138 99 SelfAssessedHealthStatus中位数:100 x1分类属性:描述:病人报告的状态值:优秀的34个公平15好40差11

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

另请参阅

|

相关的话题