2013-04-10 41 views
2

我有一個表(下),看起來像這樣:排序數值值R

V1 V2 V3 
A  x  0 
A  y  1 
A  z  10 
A  a  11 
A  b  12 
... ... ... 
A  c  2 
A  d  21 
A  e  22 
... ... ... 
A  f  3 

我排序基於與該功能V3此表

sorted.out <- out[order(out$V3), ] 

但是我想在V3的值按照1,2,3,4,...,10,11,12,... 的數字順序,而不是像現在這樣1,10,11,12,...

我該怎麼辦做這個?

當我使用str(out)時,我的V3作爲一個因子變量出現。我應該將其改爲數值可能?

+0

問問你自己爲什麼轉向因子。通常在導入時,列(如果是數字)將按照這種方式導入。單元格中是否存在導致因子轉換的非數字字符? – 2013-04-10 13:29:50

回答

6

嘗試sorted.out <- out[order(as.numeric(as.character(out$V3))), ]

請注意,您必須首先轉換爲character,然後numeric。否則,您可能會根據這些因素結束訂單。