2017-10-21 590 views
1

如何使用findpeaks查找3個連續時間間隔內的持續峯值?R語言 - Pracma - findpeaks - 查找時間序列數據中的持續峯值

我正在使用它來查找持續的CPU使用率至少3分鐘。

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 

任何意見表示讚賞。

Lou

+0

您可以定義自己的峯值模式。見'peakpat'參數。 –

+0

謝謝漢斯。你知道任何與例子有關的鏈接嗎?儘管我還在尋找,但我似乎無法找到任何東西。任何幫助是極大的讚賞。 – user7945126

回答

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]*

相關問題