2014-01-08 3 views
1

나는 한정된 수의 값을 취할 수있는 정수로 구성된 벡터를 가지고 있습니다. 값이 0, 1, 2 인 경우를 고려하십시오.R - 벡터의 중복을 다음 값으로 제거합니다.

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

다음 differnet 값까지 중복 된 값을 삭제하고 싶습니다. 이 작업을 수행 한 후 결과 쇼가 될

0 1 0 2 

는 그러므로 나는 독특한 뭔가를 (0,1,2 준 것이다)하고 싶어하지만 난 계정으로 순서를 먹고 싶어.

감사

답변

2

시도 (가정 없음 NA들) :

a[c(1, diff(a)) != 0] 
+0

가 대단히 감사합니다, 잘 작동! – jaclea

+0

그러면이 질문을 귀하의 질문에 대한 답변으로 표시 할 수 있습니까? –

+1

물론, 6 분 ... – jaclea

2

내가 제일 좋아하는 도구를 사용하여

Rgames> rle(a<-c(0,0,0,1,1,0,0,2,2,2)) 
Run Length Encoding 
    lengths: int [1:4] 3 2 2 3 
    values : num [1:4] 0 1 0 2 
+0

아주 좋습니다. 이것은 정확하게 값이 변경된 색인을 원했기 때문에 필자가 필요로했던 것입니다. :) – jaclea

+1

@jaclea - 원하는 경우 수락 할 수있는 대답을 변경할 수 있습니다. –

관련 문제