我有一个数字数组,我想仅在特定数字单独出现时查找该数字的索引,而不是在同一数字的序列中出现时查找该数字的索引。 例如:
a <- c(1,2,4,5,5,8,1,2,8,8,8,4,3)
我想找到索引 6 处出现的 SINGLE 8 的索引,我对任何其他数字不感兴趣,也不对索引 9-11 处出现的 8 的序列感兴趣。 在 R 中是否有一种聪明的方法可以做到这一点?
最佳答案
一个选项是rle
。将rle
应用于向量
,根据值
和长度
创建逻辑索引,然后用rep
所涉及的逻辑向量
which
which(with(rle(a), rep(values == 8 & lengths == 1, lengths)))
#[1] 6
关于r - 有没有办法找到向量中数字的单次出现并忽略 R 中的重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58492755/