恢复矢量/矩阵的原始顺序在r中

问题描述:

所以我有一个矢量恢复矢量/矩阵的原始顺序在r中

> A<-c(19:30,1:5,6,100:80) 

然后我用

> A<-sort(A,index.return=T) 
> valueA<-A$x 
> indexA<-A$ix 

排序的矢量,并得到一个矢量指出的值。然后,我对valueA进行了一些算术运算,它需要先对它进行排序,现在我想按照A最初所在的顺序(它保存在向量indexA中)放置新值。

这是一回事吗?某种“恢复”或“解除排序”或其他?我试过四处寻找,看起来有些东西很接近,但要么不对,要么我不理解。

谢谢。

您希望base功能order

ord <- order(A) 
A <- A[ord] #same as sort(A) 
#do stuff, then revert 
A <- A[order(ord)] 
+0

我花了一下'-1 * ord + max(ord)+ 1',现在我觉得很笨。谢谢米) – Jemus42 2017-05-22 05:28:24