根据第一个双向量重新排序第二个双向量

问题描述 投票:1回答:1

这个问题涉及:r - reorder second vector according to first。当矢量不从1开始并具有类double时,那里的解决方案没有解决问题。

给出以下两个向量:

a <- c(5.1, 7.2, 4.3, 8.4)
b <- c(4.3, 7.2, 8.4, 5.1)

需要创建第三个向量c,它将给出向量b需要重新排序的顺序,使其与a的顺序相同。在这种情况下:

c <- c(4, 2, 1, 3)

这样:

> b[c] == a
[1] TRUE TRUE TRUE TRUE
r sorting vector double
1个回答
1
投票

这不是c <- match(a, b)

这可以安全地工作,如果

  • 一个向量是另一个向量的排列(也就是说,如果它们都被排序,它们是相同的);
  • 没有绑定值(也就是说,没有值出现多次)。

看起来您的应用程序符合这些要求,但我仍然可以为其他读者指出它。

© www.soinside.com 2019 - 2024. All rights reserved.