获取一个向量的索引到另一个向量但保持顺序

时间:2013-11-22 16:57:12

标签: r

让我们说我有两个向量a和b,

a = c(1,21,3,42,5,6,7,8,9)
b = c(2,5,7,10,3,40,1,21,42,6,8,9)

如果我这样做:

which(b %in% a)

我获得了,

 2  3  5  7  8  9 10 11 12

但是我想保持它们出现的顺序,即我希望将其作为输出,

7 8 5 9 2 10 3 11 12

因为1在b中的位置7,21在b中的位置8等,

这很容易吗?

1 个答案:

答案 0 :(得分:2)

也许您可以试试match,但请注意match%in%并不完全相同:

> match(a, b)
[1]  7  8  5  9  2 10  3 11 12