R 复位反向计数器到复位时间

R reverse counter of resets to time to reset

嗨,我有一个数据框

输入:数据$cyclesFromLastError

每次出错就休息。

输入:

0 1 2 3 4 0 1 2 3 0 1 2 3 4 5 

我想创建新专栏 输出:数据$cyclesToNextError

4 3 2 1 0 3 2 1 0 5 4 3 2 1 0

我需要那个脚本

我们可以使用 ave,在 x 中每次出现 0 时创建组,然后 rev 为每个组删除序列。

ave(x, cumsum(x == 0), FUN = rev)
#[1] 4 3 2 1 0 3 2 1 0 5 4 3 2 1 0

数据

x <- c(0, 1, 2, 3, 4, 0, 1, 2, 3, 0, 1, 2, 3, 4, 5)