基于符号(+;/-)拆分R中的向量

基于符号(+;/-)拆分R中的向量,r,R,我想根据向量的符号拆分向量。我有一个向量,看起来像: v <- c(1, 2,-4,-8 ,-9, 4) v您可以使用sign选择符号,然后使用diff查看这些符号的变化 c(1,which(diff(sign(v))!=0)+1) [1] 1 3 6 @James解决方案的另一种选择是使用sequence和rle: which(sequence(rle(sign(v))$lengths) == 1) # [1] 1 3 6

我想根据向量的符号拆分向量。我有一个向量,看起来像:

v <- c(1, 2,-4,-8 ,-9, 4)

v您可以使用
sign
选择符号,然后使用
diff
查看这些符号的变化

c(1,which(diff(sign(v))!=0)+1)
[1] 1 3 6

@James解决方案的另一种选择是使用
sequence
rle

which(sequence(rle(sign(v))$lengths) == 1)
# [1] 1 3 6