gpt4 book ai didi

r - order 函数如何打破 R 中的关系?

转载 作者:行者123 更新时间:2023-12-04 11:53:00 25 4
gpt4 key购买 nike

我在这里阅读了大部分类似的问题,但我仍然很难理解在 order 函数中传递参数是如何打破关系的。

R 文档中介绍的示例表明:

order(x <- c(1,1,3:1,1:4,3), y <- c(9,9:1), z <- c(2,1:9))

返回
[1]  6  5  2  1  7  4 10  8  3  9

但是,当 y 是 x 的“破坏关系”,而 z 是 y 的“破坏关系”时,这意味着什么? x 向量是:
[1] 1 1 3 2 1 1 2 3 4 3

y 向量是:
[1] 9 9 8 7 6 5 4 3 2 1

另外,如果我从第一个函数中消除 z,
order(x <- c(1,1,3:1,1:4,3), y <- c(9,9:1))

它返回:
[1]  6  5  1  2  7  4 10  8  3  9

所以我不清楚 y 向量中的数字如何与 x 中的四个 1、两个 2 和三个 3 的排序相关。我非常感谢您的帮助。谢谢!

最佳答案

让我们来看看

idx <- order(x <- c(1,1,3:1,1:4,3), y <- c(9,9:1), z <- c(2,1:9))
idx;
#[1] 6 5 2 1 7 4 10 8 3 9

首先要注意的是
x[idx]
# [1] 1 1 1 1 2 2 3 3 3 4

所以 idx x 中的订单条目从最小值到最大值。
y 中的值和 z影响如何 order对待关系 x .

取条目 x[5] = 1x[6] = 1 .既然这里有平局, ordery 中的相应位置查找条目,即 y[5] = 6y[6] = 5 .自 y[6] < y[5] , x 中的条目已排序 x[6] < x[5] .

如果在 y 中有平局还有, order将在下一个向量中查找条目 z .这发生在 x[1] = 1x[2] = 2 , 其中两个 y[1] = 9y[2] = 9 .这里 z打破平局,因为 z[2] = 1 < z[1] = 2因此 x[2] < x[1] .

关于r - order 函数如何打破 R 中的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50284990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com