清洁时间表与缺失,重复,或不均匀时报

这个例子显示了如何创建常规的时间表从一个已经失踪,复制或不均匀倍。甲时间表是一种类型的表中的相关联的是一个时间戳,或行时间与数据的每一行。在常规的时间表,该行时间进行排序和独特性,并通过同一个固定的时间步不同。这个例子也显示了如何将数据从与其他功能的使用时间表出口。

时间表可以是不规则的。它们可以包含不被它们的行时间排序行。时间表可以包含与同一行的时间多行,虽然行可以有不同的数据值。甚至当行时间进行排序和独特的,它们可以通过不同尺寸的时间步骤不同。时刻表甚至可以包含NaT要么为NaN值来表示遗漏个行时间。

时间表提供了多种不同的方法来解决丢失,复制或不均匀的时间和重新取样或汇总数据定期行倍。

  • 为了寻找失踪的排次,使用ismissing

  • 要删除丢失的时间和数据,使用rmmissing

  • 要通过其行次,使用排序时间表sortrows

  • 为了使具有独特和分类列次,使用时间表独特重新定时

  • 要删除重复的时间,指定一个唯一的时间向量和使用重新定时

  • 为了使一个普通的时间表,指定一个固定的时间矢量和使用重新定时

负载时间表

加载从MAT文件的样本时间表艰难时期包含于2016年6月9日,接管几个小时的时间表包括温度,降雨,并且在这一天以不规则的时间获取的风速测量天气测量。

加载艰难时期TT
TT =12×3时间表时间温度雨WINDSPEED ____________________ ____ ____ _________ 09君2016 6点01分04秒73 0.01 2.3 09君-2016 7时59分23秒59 0.08 0.9 09君-2016 9时53分57秒59 0.03 3.4 09军-2016 9时53分57秒67 0.03 3.4 56的NaT 0 0 09君-2016 9时53分57秒67 0.03 3.4 09君-2016 8点49分10秒62 0.01 2.7 09君-2016 8点49分10秒75.8 0.01 2.7 09君-2016 8时49分10秒82 0.01 2.7 09君-2016 5点03分11秒66.2 0.05 3 09君-2016 8时49分10秒67.2 0.01 2.7 09君2016 4时12分:00 58.8楠楠

删除缺少时间的行

有删除行NaT或缺失值,作为该行的时间。要查找的行倍矢量缺失值,使用ismissing功能。ismissing返回包含一个逻辑矢量1无论TT.Time有一个缺失值。指数回时间表,只保留那些没有遗漏值的行时间的行。分配这些行TT2

TF = ISMISSING(TT.Time);TT2 = TT(〜TF,:);TT2
TT2 =11×3时间表临时雨____________________风速__ ___ _____ 09 - 73年6月- 2016年06:01:04 0.01 - 2.3 09年6月- 2016年07:59:23 59 0.08 - 0.9 09 - 2016年6月——09:53:57 59 0.03 - 3.4 09 - 67年6月- 2016年09:53:57 0.03 0.03 - 3.4 3.4 09 - 67年6月- 2016年09:53:57 09 - 62年6月- 2016年08:49:10 0.01 - 2.7 09年6月- 2016年08:49:10 75.8 0.01 2.7 09 - 82年6月- 2016年08:49:10 0.01 - 2.7 09年6月- 2016 05:03:11 66.2 - 0.05 09年6月- 2016年08:49:10 67.2 0.01 2.7 09 - 2016年6月——04:12:00 58.8南南

此方法仅删除已失踪行时间的行。该表变量仍可能有缺失的数据值。例如,在最后一排TT2为NaN的值风速变量。

与缺少时间或丢失的数据删除行

您可以删除丢失的排次,遗漏使用的数据值rmmissing功能。rmmissing删除任何缺少行时间、缺少数据值或两者兼有的时间表行。

显示的缺失行时间和缺失数据值TT。然后从所有缺失值TT

