【问题标题】:obtain the position of elements of Y that a are in X in R获取 Y 中 a 在 X 中的元素在 R 中的位置
【发布时间】:2013-11-07 11:27:35
【问题描述】:

在 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)]))]

有没有更好更优雅的选择?

【问题讨论】:

    标签: r vector sequence rows names


    【解决方案1】:

    你可以使用%in%:

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

    这有帮助吗?

    【讨论】:

    • 是的,它是等价的。
    猜你喜欢
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多