2016-10-24 84 views
0

訂購data.frame的:如何通過自定義逐列索引順序data.table

> df <- data.frame(5:9, 8:4) 
> df 
    X5.9 X8.4 
1 5 8 
2 6 7 
3 7 6 
4 8 5 
5 9 4 
> df[order(df[,2]),] 
    X5.9 X8.4 
5 9 4 
4 8 5 
3 7 6 
2 6 7 
1 5 8 

或列名:

> df[order(df[,"X5.9"]),] 
    X5.9 X8.4 
1 5 8 
2 6 7 
3 7 6 
4 8 5 
5 9 4 

是否有可能實現與數據相同.table和按自定義列名或索引排序?

+3

看一看'setorder':'庫( 「data.table」) setDT(DF) setorder(DF,X5.9)' – ddunn801

+2

或者只是: 'setDT(df,key ='X5.9')' – Jaap

+0

我猜沒有人向你展示按列編號的方式,因爲它不鼓勵/被認爲是一個壞主意。請參閱常見問題解答1.1 https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-faq.html#j-num – Frank

回答

1

我們可以使用setkey

setkey(setDT(df), X5.9)