2016-10-26 4 views
0

私はこのような何かに見えた、ベクトルの多くを持っている:これらのベクターの全てにおいて重複した値を持つベクトルを連続して見つけるにはどうすればよいですか?

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

が連続して3回繰り返されている値を持っているが。

私は何とかこれらの繰り返しを特定する必要があります。主な条件は、次々に繰り返される値です。

Duplicated()は、少なくともベースでは役に立ちません。

このようなベクターの定義は、それらを除去するために必要である。

私の仕事に適したベクターです。

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

不適切なベクター。

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

予想される出力が何であるかを明確にすることはできますか? –

答えて

0

あなたは基本パッケージまたはdata.tableからrleid機能からrleを見てみたいことがあります。

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

関連する問題