我有特定时间段的时间序列数据。例如:
Time Volume
2012-10-01 10:30:01 4567
2012-10-01 10:30:02 1235
2012-10-01 10:30:03 3645
.......... ..... .....
2012-10-01 10:30:49 4646894
我想确定给定时间序列数据的最大波动位于:2012-10-01 10:30:49。任何人都可以帮助我。
答案 0 :(得分:3)
我将“最大波动”解释为意味着变化。如果这不正确,请告诉我。
以下是一些不同的optinos。 tsDat
将是您data.frame
# Greatest increase in volume
diffs <- c(0, diff(tsDat$Volume))
tsDat[diffs == max(diffs), ]
# Greatest absolute increase in volume
diffs <- c(0, abs(diff(tsDat$Volume)))
tsDat[diffs == max(diffs), ]
# Greatest volumne
tsDat[tsDat$Volume==max(tsDat$Volume), ]
使用data.table:
library(data.table)
myDT <- data.table(tsDat, key="Volume")
myDT[.(max(Volume)), Time]