TT
TT =12×3时间表时间温度雨WINDSPEED ____________________ ____ ____ _________ 09君2016 6点01分04秒73 0.01 2.3 09君-2016 7时59分23秒59 0.08 0.9 09君-2016 9时53分57秒59 0.03 3.4 09军-2016 9时53分57秒67 0.03 3.4 56的NaT 0 0 09君-2016 9时53分57秒67 0.03 3.4 09君-2016 8点49分10秒62 0.01 2.7 09君-2016 8点49分10秒75.8 0.01 2.7 09君-2016 8时49分10秒82 0.01 2.7 09君-2016 5点03分11秒66.2 0.05 3 09君-2016 8时49分10秒67.2 0.01 2.7 09君2016 4时12分:00 58.8楠楠
TT = rmmissing(TT)
TT =10×3时间表临时雨____________________风速__ ___ _____ 09 - 73年6月- 2016年06:01:04 0.01 - 2.3 09年6月- 2016年07:59:23 59 0.08 - 0.9 09 - 2016年6月——09:53:57 59 0.03 - 3.4 09 - 67年6月- 2016年09:53:57 0.03 0.03 - 3.4 3.4 09 - 67年6月- 2016年09:53:57 09 - 62年6月- 2016年08:49:10 0.01 - 2.7 09年6月- 2016年08:49:10 75.8 0.01 2.7 09 - 82年6月- 2016年08:49:10 66.2 - 0.05 0.01 - 2.7 09 - jun - 2016 05:03:11 3 09 - 2016年6月——08:49:10 67.2 0.01 2.7

排序时间表并确定它是否是有规律的

确定是否TT排序。然后,排序使用其行次时间表sortrows功能。

TF = issorted(TT)
TF =合乎逻辑0
TT =调用sortRows(TT)
TT =10×3时间表临时雨____________________风速__ ___ _____ 09 - jun - 2016 05:03:11 66.2 - 0.05 3 09 - 73年6月- 2016年06:01:04 0.01 - 2.3 09年6月- 2016年07:59:23 59 0.08 - 0.9 09 - 62年6月- 2016年08:49:10 0.01 - 2.7 09年6月- 2016年08:49:10 75.8 0.01 2.7 09 - 82年6月- 2016年08:49:10 0.01 - 2.7 09年6月- 2016 08:49:10 67.2 0.01 2.7 09年6月- 2016年09:53:57 59 0.03 - 3.4 09 - 67年6月- 2016年09:53:57 0.03 - 3.4 09 - 67年6月- 2016年09:53:57 0.03 - 3.4

确定是否TT是有规律的。有规律的时间表已经连续排时间之间的相同的时间间隔。即使是有序的时间表可以有不统一的时间步长。

TF = isregular (TT)
TF =合乎逻辑0

显示行时间之间的差异。

diff (TT.Time)
ans =9 x1持续时间0时57分53秒1点58分19秒0时49分47秒00:00:00 00:00:00 00:00:00 1时04分47秒00:00:00 00:00:00

删除重复的行

时间表可以有重复的行。如果时间表行具有相同的行时间和相同的数据值,则它们是重复的。在本例中,最后两行TT是重复的。

要删除重复的行,请使用独特功能。独特返回由它们的行时间中的唯一行和排序它们。

TT =独特(TT)
TT =9×3时间表临时雨____________________风速__ ___ _____ 09 - jun - 2016 05:03:11 66.2 - 0.05 3 09 - 73年6月- 2016年06:01:04 0.01 - 2.3 09年6月- 2016年07:59:23 59 0.08 - 0.9 09 - 62年6月- 2016年08:49:10 0.01 - 2.7 09年6月- 2016年08:49:10 67.2 0.01 2.7 09 - 2016年6月——08:49:10 75.8 0.01 2.7 09 - 82年6月- 2016年08:49:10 0.01 - 2.7 09年6月- 2016年09:53:57 59 0.03 - 3.4 09 - 67年6月- 2016年09:53:57 0.03 - 3.4

查找具有重复时间和不同数据的行

时刻表可以有重复行的时间,但不同的数据值的行。在这个例子中,TT与同一行次,但不同的值几行。

发现有重复的行时间的行。首先,排序列次,发现它们之间有没有区别连续倍。它们之间没有什么区别时间是重复的。指数回的排次的矢量和返回一套独特的倍确定重复行时间TT

dupTimes = (TT.Time)进行排序;TF = (diff(dupTimes) == 0);dupTimes = dupTimes (TF);dupTimes =独特(dupTimes)
dupTimes =2 x1 datetime09军-2016 8时49分10秒09军-2016九点53分57秒

索引的时间表,以显示与重复的行时间的行。当指数倍,输出时间表包含匹配的行时间都行。

TT(dupTimes,:)
ans =6×3时间表时间、温度、降雨、风速、风速、时间、时间、时间、时间、时间、时间、时间、时间、时间、时间、时间、时间、时间、时间

选择第一个和最后与重复乘以行

选择第一个和最后一个使用重复的行次行独特重新定时职能。

首先,创建独特的排次矢量TT使用独特功能。

uniqueTimes =唯一的(TT.Time);

