2013-10-28 31 views
3

在R,獲得的Y元素的位置,一個是在X中的R

我的5個獨特的元件的載體:

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") 

我想獲得Y的元素的位置,X中的a是一個矩陣的rownames。

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

相關問題