【问题标题】:Is there some way to detect 'wrong' measures in a dataframe?有什么方法可以检测数据框中的“错误”度量吗?
【发布时间】:2021-12-25 03:06:30
【问题描述】:

我正在苦苦思索如何从我的数据集中删除“错误”的度量。我正在处理一张巨大的桌子,在那里我有一个日期和设备的大小。它不能随着使用变大,最多可以保持相同的尺寸,所以这个问题当然是测量误差。 我的数据库很庞大,并且有几个特殊情况,这使得我无法将它放在这里,以及其他业务原因......因此,我以图像和部分数据为例,但问题是我如上所述...

simplest_example = test = data.frame(data1 = c("20-09-2020", "15-10-2020", "13-05-2021", "20-10-2021","20-11-2021"), measure = c(5,4,3,5,2))

#as result:
#       data1 measure
#1 20-09-2020       5
#2 15-10-2020       4
#3 13-05-2021       3
#4 20-11-2021       2

重点是:尽可能选择最大的非升序序列,并排除一些阻止这种情况发生的值。

所以我想请教一个建议,如果这里有人遇到类似的东西,请告诉我如何推荐。

【问题讨论】:

  • 看起来这里也可能存在一些错误的低值。您希望如何处理它们?
  • 并且在位置 8 的“blip”之后最初有一个微妙的“自然外观”增加,其中的值略高于前几个值。这些也是错误的,还是您需要一种允许这种轻微增加的算法?
  • 查看 R 中的异常检测:towardsdatascience.com/…

标签: r dataframe select dplyr


【解决方案1】:

如果我理解,您想检测变量度量值是否大于前一个时间点的值?我会创建一个滞后列,它只是滞后一次的度量列。然后确定前一个度量值何时大于当前度量值

library(dplyr)
simplest_example %>% 
mutate(previous_measure = lag(measure)) %>% 
filter(previous_measure < measure)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 2017-04-12
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多