【发布时间】:2019-03-31 17:46:04
【问题描述】:
我在 R 中有一个向量定义为c(2,3,4,6,5,3,1,3,5,6)。
我想根据向量中所有增加/减少的趋势对向量进行子集化。
所需的输出应该是 3 个子向量(在本例中)
1) (2,3,4,6)
2) (6,5,3,1)
3) (1,3,5,6)
【问题讨论】:
-
是否总是需要在一个集合中有 4 个值?
-
一个选项是
split(v1, rleid(c(FALSE, diff(v1) < 0)))(如果它需要分离)。但是,如果它还需要包含已经拍摄的元素,那么它会变得有点复杂 -
@Sonny - 这只是一个例子。它可以有任意数量的向量,具体取决于趋势
-
您的数据是否像示例那样组织 - 您如何处理彼此相等的值?