恢复矢量/矩阵的原始顺序在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)]
我花了一下'-1 * ord + max(ord)+ 1',现在我觉得很笨。谢谢米) – Jemus42 2017-05-22 05:28:24