【发布时间】:2020-03-16 19:53:12
【问题描述】:
我有一个事件频率的时间序列,如下所示:
df <- data.frame("time" = c(1:20),
"frq" = c(0, 1, 2, 4, 0, 1, 2, 2, 4, 3, 1, 0, 3, 2, 1, 2, 4, 2, 0, 1 ))
(假设 time 是 1 到 20 秒,只是为了更容易解释)
我正在尝试编写一个函数来过滤掉我的信号中的噪声。 如果频率不大于特定时间的背景值,我认为频率是“噪声”。
例如,假设我只想将大于 1 的频率保持超过 3 秒。 df[3:4,2] 是“噪音”,因为它们大于 1 仅 2 秒,而 df[7:10,2] 不是“噪音”,因为它们大于 1 并持续 4 秒。最终我想保留所有不是噪声的值并将所有噪声值更改为0。所以我试图想出一个过滤器,它会返回:
return_df <- data.frame("time" = c(1:20),
"frq" = c(0, 0, 0, 0, 0, 0, 2, 2, 4, 3, 0, 0, 0, 0, 0, 2, 4, 2, 0, 0)`
谁能给我一些建议?
【问题讨论】: