2015-10-06 54 views
3

我在想如何在對數據排序後檢索行號。R - 排序後檢索行號

讓我們想象一下我的載體,這是一個:

vec = c("GET FRESH", "EASTENDERS", "WORLD CUP", "SPORT", "DYNASTY") 

,然後我有點

sort(vec) 
[1] "DYNASTY" "EASTENDERS" "GET FRESH" "SPORT"  "WORLD CUP" 

如何,我能得到各種情況下的行號?

 vec   rownumber 
[1,] "DYNASTY" "5"  
[2,] "EASTENDERS" "2"  
[3,] "GET FRESH" "1"  
[4,] "SPORT"  "4"  
[5,] "WORLD CUP" "3" 
+1

而且也許'匹配的list(排序(VEC),VEC)' –

+0

@DavidArenburg在關係的情況下,這可能導致相同的索引。 – akrun

+0

@akrun可能。你的解決方案更好。 –

回答

7

試用index.return=TRUE。它返回排序的值和索引,其可以被轉換爲「data.frame」

data.frame(sort(vec, index.return=TRUE)) 
#   x ix 
#1 DYNASTY 5 
#2 EASTENDERS 2 
#3 GET FRESH 1 
#4  SPORT 4 
#5 WORLD CUP 3 
+1

謝謝!!!!!!!!! – giacomo