1

我有两个字符向量 A 和 B。大多数 A 在 B 中都有匹配的字符串,由前 6 个字符匹配。A 字符串总是以 '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")

最好的方法是什么?

4

1 回答 1

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"
于 2013-09-25T22:42:26.793 回答