a <- c(1,2,3,4,2,3,4,5,8,9,10,1,2,1) f <- c(0, diff(a)>0) ifelse(f, cumsum(f), f)
, что он не перезагружен. с сбросом:
unlist(tapply(f, cumsum(c(0, diff(a) < 0)), cumsum))