如何通过另一个向量对一个向量的向量进行排序?

张志

假设我有两个向量;我想按 y 对 x 进行排序,以便它们相互依赖:

> x
[1] 1 5 2
> y
[1] 4 5 1

我想要 y 的结果是1,5,4y 的最小值排在第一位,因为 x 的最小值排在第一位。

另一个例子是

> x
[1] 1 5 7 3 4 2
> y
[1] 4 5 6 2 6 8
> sort(y)[order(x)]
[1] 2 8 6 6 4 5

上面的解决方案似乎不起作用,因为 x 中的最大值在第三位,但排序 y 中的最大值在第三位。

阿克伦

我们可以用 rank

sort(y)[rank(x)]
[1] 1 5 4
sort(y1)[rank(x1)]
[1] 2 6 8 5 6 4

或者orderorder

> sort(y)[order(order(x))]
[1] 1 5 4
> sort(y1)[order(order(x1))]
[1] 2 6 8 5 6 4

数据

x <- c(1, 5, 2)
y <- c(4, 5, 1)
x1 <- c(1, 5, 7, 3, 4, 2)
y1 <- c(4, 5, 6, 2, 6, 8)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JAVA使用.compareTo对向量进行排序并通过填充另一个向量

如何对向量进行重新排序,使其与R中另一个向量的顺序匹配?

如何对向量进行排序以使其与另一个向量的距离最短?

排序因子向量与另一个因子向量

如何创建另一个向量的随机向量?

使用 STL 算法根据存储在另一个向量中的权重对向量进行排序

如何在Matlab中使用另一个向量中的值对矩阵进行排序?

用另一个向量对一个向量进行子集

如何通过对另一个向量使用条件来创建新向量?

按另一个顺序对向量重新排序

如何通过另一个向量的值从一个向量中获取值?

如何通过不同的类将一个向量复制到另一个向量

如何从R中的另一个向量中减去一个向量

根据其他向量对一个向量进行排序

推力访问向量元素的另一个向量

检查向量是否包含另一个向量

估计向量标量以逼近另一个向量

根据另一个向量的值创建向量

向量元素是另一个向量Matlab的索引

包含另一个向量的结构向量

另一个向量的历史高点的向量

R quirk:通过另一个向量的装箱值对向量的内容进行归一化

从另一个分配一个向量

如何基于属于另一个向量的一个向量合并向量列表?

Matlab:如何使用另一个向量按其列之一对结构进行排序

通过另一个向量的第一次出现来分割向量

使用另一个向量中的值对向量排序

在没有Lambda函数的C ++中使用另一个向量对向量排序

如何对角矩阵的实部以及另一个矩阵中的对应特征向量进行重新排序?