r - 有没有办法找到向量中数字的单次出现并忽略 R 中的重复项?

标签 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 中是否有一种聪明的方法可以做到这一点?

最佳答案

一个选项是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/

相关文章:

r - 使用 base R,如何创建一个 "joy plot"(又名山脊线图),其中有许多分布在彼此之上并具有垂直偏移?

r - S4 类列表到数据框

mysql - 是否需要在 WHERE 子句中使用 INDEX 第二列?

mysql - 从 mySQL 数据库表中删除重复的用户条目

r - 确保函数不使用全局变量

r - 通过跳过特定单词之间的其他单词仅提取特定单词之后的数字

python - 在 Pandas 中创建一个带有标签的列来对 DataFrame 进行分区。

python - 按时间差索引 pandas 数据帧

java - 检查数组中同一对象的多个实例

通过两个变量滚动加入 Data.Table 而不创建重复项