我正在寻找一种巧妙的方法将矢量转换为自身的版本,该版本在不降低的情况下运行到其最大值,并且一旦达到其最大值就会达到平稳状态。
因此,输入如:
x <- c(1,2,6,3,2,9,8,4)
我想输出如下:
y <- c(1,2,6,6,6,9,9,9)
我觉得这很容易用循环,但我试图这样做1000个相当大的向量,所以我真的更喜欢一个更有效的解决方案。提前谢谢!
答案 0 :(得分:2)
我们可以使用cummax
来执行此操作
cummax(x)
#[1] 1 2 6 6 6 9 9 9