2014-12-04 51 views
2

我有以下的载体:排序对协调

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中做到这一点?谢谢您的帮助。

回答

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 

(并不真的需要保存ord如果重新阶Y第一;可以使用Y2 <- Y[order(X)]; X2 <- sort(X)代替。)