0
我是一种泡菜。我有多个矩阵,并希望按照前一个矩阵的最后一列对矩阵的第一列进行排序。有任何想法吗?我曾尝试申请,顺序,排序等从一个矩阵中排序数据R中的另一个矩阵
########################################################
######################CODE#########################
### makes indiviual matrix of data ##
## this area would be replaced by read.files
one<-matrix(c(2001,2002,2003,2004,23456, 23567,54321,12345),4,2);
two<-matrix(c(54321,23567,23456,12345,1234,2345,3456,7777),4,2);
three<-matrix(c(3456,7777,2345,1234,5677,6789,6678,6767),4,2);
four<-matrix(c(6678,5677,6767,6789,5555,1111,1112,1113),4,2);
five<-matrix(c(5555,1113,1112,1111,2222,1212,9999,8888),4,2);
#######order all data######################
onea<-one[order(one[,2]),];
twoa<-two[order(two[,1]),];
threea<-three[order(twoa[,2]),]; ####CANT GET THIS PART TO WORK!!!!!
我想要做的排序是三经twoa [,2]
####output looking for:
cbind(onea,twoa,threea)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 2004 12345 12345 7777 7777 6789
[2,] 2001 23456 23456 3456 3456 5677
[3,] 2002 23567 23567 2345 2345 6678
[4,] 2003 54321 54321 1234 1234 6767
以何种方式是不工作?你为什么期望输出? 'twoa [,2]'是相反的顺序,所以当你对'threea'进行排序时,你会颠倒行的顺序。 –
大卫嗨,大卫,如果你看看我已经给出了第二列之一的示例代码是相同的第一列两个等等。然而,这些数字将失序。每个矩阵代表一个新的数据集。我的实验需要的是我从一个已知的值开始,为它分配一个新的数字(一个),然后将一个新的数字分配给一个新的数字。这将使矩阵(两个)。这将重复,直到实验结束(五)。我想跟踪矩阵5的最后一列,并在一个[1,1]中提取与我开始的原始数字相对应的数字。 – Chad