有没有办法在向量中找到一个数字的单次出现并忽略 R 中的重复项?
Is there a way to find a single occurence of a digit in a vector and ignore duplicates in R?
我有一个数字数组,我只想找到单独出现的特定数字的索引,而不是当它出现在同一数字的序列中时。
例如:
a <- c(1,2,4,5,5,8,1,2,8,8,8,4,3)
我想查找出现在索引 6 处的 SINGLE 8 的索引,我对任何其他数字都不感兴趣,也不对出现在索引 9-11 处的 8 的序列感兴趣。
在 R 中有没有聪明的方法来做到这一点?
一个选项是rle
。在 vector
上应用 rle
,根据 values
和 lengths
创建逻辑索引,然后在 rep
上用 which
换行相关逻辑 vector
which(with(rle(a), rep(values == 8 & lengths == 1, lengths)))
#[1] 6
我有一个数字数组,我只想找到单独出现的特定数字的索引,而不是当它出现在同一数字的序列中时。 例如:
a <- c(1,2,4,5,5,8,1,2,8,8,8,4,3)
我想查找出现在索引 6 处的 SINGLE 8 的索引,我对任何其他数字都不感兴趣,也不对出现在索引 9-11 处的 8 的序列感兴趣。 在 R 中有没有聪明的方法来做到这一点?
一个选项是rle
。在 vector
上应用 rle
,根据 values
和 lengths
创建逻辑索引,然后在 rep
上用 which
换行相关逻辑 vector
which(with(rle(a), rep(values == 8 & lengths == 1, lengths)))
#[1] 6