Следующее более высокое значение можно определить с помощью cummax()
. Например, если вы хотите указать местоположение каждого нового более высокого значения, вы можете передать свой вектор значений cummax()
в функцию diff()
, чтобы определить места, в которых изменилось значение cummax()
. скажем, у нас есть вектор
v <- c(4,6,3,2,-5,6,8,12,16)
cummax(v) will give us the vector
4 6 6 6 6 6 8 12 16
Теперь, если вы хотите найти место изменения в cummax()
, у вас есть много опций, которые я обычно использую sign(diff(cummax(v)))
. Вы должны скорректировать потерянный первый элемент из-за diff()
. Полный код для вектора v
будет:
which(sign(diff(cummax(v)))==1)+1