【发布时间】:2021-12-28 23:03:20
【问题描述】:
我有一个包含日期、温度和时间的数据框。该数据帧可以有数千行,具体取决于温度测量的数量。有时会出现测量错误,并且数据框中会出现一个或多个错误值。如何在 R 中自动消除温度错误的线条?
这是一个例子:
date temp time
1 2021-09-01 14 04:59:27
2 2021-09-01 15 04:59:28
3 2021-09-01 15 04:59:30
4 2021-09-01 14 04:59:30
5 2021-09-01 14 04:59:32
6 2021-09-01 10 04:59:32
7 2021-09-01 14 04:59:33
8 2021-09-01 14 04:59:35
9 2021-09-01 15 04:59:35
10 2021-09-01 14 04:59:36
11 2021-09-01 15 04:59:37
12 2021-09-01 6 04:59:38
13 2021-09-01 6 04:59:39
14 2021-09-01 6 04:59:41
15 2021-09-01 14 04:59:41
16 2021-09-01 15 04:59:42
17 2021-09-01 15 04:59:44
18 2021-09-01 14 04:59:44
19 2021-09-01 15 04:59:45
20 2021-09-01 15 04:59:45
21 2021-09-01 15 04:59:45
(...)
当然,第 6、12、13、14 行是不正确的,因为这种以秒为单位的变化是不可能的,我想删除它们。
强调:我需要一种自动的方法来识别并稍后消除这些行,因为我可能在数千行中还有其他类似的情况
【问题讨论】:
-
为什么第 6、12、13 和 14 行是错误的?如何判断某些行是错误的?
-
我认为您可以在一段时间内(例如使用
slider::slide_index())取一个运行平均值,并根据您对哪些变化是正常的领域知识过滤掉超出范围的某个阈值的值以及哪些可能是错误的。 -
错了,因为温度不可能在5秒内下降和上升8度,或者在同一秒内有2个不同的值。
-
另外,通过使用运行平均值,我的问题是如何定义阈值,因为我可以将温度设置在 6 左右,例如在一天的最后一天,但在这个示例中,运行平均值接近 6 意味着我有错误的价值观...