从每组具有重复时间的行中选择第一行。

TT2 =重新定时(TT,uniqueTimes)
TT2 =5×3时间表时间、温度、降雨、风速、风速、时间、时间、时间、时间、时间、时间

每组有重复多次的行选择最后一排。指定'以前'的方法重新定时从最后一排复制数据。当您指定'以前', 然后重新定时在开始排次向量的末尾,当它遇到重复行的时间停止。然后,从该行的数据复制。

TT2 =重新定时(TT,uniqueTimes,'以前'
TT2 =5×3时间表时间温度雨WINDSPEED ____________________ ____ ____ _________ 09君-2016 5点03分11秒66.2 0.05 3 09君2016 6点01分04秒73 0.01 2.3 09君-2016 7时59分23秒59 0.08 0.9 09军-2016 8点49分10秒82 0.01 2.7 09君-2016 9时53分57秒67 0.03 3.4

从重复时报所有行汇总数据

聚合具有重复行时间的行的数据。例如,您可以计算在同一时间测量相同数量的几个测量值的平均值。

方法计算具有重复行时间的行的平均温度、降雨量和风速重新定时功能。

TT =调整时间(TT, uniqueTimes“的意思是”
TT =5×3时间表时间、温度、降雨、风速、风速、时间、时间、时间、时间、时间、时间、时间

制作时间表定期

创建一个有规律的时间表重新定时。将数据插入到一个常规的每小时时间向量中。要使用线性插值,请指定“线性”。每一行时间TT从整点开始,在连续的行时间之间有一个一小时的间隔。

TT =重新定时(TT,“每小时”“线性”
TT =6×3时间表时间温度雨风速____________________ ______ ________ _________ 09军-2016 05:00:00 65.826 0.0522 3.0385 09军-2016 06:00:00 72.875 0.010737 2.3129 09军-2016 07:00:00 66.027 0.044867 1.6027 09军-2016 8点零零分00秒59.158 0.079133 0.9223 09君-2016 9点00分00秒70.287 0.013344 2.8171 09君2016 10:00:00 62.183 0.031868 3.4654

代替使用预定的时间步如“每小时”,您可以指定自己的时间步长。要指定30分钟的时间步长,使用'定期'输入参数和“时间步”名称-值对的论点。可以将任意大小的时间步长指定为持续时间或日历持续时间值。

TT =重新定时(TT,'定期'“线性”“时间步”,分钟(30))
TT =11×3时间表时间温度雨风速____________________ ______ ________ _________ 09军-2016五时00分00秒65​​.826 0.0522 3.0385 09军-2016五时三十分00秒69.35 0.031468 2.6757 09军-2016六时00分00秒72.875 0.010737 2.3129 09军-2016六时三十分00秒69.451 0.027802 1.9578 09君2016七时00分00秒66.027 0.044867 1.6027 09君2016七点30分00秒62.592 0.062 1.2625 09君2016八点零零分00秒59.158 0.079133 0.9223 09-Jun-2016八时30分00秒64.722 0.046239 1.8697 09君2016九时00分00秒70.287 0.013344 2.8171 09君2016九点30分00秒66.235 0.022606 3.1412 09君2016 10:00:00 62.183 0.0318683.4654

提取定期时间表数据

您可以导出时间表数据,以便与分析定时间隔数据的函数一起使用。例如,计量经济学工具箱™和信号处理工具箱™具有可用于对定期间隔数据进行进一步分析的功能。

将时间表数据提取为数组。你可以使用变量属性返回数据作为数组当表变量可以被级联。

A = TT.Variables
A =11×365.8260 0.0522 3.0385 69.3504 0.0315 2.6757 72.8747 0.0107 2.3129 69.4507 0.0278 1.9578 66.0266 0.0449 1.6027 62.5923 0.0620 1.2625 59.1579 0.0791 0.9223 64.7224 0.0462 1.8697 70.2868 0.0133 2.8171 66.2348 0.0226 3.1412⋮

TT.Variables等同于使用大括号的语法,TT {:,:},以访问所有变量。

A2 = TT {:,:}
A2 =11×365.8260 0.0522 3.0385 69.3504 0.0315 2.6757 72.8747 0.0107 2.3129 69.4507 0.0278 1.9578 66.0266 0.0449 1.6027 62.5923 0.0620 1.2625 59.1579 0.0791 0.9223 64.7224 0.0462 1.8697 70.2868 0.0133 2.8171 66.2348 0.0226 3.1412⋮

也可以看看

|||||||||

相关话题