变换矢量以运行到其最大值而不减少

时间:2017-03-26 19:42:48

标签: r

我正在寻找一种巧妙的方法将矢量转换为自身的版本,该版本在不降低的情况下运行到其最大值,并且一旦达到其最大值就会达到平稳状态。

因此,输入如:

x <- c(1,2,6,3,2,9,8,4)

我想输出如下:

y <- c(1,2,6,6,6,9,9,9)

我觉得这很容易用循环,但我试图这样做1000个相当大的向量,所以我真的更喜欢一个更有效的解决方案。提前谢谢!

1 个答案:

答案 0 :(得分:2)

我们可以使用cummax来执行此操作

cummax(x)
#[1] 1 2 6 6 6 9 9 9