cummax(x) cummin(x)
# compute times between subsequent maxima set.seed(30) #set the .Random.seed x <- rnorm(100) xm <- cummax(x) diff((2:100)[xm[2:100]>xm[1:99]]) # returns c(5, 19, 41)