比方說,有一個包含數字的以下序列的載體sim
:矢量:如何篩選出遞減值的分區
1
2
4
7
5
3
2.5
4
6
如何才能篩選出遞減值的所有段,從而實現sim
只增加值?預期的結果:
1
2
4
7
2.5
4
6
比方說,有一個包含數字的以下序列的載體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
如果遞增值的延伸數大於2,它會起作用嗎? – 2015-01-15 18:46:19
如果我正確理解你的問題,那麼是的。對延伸數量沒有限制,只需添加或移除sim的元素即可。 – 2015-01-15 18:51:30
在你的結果,7至2.5看起來並不像一個增加值。你只想要'1 2 4 7'嗎?或者你是否想過濾它以獲得長度爲2或更大的所有增長值? – 2015-01-15 18:22:01
根據您的要求,最終應該是'c(1,2,4,7,4,6)',還是我誤解了您的帖子? – 2015-01-15 18:22:22
如果'2.5'是一個拼寫錯誤,那麼'sim [c(TRUE,diff(sim)> 0)]''。如果條件是'> -1','sim [c(TRUE,diff(sim)> - 1)]' – akrun 2015-01-15 18:24:53