匹配在另一个向量中的向量

时间:2018-03-05 16:19:29

标签: r vector

我有一个逻辑向量,我想在一个班轮中找到从FALSE到TRUE ......的每个开关索引。 例如:

logical = c(TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE)
#return c(3, 6)

我想到了类似的东西:

which(c(FALSE, TRUE)==logical)

但它只是不起作用。匹配没有做得更好。你有什么想法吗?

2 个答案:

答案 0 :(得分:4)

which(diff(logical) == 1)
[1] 3 6

答案 1 :(得分:2)

library(dplyr)

which(!logical & lead(logical))
# [1] 3 6