这个例子展示了如何对不同的变量使用不同的方法来填补时间表变量的空白。属性指定每个时间表变量是包含连续数据还是离散数据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 NaN07-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 007-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 NaN07-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没有
如果您指定一个方法作为输入参数同步
,然后同步
将该方法应用于所有变量,就像调整时间
函数。