2013-10-28 1 views
3

, I는 5 개 고유 요소 벡터가A는 R에 X에 있는지 Y의 요소의 위치를 ​​구하는 R에서

:

X<-c("A","B","C","D","E") 

반복 요소의 벡터 :

Y<- c("A","C","M","Z","B","C","C","R","V","D","D","B","A","V","E","E") 

나는 X의 원소 위치를 얻고 싶습니다. Y는 행렬의 행 이름입니다.

그러나 Y[match(Y,X)]을 제공합니다

[1] "A" "M" NA NA "C" "M" "M" NA NA "Z" "Z" "C" "A" NA "B" "B" 

응답은 다음과 같아야합니다 c("A","C",NA,NA,"B","C","C",NA,NA,"D","D","B","A",NA,"E","E").

Y[-which(is.na(Y[match(Y,X)]))] 

더 나은 및 더 우아한 대안은 있는가 :

은 행을 선택하려면?

답변

3

당신은 %in% 사용할 수 있습니다

Y[Y %in% X] 
[1] "A" "C" "B" "C" "C" "D" "D" "B" "A" "E" "E" 

이 도움이됩니까?

+0

@eddi : 편집 해 주셔서 감사합니다! – user1981275

+0

예, 동등합니다. – xav

관련 문제