基于另一部分匹配向量的排序向量

时间:2013-09-25 21:21:53

标签: r match

我有两个字符向量A和B.大多数A在B中有匹配的字符串,与前6个字符匹配。 字符串总是以'd'结尾,B字符串总是以'z'结尾。我想基于A对B进行排序,并将任何非匹配放在C中。

原始数据:

A <- c("ABCD01d", "DEFG10d", "ZYXW43d")
B <- c("ABCD01z", "ZYXW43z", "DEFG10z", "DFGS88z")

我想结束:

A <- c("ABCD01d", "DEFG10d", "ZYXW43d")
B <- c("ABCD01z", "DEFG10z", "ZYXW43z")
C <- c("DFGS88z")

最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

试试这个:

m <- match(substr(B,1,6), substr(A,1,6))
B[na.exclude(m)]
#[1] "ABCD01z" "DEFG10z" "ZYXW43z"
B[is.na(m)]
#[1] "DFGS88z"