2014-12-04 44 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)代替。)