2013-11-22 1 views
1

다른 벡터에 하나 개의 벡터의 인덱스를 취득하지만, 순서를 유지

a = c(1,21,3,42,5,6,7,8,9) 
b = c(2,5,7,10,3,40,1,21,42,6,8,9) 

가 나는 경우에, 우리는 내가 두 벡터 A,와 B가 있다고 가정 해 봅시다 :

which(b %in% a) 

내가

를 얻을 수
2 3 5 7 8 9 10 11 12 

하지만 즉, 내가 출력으로 갖고 싶은 것, 그들이 나타나는 순서를 유지하고 싶습니다,

한 사람 3,691,363,210
7 8 5 9 2 10 3 11 12 

쉽게 할 것을 등등, 21 (B)의 위치 (8)이고, B의 위치 (7)에인가?

답변

2

아마 당신은 대신 match을 시도하지만, match%in% 정확히 같은 일을하지 않는 점에 유의 할 수 있습니다

> match(a, b) 
[1] 7 8 5 9 2 10 3 11 12 
+1

일을! 'match in a (a, b, nomatch = 0)'를 사용하여'% in % – agstudy

관련 문제