RD <- cumsum(rnorm(100000))+100 ln <- length(RD) hankel <- function(data, r=10) { do.call(cbind, lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))} #hankel matrx dat <- t(apply(hankel(RD), 1, function(x) scale(x,T,T))) target <- rep(0,ln) for(i in 11:(ln-20)){ if(RD[i]>max(RD[(i-1):(i-10)]) && RD[i]>max(RD[(i+1):(i+20)]) ) target[i+1] <- 1 if(RD[i]