这个例子展示了如何对不同的变量使用不同的方法来填补时间表变量的空白。属性指定每个时间表变量是包含连续数据还是离散数据VariableContinuity
时间表的属性。使用调整时间
作用调整时间
插值、填充以前的值或填充缺少的数据指示器,具体取决于中的值VariableContinuity
类似地使同步
函数插值或填充基于VariableContinuity
属性的输入时间表。
创建一个时间表,模拟2017年5月几天的天气测量。变量的时间表Tmax
和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=时间表(日期、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 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
是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 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×5时间表日期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×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
如果将方法指定为的输入参数使同步
然后使同步
将该方法应用于所有变量,就像调整时间
函数确实如此。