2014-09-21 58 views
-4

我有一個data.table DT與一列是數字,當我使用命令功能:排序沒有嚴格的分層方式完成 - R的

dt <- dt[order(column)] 

結果是有序的像:

1,100,101,...,,9 901

代替:

1,2,3,4,...

爲了正確訂購此欄,我應該怎麼做。

+3

我無法重現該問題。 'set.seed(42); dt < - data.table(Col1 = sample(1:200),Col2 = rnorm(200)); dt [order(Col1)]'檢查該列是否爲'character'類。如果我將代碼更改爲'dt < - data.table(Col1 = as.character(sample(1:200)),Col2 = rnorm(200))',我會得到與您相似的結果。 – akrun 2014-09-21 12:56:37

回答

0

正如akrun所說,顯然那些元素不是數字。包含數字的字符串與歸類爲numeric的對象之間有區別。