我有两个向量X和Y.所以我想按升序排序X并将X与对应的Y对。这里X和Y具有相同数量的元素。
有任何帮助吗?感谢。
答案 0 :(得分:5)
您可以使用order
,例如:
X <- c(1,4,2,4,5)
Y <- c(9,3,2,3,4)
X.sorted <- X[order(X)]
Y.sorted <- Y[order(X)]
答案 1 :(得分:1)
双胞胎的回答应该有效。一个建议(我评论,但我的代表太低了)是,如果向量非常大,存储订单可能更有效,而不是计算两次:
i = order(X)
X.sorted = X[i]
Y.sorted = Y[i]
rm(i) #clean up
(我不确定R是如何缓存函数结果的,如果有的话,但是即使使用twin的代码,R也可能在内部执行此操作。)
听起来您可能希望这些数据向量更明确地链接,在这种情况下,将其编码并将其作为单个数据框处理可能是一种好习惯:
d = data.frame(X=X,Y=Y)
d.sorted = d[order(d$X),]