在 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 中的位置,因为 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)]))]
有没有更好更优雅的选择?
最佳答案
你可以使用%in%
:
Y[Y %in% X]
[1] "A" "C" "B" "C" "C" "D" "D" "B" "A" "E" "E"
这有帮助吗?
关于r - 获得 Y 中 a 在 X 中的元素在 R 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19639068/