У меня 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
?