Vector:如何过滤掉值递减的部分
Vector: How to filter out segments of decreasing values
假设有一个向量 sim
包含以下数字序列:
1
2
4
7
5
3
2.5
4
6
如何过滤掉所有值递减的部分,以实现 sim
只有递增的值?预期结果:
1
2
4
7
2.5
4
6
根据@akrun 的建议:
dif <- diff(sim) > 0
sim[ c(dif[1], dif) | c(dif, dif[length(dif)]) ]
[1] 1.0 2.0 4.0 7.0 2.5 4.0 6.0
假设有一个向量 sim
包含以下数字序列:
1
2
4
7
5
3
2.5
4
6
如何过滤掉所有值递减的部分,以实现 sim
只有递增的值?预期结果:
1
2
4
7
2.5
4
6
根据@akrun 的建议:
dif <- diff(sim) > 0
sim[ c(dif[1], dif) | c(dif, dif[length(dif)]) ]
[1] 1.0 2.0 4.0 7.0 2.5 4.0 6.0