有些值与组非常不同,因为缺少行并且数据不连续使我的 diffVal 异常。
> df
Date diffVal1 diffVal2
1 2017-05-31 04:01:00 718 483
2 2017-05-31 05:01:00 704 477
3 2017-05-31 06:01:00 741 478
4 2017-05-31 07:01:00 874 483
5 2017-05-31 08:01:00 907 495
6 2017-05-31 09:01:00 887 510
7 2017-05-31 10:01:00 2922 514
8 2017-05-31 13:01:00 1012 529
9 2017-05-31 14:01:00 979 539
10 2017-05-31 15:01:00 886 485
11 2017-05-31 16:01:00 818 471
您可以看到 Date (hour;11,12) 处缺少行,我需要将异常值平滑到正常。
我正在尝试将异常值设置为 NULL,但问题是如何知道大数据帧中的数据帧中有异常值,如果它是我的示例数据帧我可以将大于 1200 的数据设置为 NA(它是根本不是好主意,因为它不合理。)然后使用近似的 NA 值函数na.approx()
,我必须稍后再绘制这些图。
df$diffVal1 <- ifelse((df$diffVal1>1300), NA,df$diffVal1)
df$diffVal1 <- na.approx(df$diffVal1)
> df
Date diffVal1 diffVal2
1 2017-05-31 04:01:00 718.0 483
2 2017-05-31 05:01:00 704.0 477
3 2017-05-31 06:01:00 741.0 478
4 2017-05-31 07:01:00 874.0 483
5 2017-05-31 08:01:00 907.0 495
6 2017-05-31 09:01:00 887.0 510
7 2017-05-31 10:01:00 949.5 514
8 2017-05-31 13:01:00 1012.0 529
9 2017-05-31 14:01:00 979.0 539
10 2017-05-31 15:01:00 886.0 485
11 2017-05-31 16:01:00 818.0 471
这个问题应该怎么办?以及如何按日期添加缺失的行以近似再次添加?
非常感谢您的帮助。