我有2个载体,
x <- c (1,4,6,7,9,2)
y <- c (2,6,5,1,8,9)
我想对x和y进行排序。 y取决于x。我想要的结果是
x = (1,2,4,6,7,9)
y = (2,9,6,5,1,8)
我知道我可以将x排序索引为
sort(x, index.return=TRUE)$ix
如何对矢量y进行排序?
答案 0 :(得分:3)
我们可以将其用作索引
i1 <- sort(x, index.return=TRUE)$ix
或order
i1 <- order(x)
x[i1]
#[1] 1 2 4 6 7 9
y[i1]
#[1] 2 9 6 5 1 8
答案 1 :(得分:3)
您正在寻找order()
。它根据向量中的值生成索引。使用此索引,您可以对y
向量
y[order(x)]
# [1] 2 9 6 5 1 8
但是,请确保向量具有相同的长度。否则将生成NA
s
x <- c (1,4,6,7,9,2,3)
y <- c (2,6,5,1,8,9)
y[order(x)]
# [1] 2 9 NA 6 5 1 8
或某些值将丢失
x <- c (1,4,6,7,9,2)
y <- c (2,6,5,1,8,9,3)
y[order(x)]
# [1] 2 9 6 5 1 8