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