文档

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

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

创建时间表

创建一个时间表,模拟2017年5月几天的天气测量。变量的时间表TmaxTmin包含每天的最高和最低温度读数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=时间表(日期、Tmax、Tmin、PrecipTotal、WXEvent)
Station1 =5×5时间表2017年5月5日冰雹2017年5月5日62 45无2017年5月8日56 40无2017年5月9日59 42 0.15雷霆2017年5月10日60 45无

对连续和离散的时间表变量进行重采样

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

Station1Daily =调整时间(Station1,“每天”)
Station1Daily =7×5时间表日期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是step数据,并且WXEvent事件数据。

Station1.Properties.VariableContinuity={“连续的”,“连续的”,“步骤”,“事件”};Station1。属性
ans=TimetableProperties及其属性:描述:''UserData:[]维度名称:{'Date''VariableNames:{'Tmax''Tmin''PrecipTotal''WXEvent'}VariableDescriptions:{}VariableUnits:{}VariableContinuity:[连续步骤事件]行时:[5x1 datetime]开始时间:2017年5月4日采样器:NaN时间步骤:NaN自定义属性:未设置自定义属性。使用addprop和rmprop修改CustomProperties。

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

Station1Daily =调整时间(Station1,“每天”)
Station1Daily =7×5时间表日期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×5时间表日期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×2时刻表日期压力___________ ________ 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×6时间表(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU2017年5月9日59 42 0.15雷霆楠2017年5月10日60 45 0无楠

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

Station2.Properties。VariableContinuity= {“连续的”}; 站点2.属性
ans=具有以下属性的TimetableProperties:描述:“”用户数据:[]维度名称:{'Date''变量'}变量名称:{'Pressure'}变量描述:{}变量单位:{}变量连续性:连续行时:[5x1 datetime]开始时间:2017年5月4日采样器:NaN时间步:1d CustomProperties:未设置自定义属性。使用addprop和rmprop修改CustomProperties。

同步两个站的数据。使同步在中填充值BothStations。压力因为Station2。压力连续数据。

BothStations =同步(Station1 Station2)
BothStations =7×6时间表(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU2017年5月9日59 42 0.15 Thunder 994 2017年5月10日60 45 0 None 982

如果将方法指定为的输入参数使同步然后使同步将该方法应用于所有变量,就像调整时间函数确实如此。

另见

||

相关的话题