R:向量的哪些组件出故障

Jos*_*hDG 2 r

说我有矢量:

x <- c(11,6,5,3,2,1,25,10,16,12,22,24,19,14,18,32,17,15,8,7,
       33,4,27,9,29,13,30,23,20,31,26,21,28)
x
[1] 11  6  5  3  2  1 25 10 16 12 22 24 19 14 18 32 17 15  8  7 33  4 27  9 29 13 30 23 20
[30] 31 26 21 28
Run Code Online (Sandbox Code Playgroud)

我想确定哪些元素不是提升的.因此,例如,元素2到5(值6,5,3,2,1)是乱序的,因为它们小于元素1(11).然后元素6是有序的,因为它大于11,然后直到元素16(32)的所有元素都是乱序的.我想删除这些元素.

矢量化/快捷方式这样做?

And*_*rie 7

创建一些数据:

set.seed(1)
x <- sample(100, 30)
x
[1] 27 37 57 89 20 86 97 62 58  6 19 16 61 34 67 43 88 83 32 63 75 17 51 10 21 29  1 28 81 25
Run Code Online (Sandbox Code Playgroud)

仅选择那些大于或等于累积最大值的元素:

x[x >= cummax(x)]
[1] 27 37 57 89 97
Run Code Online (Sandbox Code Playgroud)