r - 获得 Y 中 a 在 X 中的元素在 R 中的位置

标签 r vector sequence rows names

在 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/

相关文章:

r - 使用紧凑数字引用样式时显示所有使用的引用文献

r - 解析(文本 = 字符串)中的意外符号错误,数字后带有连字符

c - 将 vector 解包为 C 中的变量

r - 如何使用 R 中的 2 个组变量计算特定范围的统计信息?

c++ - 我怎么知道在 C++ 中排序的 vector 是否有重复值

r - 具有多个 NA 的向量的交替元素

algorithm - 以最少的交换次数重新排序序列以满足偏序约束

jquery - 光滑的轮播 + Velocity.js

JavaFX:连接序列

r - R中的多数票