我一直在尋找的答案,這一段時間沒有多少運氣這麼祈禱有人能幫助我!有條件的最大/最小值中的R
我正在處理週期性數據,我試圖找到兩個峯值和兩個谷值的關聯值 - 這不一定等於最大/最小值和第二最大值/最小值,而是最大值/最小值然後第二個最大/最小值取決於該值大於/小於前一值和後續值。
這是一個週期的一個例子
x <- c(3.049, 3.492, 3.503, 3.429, 3.013, 2.881, 2.29, 1.785, 1.211, 0.890, 0.859, 0.903, 1.165, 1.634, 2.073, 2.477, 3.162, 3.207, 3.177, 2.742, 2.24, 1.827, 1.358, 1.111, 1.063, 1.098, 1.287, 1.596, 2.169, 2.292)
我有個循環的1000年所以我用GROUP_BY在dplyr到組的循環,然後希望組內應用條件最大/最小參數。
我將不勝感激任何這方面的建議,
在此先感謝
編輯
因爲我已經在最後一行用下面的功能只是一個輕微的編輯
return(data.frame(Data.value=x, Time=y, Date=z,HHT=peak, LLT=trough))
其中x是我上面的原始x,y是時間var,z是日期var。這使我可以對結果做一些額外的計算(我需要的是最小值/最大值以及值本身的時間)。
所以,現在我有一切數據幀我需要的,但它只是一個日期 - 我仍然無法使用GROUP_BY功能貫穿整個數據集得到這個運行。我一直在使用
subsets<-split(data, data$datevar, drop=TRUE)
試圖按日期分的設置,但仍然需要一種方式以某種方式運行的每個子集findminmax函數(代碼我一些額外的線路)。有任何想法嗎?
感謝@Parfait這個功能完美地工作,但我還是我有麻煩按日期分組 - 見我的編輯以上 – suuz
查看更新的問題。挑戰是你不能從函數返回數據幀,而是標量值。參見修改後的list()返回。 – Parfait
我有了這個對試驗數據的工作,但我一旦應用到整個數據集時得到「錯誤:下標越界」任何想法?我刪除從數據幀包含的NA行,但它可能是有在給定日期3個波峯/波谷或只有1峯/谷或許這是造成問題的情況下? – suuz