我有以下向量:
X<-c(140,140,130,109,124,114,65,162,150,0)
Y<-c(30.65,6.45,17.74,11.29,3.23,3.23,3.23,8.06,14.52,1.61)
我想要做的是将X中的每个条目分配给Y中的相应条目,然后按X排序。例如,如果我有
J<-c(10,40,20)
K<-c(9,9,2)
我希望它能给我
Jo = (10,20,40)
Ko = (9,2,9)
我如何在R中执行此操作?谢谢你的帮助。
答案 0 :(得分:3)
使用order()
功能:
X <- c(140,140,130,109,124,114,65,162,150,0)
Y <- c(30.65,6.45,17.74,11.29,3.23,3.23,3.23,8.06,14.52,1.61)
ord <- order(X)
(X2 <- X[ord])
## [1] 0 65 109 114 124 130 140 140 150 162
(Y2 <- Y[ord])
## [1] 1.61 3.23 11.29 3.23 3.23 17.74 30.65 6.45 14.52 8.06
(如果您先重新订购Y,则不需要保存ord
;可以使用Y2 <- Y[order(X)]; X2 <- sort(X)
代替。