我有两个字符向量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")
最好的方法是什么?
答案 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"