如何使用findpeaks在3个连续的时间间隔内寻找持续的峰值?
我正在使用它来寻找至少3分钟的持续CPU使用率。
findpeaks(MyData $ X.busy,threshold = 80)??
Timestamp, X.busy
2017-10-08 00:00:00, 10
2017-10-08 00:01:00, 10
2017-10-08 00:02:00, 10
2017-10-08 00:03:00, 10
2017-10-08 00:04:00, 10
2017-10-08 00:05:00, 90 <---
2017-10-08 00:06:00, 90 <---
2017-10-08 00:07:00, 90 <---
2017-10-08 00:08:00, 10
2017-10-08 00:09:00, 10
感谢任何建议。
娄
答案 0 :(得分:0)
刚刚遇到同样的问题。文档不是很清楚,但阅读findpeaks
的源代码有帮助。
您案例的略微修改版本,在第2位有一个非持续峰值:
y <- c(10, 11, 10, 10, 10, 90, 90, 90, 10, 10)
pp <- "[+]{1,}[0]+[-]{1,}"
findpeaks(y, peakpat=pp)
关键是[0]+
,意味着静止至少1。
如果您还希望包含第一个未经修整的峰值,则可以使用[0]*
代替。