如何在第一个负值处剪切矢量

Rol*_*ler 3 r

我想在第一个负值上剪一个矢量,该怎么办?

x <- c(1, 4 , 6 , 3, -1, 4, -3)
Run Code Online (Sandbox Code Playgroud)

该操作应该导致

c(1, 4, 6, 3)
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

另一种选择是

x[!cumsum(x < 0)]
#[1] 1 4 6 3
Run Code Online (Sandbox Code Playgroud)

  • 很好的解决方案 (2认同)