У меня есть такой вектор
v <- c(0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0)
Теперь я хочу сгенерировать второй вектор, который считает в обратном направлении, пока не достигнет 1, а затем начнет заново.
Результат здесь будет
r <- c(6,5,4,3,2,1,8,7,6,5,4,3,2,1,4,3,2,1,0)
последний ноль должен быть сохранен
Я пробовал что-то подобное, но не могу заставить его работать:
lv <- c(1, which(v == 1))
res <- c()
for(i in 1:(length(lv)-1)) {
res <- c(res, rev(lv[i]:lv[i+1]))
}