主要内容

struct2table

将结构数组转换为表

描述

例子

t= struct2table(s转换结构数组,s,到桌子上,t。每个字段s成为变量t

例子

t= struct2table(s,,,,名称,价值从结构数组中创建一个表格,s,有一个或多个指定的其他选项名称,价值配对参数。

例如,您可以指定在表中包含的行名。

例子

全部收缩

使用默认选项将标量结构转换为表。

创建一个结构数组,s

s.name = {“克拉克”;'棕色的';“马丁”};s.gender = {'M';'F';'M'};s.systolicbp = [124; 122; 130];s.distolicbp = [93; 80; 92];s
s =带有字段的结构:名称:{3x1 cell}性别:{3x1 cell} systolicbp:[3x1 double] diastolicbp:[3x1 double]

标量结构,s,有四个字段,每个字段都有三行。

将结构数组转换为表。

t = struct2table(s)
t =3×4桌名称性别SystolicBP DIASTOLICBP __________ ______ ________________________________ {'Clark'} {'M'} 124 93 {'Brown'} {'F'} {'f'} 122 80 {'martin'}

结构字段名称中的字段名称s成为输出表中的变量名称。的大小t是3 x-4。

改变姓名从变量到行名,通过修改表属性,T.Properties.Rownames,然后删除变量姓名

t.properties.rownames = t.name;t.name = [];t
t =3×3桌性别SYSTOLICBP DIASTOLICBP ______ __________ ___________ clark {'M'} 124 93棕色{'f'} 122 80 Martin {'M'} 130 92

创建一个非大规模结构数组,s

s(1,1).name =“克拉克”;s(1,1).genender ='M';s(1,1).SystolicBP = 124;s(1,1).distolicbp = 93;s(2,1).name ='棕色的';s(2,1).genender ='F';s(2,1).SystolicBP = 122;s(2,1).distolicBP = 80;s(3,1).name =“马丁”;s(3,1).genender ='M';s(3,1).SystolicBP = 130;s(3,1).doustolicbp = 92;s
s =带有字段的3×1结构数组:命名性别SystolicBP DiastolicBP

s是一个具有四个字段的3 x-1结构阵列。

将结构数组转换为表。

t = struct2table(s)
t =3×4桌名称性别SystolicBP DIASTOLICBP __________ ______ ________________________________ {'Clark'} {'M'} 124 93 {'Brown'} {'F'} {'f'} 122 80 {'martin'}

结构字段名称中的字段名称s成为输出表中的变量名称。的大小t是3 x-4。

利用“ asarray”,是真的从标量结构中创建一个表,其字段具有不同的行数。

创建标量结构,s,带有字段姓名,,,,计费, 和测试

s.name =约翰·多伊';s.billing = 127.00;s.test = [79,75,73;180、178、177.5;220、210、205];s
s =带有字段的结构:名称:“约翰·杜伊”帐单:127测试:[3x3 double]

这些字段有不同数量的行。因此,您不能使用struct2table(s),使用“ asarray”,错误默认。

将标量结构视为阵列并将其转换为表。

t = struct2table(s,'asarray',真的)
t =1×3桌名称计费测试______________________________________________________ {'john doe'} 127 {3x3 double}

t包含一行。

输入参数

全部收缩

结构数组,指定为标量结构阵列。

  • 如果s是标量结构n田野,所有这些都有m然后t是一个m-经过-n桌子。

  • 如果s是一个非大规模m-经过-1结构数组n然后t是一个m-经过-n桌子。

名称值对参数

指定可选的逗号分隔对名称,价值参数。姓名是参数名称和价值是相应的值。姓名必须出现在引号中。您可以按任何顺序指定几个名称和值对参数NAME1,Value1,...,Namen,Valuen

例子:'Rownames',{'row1','row2','row3'}使用行名,行1,,,,Row2, 和Row3对于桌子,t

行名称t,指定为逗号分隔对'Rownames'以及字符矢量或字符串阵列的单元格数组,其元素是非空的且独特的。

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

如果指定具有领先或落后字符的行名,则struct2table将它们从行名中删除。

如何处理标量结构的指标,指定为逗号分隔对'asarray'两者错误的,,,,真的,,,,0, 或者1

真的

struct2table转换s到一行的桌子,n变量。变量可能是不同的尺寸。

错误的

struct2table使用标量结构数组n字段成一个m-经过-n桌子。每个字段必须有m行。这是默认行为

输出参数

全部收缩

输出表,返回为表。该表可以存储元数据,例如描述,可变单元,可变名称和行名称。有关更多信息,请参见“属性”部分桌子

扩展功能

在R2013B中引入