小编Ben*_*ers的帖子

索引向量中的连续重复项

获取重复#次的所有元素的索引的最佳方法是什么?我想确定重复两次以上的元素。 rle()rleid()这两种提示我需要的值,但既不方法是直接给我的指标。

我想出了以下代码:

t1 <- c(1, 10, 10, 10, 14, 37, 3, 14, 8, 8, 8, 8, 39, 12)

t2 <- lag(t1,1)
t2[is.na(t2)] <- 0
t3 <- ifelse(t1 - t2 == 0, 1, 0)
t4 <- rep(0, length(t3))
for (i in 2:length(t3)) t4[i] <- ifelse(t3[i] > 0, t3[i - 1] + t3[i], 0)

which(t4 > 1)
Run Code Online (Sandbox Code Playgroud)

返回:

[1]  4 11 12 
Run Code Online (Sandbox Code Playgroud)

这些就是我需要的价值观。

是否有更合适的R功能?

r vector

7
推荐指数
2
解决办法
158
查看次数

标签 统计

r ×1

vector ×1