2016-10-26 53 views
0

我有很多的载体,它看起来是这样的:如何在一行中查找具有重复值的向量?

a <- c(0,0,0,1,1) 
b <- c(1,0,0,0,1) 
c <- c(0,0,1,1,1) 

在所有这些载体都被连续重复三次的值。

我需要以某种方式识别这些重复。主要条件是一个接一个地重复的价值。

重复的()将不会帮助,在基地至少。

此类载体的定义是必要的,以便然后将其删除。

适合我工作的载体。

d <- c(1,0,1,0,0) 

不正确的载体。

e <- c(1,1,1,0,0) 
+1

你能更清楚你的预期产出是什么? –

回答

0

你可能想看看rle从基础包或data.tablerleid功能。

rle(c(0,0,0,1,1)) 
Run Length Encoding 
lengths: int [1:2] 3 2 
values : num [1:2] 0 1 

library(data.table) 
rleid(c(0,0,0,1,1)) 
[1] 1 1 1 2 2 

两者都会查看相同编号的运行。 rle函数返回一个长度和值的列表,并且rleid函数每次系列中的数字更改时都会返回向上计数。

+0

谢谢!该方法适用于rle。 – Funrab