添加自定义属性表和时间表
这个例子展示了如何添加自定义属性表和时间表,设置和访问他们的价值观,并删除它们。
所有表和时间表有属性包含元数据对他们或他们的变量。你可以通过访问这些属性T
. properties
对象,T
表的名称或时间表。例如,T
.Properties.VariableNames
返回一个单元阵列,其中包含的变量的名称T
。
你访问的属性T
. properties
的定义的一部分吗表
和时间表
数据类型。你不能添加或删除这些预定义的属性。但从R2018b开始,你可以自己添加和删除自定义属性,通过修改T
.Properties.CustomProperties
对象的一个表或时间表。
添加属性
断电数据读入一个表。它使用第一个变量,包含日期和时间,OutageTime
。然后显示前三行。
T = readtable (“outages.csv”);T = sortrows (T)“OutageTime”);头(T, 3)
ans =3×6表地区OutageTime损失客户RestorationTime引起_________________ ___________ ______ __________ ___________,___________{“西南”}2002-02-01 12:18 458.98 - 1.8202 e + 06 2002-02-01 16:50{“暴风雪”}{“中西部”}2002-03-05 17:53 96.563 - 2.8666 e + 05 2002-03-05 41{‘风’}{“中西部”}2002-03-16 06:18 186.44 - 2.1275 e + 05 2002-03-16 23:23{“暴风”}
显示其属性。这些属性所有表的共同点。注意,还有一个CustomProperties
对象,但默认情况下它没有属性。
T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {1} x6细胞VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {} CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。
添加自定义属性,请使用addprop
函数。指定属性的名称。还为每个属性,指定是否对整个表(类似于元数据描述
属性)或变量(类似于VariableNames
属性)。如果属性变量的元数据,那么它的值必须是一个向量的长度等于变量的数量。
添加自定义属性包含一个输出文件名,文件类型,及指标变量。最佳实践是分配的输入表作为输出参数addprop
,所以自定义属性是同一个表的一部分。指定输出文件名和文件类型表元数据使用“表”
选择。指定情节指标变量使用元数据“变量”
选择。
T = addprop (T) {“OutputFileName”,“OutputFileType”,“如何”},…{“表”,“表”,“变量”});T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {1} x6细胞VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFileName: [] OutputFileType:[]如何:[]
设置和访问自定义属性的值
当您添加自定义属性addprop
默认情况下,它们的值是空数组。你可以设置和访问自定义属性的值使用点语法。
设置输出文件的名称和类型。这些属性包含元数据表。然后分配逻辑数组如何
财产。这个属性包含元数据的变量。在这个例子中,元素的值如何
属性是真正的
对于每个变量纳入一个阴谋,和假
为每一个变量被排除在外。
T.Properties.CustomProperties。OutputFileName =“outageResults”;T.Properties.CustomProperties。OutputFileType =“.mat”;T.Properties.CustomProperties。如何= [false false true true true false]; T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {1} x6细胞VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFileName:“outageResults”OutputFileType:”。垫的如何:(0 0 1 1 1 0)
情节变量T
在堆叠使用stackedplot
函数。只图损失
,客户
,RestorationTime
值,使用如何
自定义属性为第二个输入参数。
stackedplot (T, T.Properties.CustomProperties.ToPlot);
当你移动或删除表变量,预定义和自定义属性会重新排序,这样它们的值对应于相同的变量。在这个例子中,的值如何
自定义属性与变量标记为策划,保持一致的值VariableNames
预定义的属性保持一致。
删除客户
变量和显示属性。
T。客户= [];T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {1} x5细胞VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFileName:“outageResults”OutputFileType:”。垫的如何:(0 0 1 1 0)
表转换为一个时间表,使用中断倍行乘以。移动地区
表的结束,RestorationTime
第一个变量之前,使用movevars
函数。注意,属性是适当地重新排序。的RestorationTime
和损失
变量还有指标纳入一个阴谋。
T = table2timetable (T);T = movevars (T)“地区”,“后”,“原因”);T = movevars (T)“RestorationTime”,“之前”1);T.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames: {“OutageTime”“变量”}VariableNames: {“RestorationTime”“损失”“原因”“地区”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: x1 datetime[1468]开始时间:2002-02-01 12:18 SampleRate:南步伐:南自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFileName:“outageResults”OutputFileType:”。垫的如何(1 1 0 0):
删除属性
你可以删除任何或所有的自定义属性表的使用rmprop
函数。但是,你不能用它来消除从预定义的属性T.Properties
,因为这些属性的定义的一部分表
数据类型。
删除OutputFileName
和OutputFileType
自定义属性。显示剩余的表的属性。
T = rmprop (T) {“OutputFileName”,“OutputFileType”});T.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames: {“OutageTime”“变量”}VariableNames: {“RestorationTime”“损失”“原因”“地区”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: x1 datetime[1468]开始时间:2002-02-01 12:18 SampleRate:南步伐:南自定义属性(访问使用t.Properties.CustomProperties。<名称>):如何:[1 1 0 0]
另请参阅
addprop
|头
|movevars
|readtable
|rmprop
|sortrows
|stackedplot
|表
|table2timetable