主要内容

使用不同的方法重新计时和同步时间表变量

这个例子展示了如何对不同的变量使用不同的方法来填补时间表变量的空白。属性指定每个时间表变量是包含连续数据还是离散数据VariableContinuity时间表的属性。当你用调整时间函数,调整时间插入、用以前的值填充或用缺失的数据指示器填充,这取决于VariableContinuity财产。类似地,同步函数插值或填充基于VariableContinuity属性的输入时间表。

创建时间表

创建一个时间表,模拟2017年5月几天的天气测量。变量的时间表达峰时间Tmin包含每天的最高和最低温度读数PrecipTotal包含当天的总降水量。WXEvent是一个分类数组,记录特定天气事件,如雷声或冰雹,是否在任何一天发生。时间表模拟了2017年5月4日至5月10日的数据,但缺失了5月6日和5月7日两天的数据。

Date = [datetime(2017,5,4) datetime(2017,5,5) datetime(2017,5,8:10)]';Tmax = [60 62 56 59 60]';Tmin = [44 45 40 42 45]';[0.2 0 0 0.15 0]';WXEvent = [2 0 0 1 0]';WXEvent = categorical(WXEvent,[0 1 2 3 4],{“没有”“雷”“冰雹”“雾”“龙卷风”});Station1 =时间表(日期、达峰时间Tmin、PrecipTotal WXEvent)
Station1 =5×4时间表日期Tmax Tmin PrecipTotal WXEvent ___________ ________ ___________ _______ 04-May-2017 60 44 0.2冰雹05-May-2017 62 45 0无08-May-2017 56 40 0无09-May-2017 59 42 0.15雷声10-May-2017 60 45 0无

重新采样连续和离散时间表变量

填写这两天缺失的数据的一种方法是使用调整时间函数。如果你叫调整时间然后,不指定方法调整时间用缺失的数据指标填补空白。例如,调整时间用。填充数值变量中的空白值,以及带有未定义元素的类别变量中的间隙。

