我有 2 个向量。
x=c("a", "b", "c", "d", "a", "b", "c")
y=structure(c(1, 2, 3, 4, 5, 6, 7, 8), .Names = c("a", "e", "b",
"c", "d", "a", "b", "c"))
我要匹配
a
至 a
, b
至 b
依次相应地,使 x[2]
匹配 y[3]
而不是 y[7]
;和 x[5]
匹配 y[6]
而不是 y[1]
, 等等等等。lapply(x, function(z) grep(z, names(y), fixed=T))
给出:
[[1]]
[1] 1 6
[[2]]
[1] 3 7
[[3]]
[1] 4 8
[[4]]
[1] 5
[[5]]
[1] 1 6
[[6]]
[1] 3 7
[[7]]
[1] 4 8
匹配所有实例。我如何获得这个序列:
1 3 4 5 6 7 8
所以
x
中的元素可以映射到y
中的对应值因此?
最佳答案
您实际上是在寻找 pmatch
pmatch(x,names(y))
[1] 1 3 4 5 6 7 8
关于r - 按顺序匹配向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50129650/