有没有一种方法可以找到向量中单个出现的数字并忽略R中的重复项?

时间:2019-10-21 19:11:03

标签: r indexing duplicates find-occurrences

我有一个数字数组,我想仅在特定数字单独出现时查找其索引,而不是在同一数字序列中出现时查找。 例如:

a <- c(1,2,4,5,5,8,1,2,8,8,8,4,3)

我想找到在索引6处出现的SINGLE 8的索引,我对其他任何数字都不感兴趣,也不对在索引9-11处出现的8的序列感兴趣。 在R中有一个聪明的方法吗?

1 个答案:

答案 0 :(得分:4)

选项为rle。在rle上应用vector,基于valueslengths创建逻辑索引,然后在which上用rep换行逻辑vector

which(with(rle(a), rep(values == 8 & lengths == 1, lengths)))
#[1] 6