Station1Daily =调整时间(Station1,“每天”
Station1Daily =7×4时间表日期Tmax Tmin PrecipTotal WXEvent ___________ ________ ___________ ___________ 04-May-2017 60 44 0.2 Hail 05-May-2017 62 45 0 None 06-May-2017 NaN NaN  07-May-2017 NaN NaN  08-May-2017 56 40 0 None 09-May-2017 59 42 0.15 Thunder 10-May-2017 60 45 0 None

如果您在调用时指定一个方法调整时间,它使用相同的方法来填充每个变量的空白。要对不同的变量应用不同的方法,可以调用调整时间多次索引,每次编入时间表,以访问不同的变量子集。

但是,您也可以通过指定VariableContinuity时间表的属性。您可以指定每个变量是包含连续数据还是离散数据。然后调整时间函数对每个时间表变量应用不同的方法,取决于相应的VariableContinuity价值。

如果您指定VariableContinuity,那么调整时间函数使用以下方法填充输出时间表变量:

  • “设置”-使用该类型的缺失数据指示器填充值(例如对于数值型变量)。

  • “连续”-使用线性插值填充值。

  • “步骤”—使用以前的值填写。

  • “事件”-使用该类型的缺失数据指示器填写值。

中指定温度数据Station1是连续的,PrecipTotal是步骤数据吗WXEvent事件数据。

Station1.Properties。VariableContinuity= {“连续”“连续”“步骤”“事件”};Station1。属性
ans = TimetableProperties with properties: Description: " UserData: [] DimensionNames: {'Date' 'Variables'} VariableNames: {'Tmax' 'Tmin' 'PrecipTotal' 'WXEvent'} VariableDescriptions: {} VariableUnits: {} variablecontinuous: [continuous continuous step event] RowTimes: [5x1 datetime] StartTime: 2017年5月4日SampleRate: NaN TimeStep:NaN CustomProperties:没有设置自定义属性。使用addprop和rmprop修改CustomProperties。

重新取样数据Station1.给定赋值VariableContinuity,调整时间函数插入温度数据,填入前一天的值PrecipTotal,并填写WXEvent未定义的元素。

Station1Daily =调整时间(Station1,“每天”
Station1Daily =7×4时间表日期Tmax Tmin PrecipTotal WXEvent ___________ __________ ___________ ___________ 04-May-2017 60 44 0.2冰雹05-May-2017 62 45 0无06-May-2017 60 43.333 0  07-May-2017 58 41.667 0  08-May-2017 56 40 0无09-May-2017 59 42 0.15 Thunder 10-May-2017 60 45 0无

如果你指定了一个方法,那么调整时间将该方法应用于所有变量,覆盖其中的值VariableContinuity

Station1Missing =调整时间(Station1,“每天”“fillwithmissing”
Station1Missing =7×4时间表日期Tmax Tmin PrecipTotal WXEvent ___________ ________ ___________ ___________ 04-May-2017 60 44 0.2 Hail 05-May-2017 62 45 0 None 06-May-2017 NaN NaN  07-May-2017 NaN NaN  08-May-2017 56 40 0 None 09-May-2017 59 42 0.15 Thunder 10-May-2017 60 45 0 None

同步包含连续和离散数据的时间表

同步函数还使用不同的方法填充输出时间表变量,具体方法取决于VariableContinuity属性的每个输入时间表。

创建第二个时间表,包含第二个气象站的压力读数(毫巴)。课表上有2017年5月4日至5月8日的模拟读数。

日期= datetime (2017 5 4:8) ';Pressure = [995 1003 1013 1018 1006]';Station2 =时间表(日期、压力)
Station2 =5×1的时间表日期压力___________ ________ 04-May-2017 995 05-May-2017 1003 06-May-2017 1013 07-May-2017 1018 08-May-2017 1006

同步数据从两个站使用同步函数。同步为来自的变量填充值Station1根据VariableContinuity的属性Station1.然而,由于VariableContinuity的属性Station2是空的,同步填写压力值。

BothStations =同步(Station1 Station2)
BothStations =7×5时间表日最高温度Tmin PrecipTotal WXEvent压力  ___________ ____ ______ ___________ ___________ ________ 04 - 995年5月- 2017年60 44 0.2冰雹05 - 62年5月- 2017年45 0没有43.333 2017年5月- 1003年06 - 60 0 <定义> 2017年5月- 1013年07 - 58 41.667 0 <定义> 1018 08 - 1006年5月- 2017 56 40 0没有09 - 2017年5月,59 42 0.15雷声南10 - 2017年5月- 60 45 0没有南

表明Station2。压力包含连续数据,指定VariableContinuity的属性Station2.虽然Station2仅包含一个变量,必须指定VariableContinuity使用单元格数组,而不是字符向量。

Station2.Properties。VariableContinuity= {“连续”};Station2。属性
ans = TimetableProperties with properties: Description: " UserData: [] DimensionNames: {'Date' 'Variables'} VariableNames: {'Pressure'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: continuous RowTimes: [5x1 datetime] StartTime: 04- 5 -2017 SampleRate: NaN TimeStep: 1d CustomProperties:没有自定义属性设置。使用addprop和rmprop修改CustomProperties。

同步两个站的数据。同步填入BothStations。压力因为Station2。压力连续数据。

BothStations =同步(Station1 Station2)
BothStations =7×5时间表日最高温度Tmin PrecipTotal WXEvent压力  ___________ ____ ______ ___________ ___________ ________ 04 - 995年5月- 2017年60 44 0.2冰雹05 - 62年5月- 2017年45 0没有43.333 2017年5月- 1003年06 - 60 0 <定义> 2017年5月- 1013年07 - 58 41.667 0 <定义> 1018 08 - 1006年5月- 2017 56 40 0没有09 - 994年5月- 2017 59 42 0.15雷10——982年5月- 2017 60 45 0没有

如果您指定一个方法作为输入参数同步,然后同步将该方法应用于所有变量,就像调整时间函数。

另请参阅

||

相关的话题