我有一个数字数组,我只想找到一个特定数字的索引,而不是当它发生在同一位数的序列中时。例如:
a <- c(1,2,4,5,5,8,1,2,8,8,8,4,3)
我想找一个8的指数发生在索引6,我不感兴趣的任何其他数字,也不对8的顺序发生在指数9-11。在R中有一个聪明的方法来做到这一点吗?
发布于 2019-10-21 19:13:01
一个选项是rle
。将rle
应用于vector
,根据values
和lengths
创建逻辑索引,然后在rep
许可的逻辑vector
上使用which
进行包装
which(with(rle(a), rep(values == 8 & lengths == 1, lengths)))
#[1] 6
https://stackoverflow.com/questions/58492755
复制相似问题